mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Refine SrsTcpClient timeout in time unit
This commit is contained in:
parent
e9770933a6
commit
61afca7160
10 changed files with 46 additions and 23 deletions
|
@ -220,7 +220,7 @@ srs_error_t SrsHttpClient::connect()
|
|||
return err;
|
||||
}
|
||||
|
||||
transport = new SrsTcpClient(host, port, timeout);
|
||||
transport = new SrsTcpClient(host, port, srs_utime_t(timeout * SRS_UTIME_MILLISECONDS));
|
||||
if ((err = transport->connect()) != srs_success) {
|
||||
disconnect();
|
||||
return srs_error_wrap(err, "http: tcp connect %s:%d to=%d", host.c_str(), port, (int)timeout);
|
||||
|
|
|
@ -65,7 +65,7 @@ srs_error_t SrsBasicRtmpClient::connect()
|
|||
|
||||
close();
|
||||
|
||||
transport = new SrsTcpClient(req->host, req->port, connect_timeout);
|
||||
transport = new SrsTcpClient(req->host, req->port, srs_utime_t(connect_timeout * SRS_UTIME_MILLISECONDS));
|
||||
client = new SrsRtmpClient(transport);
|
||||
kbps->set_io(transport, transport);
|
||||
|
||||
|
|
|
@ -104,12 +104,11 @@ srs_thread_t srs_thread_self()
|
|||
return (srs_thread_t)st_thread_self();
|
||||
}
|
||||
|
||||
// TODO: FXIME: Refine tm in time unit.
|
||||
srs_error_t srs_socket_connect(string server, int port, int64_t tm, srs_netfd_t* pstfd)
|
||||
srs_error_t srs_socket_connect(string server, int port, srs_utime_t tm, srs_netfd_t* pstfd)
|
||||
{
|
||||
st_utime_t timeout = ST_UTIME_NO_TIMEOUT;
|
||||
if (tm != SRS_UTIME_NO_TIMEOUT) {
|
||||
timeout = (st_utime_t)(tm * 1000);
|
||||
timeout = tm;
|
||||
}
|
||||
|
||||
*pstfd = NULL;
|
||||
|
@ -416,7 +415,7 @@ srs_error_t SrsStSocket::writev(const iovec *iov, int iov_size, ssize_t* nwrite)
|
|||
return err;
|
||||
}
|
||||
|
||||
SrsTcpClient::SrsTcpClient(string h, int p, int64_t tm)
|
||||
SrsTcpClient::SrsTcpClient(string h, int p, srs_utime_t tm)
|
||||
{
|
||||
stfd = NULL;
|
||||
io = new SrsStSocket();
|
||||
|
@ -441,7 +440,7 @@ srs_error_t SrsTcpClient::connect()
|
|||
|
||||
srs_assert(stfd == NULL);
|
||||
if ((err = srs_socket_connect(host, port, timeout, &stfd)) != srs_success) {
|
||||
return srs_error_wrap(err, "tcp: connect %s:%d to=%d", host.c_str(), port, (int)timeout);
|
||||
return srs_error_wrap(err, "tcp: connect %s:%d to=%dms", host.c_str(), port, srsu2msi(timeout));
|
||||
}
|
||||
|
||||
if ((err = io->initialize(stfd)) != srs_success) {
|
||||
|
|
|
@ -53,8 +53,8 @@ extern void srs_socket_reuse_addr(int fd);
|
|||
extern srs_thread_t srs_thread_self();
|
||||
|
||||
// client open socket and connect to server.
|
||||
// @param tm The timeout in ms.
|
||||
extern srs_error_t srs_socket_connect(std::string server, int port, int64_t tm, srs_netfd_t* pstfd);
|
||||
// @param tm The timeout in srs_utime_t.
|
||||
extern srs_error_t srs_socket_connect(std::string server, int port, srs_utime_t tm, srs_netfd_t* pstfd);
|
||||
|
||||
// Wrap for coroutine.
|
||||
extern srs_cond_t srs_cond_new();
|
||||
|
@ -149,7 +149,7 @@ public:
|
|||
* The client to connect to server over TCP.
|
||||
* User must never reuse the client when close it.
|
||||
* Usage:
|
||||
* SrsTcpClient client("127.0.0.1", 1935,9000);
|
||||
* SrsTcpClient client("127.0.0.1", 1935, 9 * SRS_UTIME_SECONDS);
|
||||
* client.connect();
|
||||
* client.write("Hello world!", 12, NULL);
|
||||
* client.read(buf, 4096, NULL);
|
||||
|
@ -163,16 +163,16 @@ private:
|
|||
private:
|
||||
std::string host;
|
||||
int port;
|
||||
// The timeout in ms.
|
||||
int64_t timeout;
|
||||
// The timeout in srs_utime_t.
|
||||
srs_utime_t timeout;
|
||||
public:
|
||||
/**
|
||||
* Constructor.
|
||||
* @param h the ip or hostname of server.
|
||||
* @param p the port to connect to.
|
||||
* @param tm the timeout in ms.
|
||||
* @param tm the timeout in srs_utime_t.
|
||||
*/
|
||||
SrsTcpClient(std::string h, int p, int64_t tm);
|
||||
SrsTcpClient(std::string h, int p, srs_utime_t tm);
|
||||
virtual ~SrsTcpClient();
|
||||
public:
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue