)]}'
{"src/helper/time_support.c":[{"author":{"_account_id":1002286,"name":"Grant Ramsay","email":"grant.ramsay@hotmail.com","username":"gramsay0"},"change_message_id":"8640436315cbbc513b77fa3f3270e5c94e5eac0d","unresolved":true,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"float duration_kbps(const struct duration *duration, size_t count)"},{"line_number":101,"context_line":"{"},{"line_number":102,"context_line":"\treturn count / (1024 * duration_elapsed(duration));"},{"line_number":103,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"5e5eaaa8_40848bcb","line":102,"range":{"start_line":102,"start_character":1,"end_line":102,"end_character":52},"updated":"2026-06-15 23:40:55.000000000","message":"This needs a divide by zero check","commit_id":"a8142df2fcc63bfdddc17d3a9a3274a91d73a23e"},{"author":{"_account_id":1002286,"name":"Grant Ramsay","email":"grant.ramsay@hotmail.com","username":"gramsay0"},"change_message_id":"10dfdd1cf345370988316d2d3e4e2f3f75a60605","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"float duration_kbps(const struct duration *duration, size_t count)"},{"line_number":101,"context_line":"{"},{"line_number":102,"context_line":"\treturn count / (1024 * duration_elapsed(duration));"},{"line_number":103,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"5e92b1d2_630ba124","line":102,"range":{"start_line":102,"start_character":1,"end_line":102,"end_character":52},"in_reply_to":"05e8379b_e205d33e","updated":"2026-06-16 08:24:17.000000000","message":"This is a bit of a nitpick so approving anyway.\nI was thinking `if (elapsed_ms \u003d\u003d 0) elapsed_ms \u003d 1;`\nThis could prevent log messages like \"transferred 1 byte (infkbps)\" now that everything is truncated to 1ms resolution","commit_id":"a8142df2fcc63bfdddc17d3a9a3274a91d73a23e"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"433d9c704341d620c0ab468e8d059044966f64d9","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"float duration_kbps(const struct duration *duration, size_t count)"},{"line_number":101,"context_line":"{"},{"line_number":102,"context_line":"\treturn count / (1024 * duration_elapsed(duration));"},{"line_number":103,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"05e8379b_e205d33e","line":102,"range":{"start_line":102,"start_character":1,"end_line":102,"end_character":52},"in_reply_to":"5e5eaaa8_40848bcb","updated":"2026-06-16 07:06:18.000000000","message":"Yep, you are right!\nThanks for your review!","commit_id":"a8142df2fcc63bfdddc17d3a9a3274a91d73a23e"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"894bb21ac01c69c67ab55f6f5eb074e1e76a7f73","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"float duration_kbps(const struct duration *duration, size_t count)"},{"line_number":101,"context_line":"{"},{"line_number":102,"context_line":"\treturn count / (1024 * duration_elapsed(duration));"},{"line_number":103,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"d4c0e3cf_756db5bc","line":102,"range":{"start_line":102,"start_character":1,"end_line":102,"end_character":52},"in_reply_to":"5e92b1d2_630ba124","updated":"2026-06-16 08:41:24.000000000","message":"You are right.\nAnd I don\u0027t want to change all the output to put a space between `inf` and `kbps`.\nHaving an approximate huge number is better than `inf`.","commit_id":"a8142df2fcc63bfdddc17d3a9a3274a91d73a23e"}],"src/helper/time_support.h":[{"author":{"_account_id":1002286,"name":"Grant Ramsay","email":"grant.ramsay@hotmail.com","username":"gramsay0"},"change_message_id":"97bf16b3adaee6a7b766c66d5aafb5c55595a828","unresolved":false,"context_lines":[{"line_number":25,"context_line":"int timeval_add_time(struct timeval *result, long sec, long usec);"},{"line_number":26,"context_line":"int timeval_compare(const struct timeval *x, const struct timeval *y);"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"/** @returns gettimeofday() timeval as 64-bit in ms */"},{"line_number":29,"context_line":"int64_t timeval_ms(void);"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"struct duration {"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"67a09bf1_f64fb407","line":28,"range":{"start_line":28,"start_character":13,"end_line":28,"end_character":27},"updated":"2026-06-15 23:17:01.000000000","message":"Not part of these changes, but this function comment needs updating too","commit_id":"a8142df2fcc63bfdddc17d3a9a3274a91d73a23e"}]}
