1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

SRT: Wrap SRT stat object.

This commit is contained in:
winlin 2022-06-07 20:24:43 +08:00
parent 78b778fb93
commit 94cc50d146
3 changed files with 87 additions and 21 deletions

View file

@ -15,6 +15,8 @@
#include <srt/srt.h>
class SrsSrtSocket;
// Create srt socket only, with libsrt's default option.
extern srs_error_t srs_srt_socket(SRTSOCKET* pfd);
@ -62,9 +64,26 @@ extern srs_error_t srs_srt_get_local_ip_port(SRTSOCKET srt_fd, std::string& ip,
extern srs_error_t srs_srt_get_remote_ip_port(SRTSOCKET srt_fd, std::string& ip, int& port);
// Get SRT stats.
extern srs_error_t srs_srt_get_stats(SRTSOCKET srt_fd, SRT_TRACEBSTATS* srt_stats, bool clear);
class SrsSrtSocket;
class SrsSrtStat
{
private:
void* stat_;
public:
SrsSrtStat();
virtual ~SrsSrtStat();
public:
int64_t pktRecv();
int pktRcvLoss();
int pktRcvRetrans();
int pktRcvDrop();
public:
int64_t pktSent();
int pktSndLoss();
int pktRetrans();
int pktSndDrop();
public:
srs_error_t fetch(SRTSOCKET srt_fd, bool clear);
};
// Srt poller, subscribe/unsubscribed events and wait them fired.
class SrsSrtPoller