适配ZLToolKit(更新定时器)

This commit is contained in:
xiongziliang
2019-01-30 17:00:28 +08:00
parent cc7556b5a8
commit b5ea9fac08
12 changed files with 42 additions and 18 deletions

View File

@@ -153,7 +153,7 @@ void RtspPlayer::onConnect(const SockException &err){
strongSelf->onPlayResult_l(SockException(Err_timeout,"play rtsp timeout"));
strongSelf->teardown();
return false;
},getExecutor()));
},getPoller()));
}
void RtspPlayer::onRecv(const Buffer::Ptr& pBuf) {
@@ -352,7 +352,7 @@ void RtspPlayer::handleResSETUP(const Parser &parser, unsigned int uiTrackIndex)
return false;
}
return strongSelf->sendOptions();
},getExecutor()));
},getPoller()));
pause(false);
}
@@ -603,7 +603,7 @@ void RtspPlayer::onPlayResult_l(const SockException &ex) {
return false;
}
return true;
},getExecutor()));
},getPoller()));
}
onPlayResult(ex);
}

View File

@@ -70,19 +70,42 @@ static unordered_map<string, weak_ptr<RtspSession> > g_mapGetter;
//对g_mapGetter上锁保护
static recursive_mutex g_mtxGetter;
//rtsp会话个数统计
static recursive_mutex g_mtxSessionCounter;
static unordered_map<string,atomic<uint32_t > > g_mapSessionCounter;
static int kSockFlags = SOCKET_DEFAULE_FLAGS | FLAG_MORE;
uint32_t RtspSession::getSessionCountOnInterface(const string &ifr){
lock_guard<recursive_mutex> lck(g_mtxSessionCounter);
if(ifr.empty()){
int i = 0;
for(auto &pr : g_mapSessionCounter){
i += pr.second;
}
return i;
}
return g_mapSessionCounter[ifr];
}
RtspSession::RtspSession(const Socket::Ptr &pSock) : TcpSession(pSock) {
//设置10秒发送缓存
pSock->setSendBufSecond(10);
pSock->setSendBufSecond(30);
//设置15秒发送超时时间
pSock->setSendTimeOutSecond(15);
pSock->setSendTimeOutSecond(45);
DebugL << get_peer_ip();
lock_guard<recursive_mutex> lck(g_mtxSessionCounter);
++(g_mapSessionCounter[get_local_ip()]);
}
RtspSession::~RtspSession() {
DebugL << get_peer_ip();
lock_guard<recursive_mutex> lck(g_mtxSessionCounter);
--(g_mapSessionCounter[get_local_ip()]);
}
void RtspSession::onError(const SockException& err) {

View File

@@ -28,6 +28,7 @@
#define SESSION_RTSPSESSION_H_
#include <set>
#include <atomic>
#include <vector>
#include <unordered_map>
#include "Util/util.h"
@@ -79,6 +80,7 @@ public:
void onRecv(const Buffer::Ptr &pBuf) override;
void onError(const SockException &err) override;
void onManager() override;
static uint32_t getSessionCountOnInterface(const string &ifr);
protected:
//RtspSplitter override
/**