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

Timer: Extract shared FastTimer to use one timer for all connections

This commit is contained in:
winlin 2021-04-23 11:04:05 +08:00
parent 7bdc9e8e96
commit 7b413edbb7
4 changed files with 218 additions and 63 deletions

View file

@ -49,11 +49,12 @@ public:
};
// The hybrid server manager.
class SrsHybridServer : public ISrsHourGlass
class SrsHybridServer : public ISrsFastTimer
{
private:
std::vector<ISrsHybridServer*> servers;
SrsHourGlass* timer_;
SrsFastTimer* timer_;
SrsClockWallMonitor* clock_monitor_;
public:
SrsHybridServer();
virtual ~SrsHybridServer();
@ -65,10 +66,10 @@ public:
virtual void stop();
public:
virtual SrsServerAdapter* srs();
// interface ISrsHourGlass
SrsFastTimer* timer();
// interface ISrsFastTimer
private:
virtual srs_error_t setup_ticks();
virtual srs_error_t notify(int event, srs_utime_t interval, srs_utime_t tick);
srs_error_t on_timer(srs_utime_t interval, srs_utime_t tick);
};
extern SrsHybridServer* _srs_hybrid;