1 #ifndef TGCALLS_STATS_H 2 #define TGCALLS_STATS_H 3 4 namespace tgcalls { 5 6 enum class CallStatsConnectionEndpointType { 7 ConnectionEndpointP2P = 0, 8 ConnectionEndpointTURN = 1 9 }; 10 11 struct CallStatsNetworkRecord { 12 int32_t timestamp = 0; 13 CallStatsConnectionEndpointType endpointType = CallStatsConnectionEndpointType::ConnectionEndpointP2P; 14 bool isLowCost = false; 15 }; 16 17 struct CallStatsBitrateRecord { 18 int32_t timestamp = 0; 19 int32_t bitrate = 0; 20 }; 21 22 struct CallStats { 23 std::string outgoingCodec; 24 std::vector<CallStatsNetworkRecord> networkRecords; 25 std::vector<CallStatsBitrateRecord> bitrateRecords; 26 }; 27 28 } // namespace tgcalls 29 30 #endif 31