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