1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-13 03:41:55 +00:00

Refine SrsTcpClient.timeout in time unit.

This commit is contained in:
winlin 2019-04-18 07:43:51 +08:00
parent feb34ed225
commit 5505eceeac
3 changed files with 13 additions and 14 deletions

View file

@ -46,7 +46,7 @@ using namespace std;
#define SRS_HTTP_BODY_BUFFER (32 * 1024) #define SRS_HTTP_BODY_BUFFER (32 * 1024)
// the timeout for hls notify, in ms. // the timeout for hls notify, in ms.
#define SRS_HLS_NOTIFY_TMMS (10 * SRS_UTIME_SECONDS) #define SRS_HLS_NOTIFY_TIMEOUT (10 * SRS_UTIME_SECONDS)
SrsHttpHooks::SrsHttpHooks() SrsHttpHooks::SrsHttpHooks()
{ {
@ -371,7 +371,7 @@ srs_error_t SrsHttpHooks::on_hls_notify(int cid, std::string url, SrsRequest* re
} }
SrsHttpClient http; SrsHttpClient http;
if ((err = http.initialize(uri.get_host(), uri.get_port(), SRS_HLS_NOTIFY_TMMS)) != srs_success) { if ((err = http.initialize(uri.get_host(), uri.get_port(), SRS_HLS_NOTIFY_TIMEOUT)) != srs_success) {
return srs_error_wrap(err, "http: init client for %s", url.c_str()); return srs_error_wrap(err, "http: init client for %s", url.c_str());
} }

View file

@ -54,8 +54,7 @@ SrsHttpClient::~SrsHttpClient()
srs_freep(parser); srs_freep(parser);
} }
// TODO: FIXME: use ms for timeout. srs_error_t SrsHttpClient::initialize(string h, int p, srs_utime_t tm)
srs_error_t SrsHttpClient::initialize(string h, int p, int64_t tm)
{ {
srs_error_t err = srs_success; srs_error_t err = srs_success;
@ -220,15 +219,15 @@ srs_error_t SrsHttpClient::connect()
return err; return err;
} }
transport = new SrsTcpClient(host, port, srs_utime_t(timeout * SRS_UTIME_MILLISECONDS)); transport = new SrsTcpClient(host, port, timeout);
if ((err = transport->connect()) != srs_success) { if ((err = transport->connect()) != srs_success) {
disconnect(); disconnect();
return srs_error_wrap(err, "http: tcp connect %s:%d to=%d", host.c_str(), port, (int)timeout); return srs_error_wrap(err, "http: tcp connect %s:%d to=%dms", host.c_str(), port, srsu2msi(timeout));
} }
// Set the recv/send timeout in ms. // Set the recv/send timeout in srs_utime_t.
transport->set_recv_timeout(timeout * SRS_UTIME_MILLISECONDS); transport->set_recv_timeout(timeout);
transport->set_send_timeout(timeout * SRS_UTIME_MILLISECONDS); transport->set_send_timeout(timeout);
kbps->set_io(transport, transport); kbps->set_io(transport, transport);

View file

@ -41,7 +41,7 @@ class SrsWallClock;
class SrsTcpClient; class SrsTcpClient;
// the default timeout for http client. // the default timeout for http client.
#define SRS_HTTP_CLIENT_TMMS (30*1000) #define SRS_HTTP_CLIENT_TIMEOUT (30 * SRS_UTIME_SECONDS)
/** /**
* The client to GET/POST/PUT/DELETE over HTTP. * The client to GET/POST/PUT/DELETE over HTTP.
@ -63,8 +63,8 @@ private:
SrsKbps* kbps; SrsKbps* kbps;
SrsWallClock* clk; SrsWallClock* clk;
private: private:
// The timeout in ms. // The timeout in srs_utime_t.
int64_t timeout; srs_utime_t timeout;
// The host name or ip. // The host name or ip.
std::string host; std::string host;
int port; int port;
@ -74,10 +74,10 @@ public:
public: public:
/** /**
* Initliaze the client, disconnect the transport, renew the HTTP parser. * Initliaze the client, disconnect the transport, renew the HTTP parser.
* @param tm The underlayer TCP transport timeout in ms. * @param tm The underlayer TCP transport timeout in srs_utime_t.
* @remark we will set default values in headers, which can be override by set_header. * @remark we will set default values in headers, which can be override by set_header.
*/ */
virtual srs_error_t initialize(std::string h, int p, int64_t tm = SRS_HTTP_CLIENT_TMMS); virtual srs_error_t initialize(std::string h, int p, srs_utime_t tm = SRS_HTTP_CLIENT_TIMEOUT);
/** /**
* Set HTTP request header in header[k]=v. * Set HTTP request header in header[k]=v.
* @return the HTTP client itself. * @return the HTTP client itself.