MCPcopy Create free account
hub / github.com/ccusage/ccusage / apply_total_token_fallback

Function apply_total_token_fallback

rust/crates/ccusage/src/utils.rs:21–37  ·  view source on GitHub ↗
(
    mut usage: TokenUsageRaw,
    mut extra_total_tokens: u64,
    total_tokens: u64,
)

Source from the content-addressed store, hash-verified

19}
20
21pub(crate) fn apply_total_token_fallback(
22 mut usage: TokenUsageRaw,
23 mut extra_total_tokens: u64,
24 total_tokens: u64,
25) -> (TokenUsageRaw, u64) {
26 let known_tokens = total_usage_tokens(usage).saturating_add(extra_total_tokens);
27 let missing_tokens = total_tokens.saturating_sub(known_tokens);
28 if missing_tokens == 0 {
29 return (usage, extra_total_tokens);
30 }
31 if usage.output_tokens == 0 {
32 usage.output_tokens = missing_tokens;
33 } else {
34 extra_total_tokens = extra_total_tokens.saturating_add(missing_tokens);
35 }
36 (usage, extra_total_tokens)
37}
38
39#[cfg(test)]
40mod tests {

Callers 14

build_eventFunction · 0.85
parse_usage_objectFunction · 0.85
message_value_to_entryFunction · 0.85
to_candidateFunction · 0.85
message_value_to_entryFunction · 0.85
parse_token_usageFunction · 0.85
parse_ledger_eventsFunction · 0.85
parse_message_usageFunction · 0.85
parse_lineFunction · 0.85
parse_message_entryFunction · 0.85

Calls 1

total_usage_tokensFunction · 0.85