mirror of
https://github.com/ossrs/srs.git
synced 2025-02-13 20:01:56 +00:00
For #1657, refine code
This commit is contained in:
parent
5709ee1b63
commit
32c1832d64
5 changed files with 39 additions and 20 deletions
|
@ -143,6 +143,9 @@ srs_error_t SrsAppCasterFlv::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessa
|
||||||
|
|
||||||
SrsDynamicHttpConn::SrsDynamicHttpConn(ISrsResourceManager* cm, srs_netfd_t fd, SrsHttpServeMux* m, string cip, int cport)
|
SrsDynamicHttpConn::SrsDynamicHttpConn(ISrsResourceManager* cm, srs_netfd_t fd, SrsHttpServeMux* m, string cip, int cport)
|
||||||
{
|
{
|
||||||
|
// Create a identify for this client.
|
||||||
|
_srs_context->set_id(_srs_context->generate_id());
|
||||||
|
|
||||||
manager = cm;
|
manager = cm;
|
||||||
sdk = NULL;
|
sdk = NULL;
|
||||||
pprint = SrsPithyPrint::create_caster();
|
pprint = SrsPithyPrint::create_caster();
|
||||||
|
|
|
@ -1676,6 +1676,9 @@ srs_error_t SrsGoApiTcmalloc::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMess
|
||||||
|
|
||||||
SrsHttpApi::SrsHttpApi(bool https, ISrsResourceManager* cm, srs_netfd_t fd, SrsHttpServeMux* m, string cip, int port)
|
SrsHttpApi::SrsHttpApi(bool https, ISrsResourceManager* cm, srs_netfd_t fd, SrsHttpServeMux* m, string cip, int port)
|
||||||
{
|
{
|
||||||
|
// Create a identify for this client.
|
||||||
|
_srs_context->set_id(_srs_context->generate_id());
|
||||||
|
|
||||||
manager = cm;
|
manager = cm;
|
||||||
skt = new SrsTcpConnection(fd);
|
skt = new SrsTcpConnection(fd);
|
||||||
|
|
||||||
|
@ -1703,20 +1706,22 @@ srs_error_t SrsHttpApi::on_start()
|
||||||
{
|
{
|
||||||
srs_error_t err = srs_success;
|
srs_error_t err = srs_success;
|
||||||
|
|
||||||
srs_utime_t starttime = srs_update_system_time();
|
|
||||||
string crt_file = _srs_config->get_https_api_ssl_cert();
|
|
||||||
string key_file = _srs_config->get_https_api_ssl_key();
|
|
||||||
if (ssl && (err = ssl->handshake(key_file, crt_file)) != srs_success) {
|
|
||||||
return srs_error_wrap(err, "handshake");
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((err = conn->set_jsonp(true)) != srs_success) {
|
if ((err = conn->set_jsonp(true)) != srs_success) {
|
||||||
return srs_error_wrap(err, "set jsonp");
|
return srs_error_wrap(err, "set jsonp");
|
||||||
}
|
}
|
||||||
|
|
||||||
int cost = srsu2msi(srs_update_system_time() - starttime);
|
if (ssl) {
|
||||||
srs_trace("https: api server done, use key %s and cert %s, cost=%dms",
|
srs_utime_t starttime = srs_update_system_time();
|
||||||
key_file.c_str(), crt_file.c_str(), cost);
|
string crt_file = _srs_config->get_https_api_ssl_cert();
|
||||||
|
string key_file = _srs_config->get_https_api_ssl_key();
|
||||||
|
if ((err = ssl->handshake(key_file, crt_file)) != srs_success) {
|
||||||
|
return srs_error_wrap(err, "handshake");
|
||||||
|
}
|
||||||
|
|
||||||
|
int cost = srsu2msi(srs_update_system_time() - starttime);
|
||||||
|
srs_trace("https: api server done, use key %s and cert %s, cost=%dms",
|
||||||
|
key_file.c_str(), crt_file.c_str(), cost);
|
||||||
|
}
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
|
@ -305,6 +305,9 @@ void SrsHttpConn::expire()
|
||||||
|
|
||||||
SrsResponseOnlyHttpConn::SrsResponseOnlyHttpConn(bool https, ISrsResourceManager* cm, srs_netfd_t fd, ISrsHttpServeMux* m, string cip, int port)
|
SrsResponseOnlyHttpConn::SrsResponseOnlyHttpConn(bool https, ISrsResourceManager* cm, srs_netfd_t fd, ISrsHttpServeMux* m, string cip, int port)
|
||||||
{
|
{
|
||||||
|
// Create a identify for this client.
|
||||||
|
_srs_context->set_id(_srs_context->generate_id());
|
||||||
|
|
||||||
manager = cm;
|
manager = cm;
|
||||||
skt = new SrsTcpConnection(fd);
|
skt = new SrsTcpConnection(fd);
|
||||||
|
|
||||||
|
@ -373,16 +376,18 @@ srs_error_t SrsResponseOnlyHttpConn::on_start()
|
||||||
{
|
{
|
||||||
srs_error_t err = srs_success;
|
srs_error_t err = srs_success;
|
||||||
|
|
||||||
srs_utime_t starttime = srs_update_system_time();
|
if (ssl) {
|
||||||
string crt_file = _srs_config->get_https_stream_ssl_cert();
|
srs_utime_t starttime = srs_update_system_time();
|
||||||
string key_file = _srs_config->get_https_stream_ssl_key();
|
string crt_file = _srs_config->get_https_stream_ssl_cert();
|
||||||
if (ssl && (err = ssl->handshake(key_file, crt_file)) != srs_success) {
|
string key_file = _srs_config->get_https_stream_ssl_key();
|
||||||
return srs_error_wrap(err, "handshake");
|
if ((err = ssl->handshake(key_file, crt_file)) != srs_success) {
|
||||||
}
|
return srs_error_wrap(err, "handshake");
|
||||||
|
}
|
||||||
|
|
||||||
int cost = srsu2msi(srs_update_system_time() - starttime);
|
int cost = srsu2msi(srs_update_system_time() - starttime);
|
||||||
srs_trace("https: stream server done, use key %s and cert %s, cost=%dms",
|
srs_trace("https: stream server done, use key %s and cert %s, cost=%dms",
|
||||||
key_file.c_str(), crt_file.c_str(), cost);
|
key_file.c_str(), crt_file.c_str(), cost);
|
||||||
|
}
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,6 +106,9 @@ SrsClientInfo::~SrsClientInfo()
|
||||||
|
|
||||||
SrsRtmpConn::SrsRtmpConn(SrsServer* svr, srs_netfd_t c, string cip, int cport)
|
SrsRtmpConn::SrsRtmpConn(SrsServer* svr, srs_netfd_t c, string cip, int cport)
|
||||||
{
|
{
|
||||||
|
// Create a identify for this client.
|
||||||
|
_srs_context->set_id(_srs_context->generate_id());
|
||||||
|
|
||||||
server = svr;
|
server = svr;
|
||||||
|
|
||||||
stfd = c;
|
stfd = c;
|
||||||
|
@ -117,7 +120,7 @@ SrsRtmpConn::SrsRtmpConn(SrsServer* svr, srs_netfd_t c, string cip, int cport)
|
||||||
clk = new SrsWallClock();
|
clk = new SrsWallClock();
|
||||||
kbps = new SrsKbps(clk);
|
kbps = new SrsKbps(clk);
|
||||||
kbps->set_io(skt, skt);
|
kbps->set_io(skt, skt);
|
||||||
trd = new SrsSTCoroutine("rtmp", this);
|
trd = new SrsSTCoroutine("rtmp", this, _srs_context->get_id());
|
||||||
|
|
||||||
rtmp = new SrsRtmpServer(skt);
|
rtmp = new SrsRtmpServer(skt);
|
||||||
refer = new SrsRefer();
|
refer = new SrsRefer();
|
||||||
|
|
|
@ -1608,6 +1608,9 @@ srs_error_t SrsServer::fd_to_resource(SrsListenerType type, srs_netfd_t stfd, IS
|
||||||
return srs_error_new(ERROR_SYSTEM_PID_SET_FILE_INFO, "fcntl F_SETFD error! fd=%d", fd);
|
return srs_error_new(ERROR_SYSTEM_PID_SET_FILE_INFO, "fcntl F_SETFD error! fd=%d", fd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// The context id may change during creating the bellow objects.
|
||||||
|
SrsContextRestore(_srs_context->get_id());
|
||||||
|
|
||||||
if (type == SrsListenerRtmpStream) {
|
if (type == SrsListenerRtmpStream) {
|
||||||
*pr = new SrsRtmpConn(this, stfd, ip, port);
|
*pr = new SrsRtmpConn(this, stfd, ip, port);
|
||||||
|
|
Loading…
Reference in a new issue