ecore_con_url: implement transfer speed limitation options
Summary: Add MAX_SEND_SPEED & MAX_RECV_SPEED cURL options handling in ecore_con_url. Reviewers: cedric Reviewed By: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D5848 Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
This commit is contained in:
parent
86ae239bae
commit
fcadb54640
|
@ -2366,6 +2366,23 @@ EAPI void ecore_con_url_timeout_set(Ecore_Con_Url *url_con, double timeout);
|
|||
* @since 1.2
|
||||
*/
|
||||
EAPI int ecore_con_url_status_code_get(Ecore_Con_Url *url_con);
|
||||
|
||||
/**
|
||||
* @brief Sets a maximum upload speed.
|
||||
*
|
||||
* @param url_con Connection object
|
||||
* @param max_speed Maximum upload speed, in bytes per second
|
||||
*/
|
||||
EAPI void ecore_con_url_limit_upload_speed(Ecore_Con_Url *url_obj, off_t max_speed);
|
||||
|
||||
/**
|
||||
* @brief Sets a maximum download speed.
|
||||
*
|
||||
* @param url_con Connection object
|
||||
* @param max_speed Maximum download speed, in bytes per second
|
||||
*/
|
||||
EAPI void ecore_con_url_limit_download_speed(Ecore_Con_Url *url_obj, off_t max_speed);
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
|
|
@ -1221,6 +1221,34 @@ ecore_con_url_ftp_use_epsv_set(Ecore_Con_Url *url_con,
|
|||
url_con->ftp_use_epsv = use_epsv;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
ecore_con_url_limit_upload_speed(Ecore_Con_Url *url_con, off_t max_speed)
|
||||
{
|
||||
CURL *curl_easy;
|
||||
|
||||
ECORE_CON_URL_CHECK_RETURN(url_con);
|
||||
EINA_SAFETY_ON_NULL_RETURN(_c);
|
||||
|
||||
curl_easy = efl_net_dialer_http_curl_get(url_con->dialer);
|
||||
EINA_SAFETY_ON_NULL_RETURN(curl_easy);
|
||||
|
||||
_c->curl_easy_setopt(curl_easy, CURLOPT_MAX_SEND_SPEED_LARGE, max_speed);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
ecore_con_url_limit_download_speed(Ecore_Con_Url *url_con, off_t max_speed)
|
||||
{
|
||||
CURL *curl_easy;
|
||||
|
||||
ECORE_CON_URL_CHECK_RETURN(url_con);
|
||||
EINA_SAFETY_ON_NULL_RETURN(_c);
|
||||
|
||||
curl_easy = efl_net_dialer_http_curl_get(url_con->dialer);
|
||||
EINA_SAFETY_ON_NULL_RETURN(curl_easy);
|
||||
|
||||
_c->curl_easy_setopt(curl_easy, CURLOPT_MAX_RECV_SPEED_LARGE, max_speed);
|
||||
}
|
||||
|
||||
/* LEGACY: proxy */
|
||||
EAPI Eina_Bool
|
||||
ecore_con_url_proxy_password_set(Ecore_Con_Url *url_con, const char *password)
|
||||
|
|
|
@ -268,6 +268,8 @@ typedef enum
|
|||
CINIT(INFILESIZE_LARGE, OFF_T, 115),
|
||||
CINIT(POSTFIELDSIZE_LARGE, OFF_T, 120),
|
||||
CINIT(COOKIELIST, OBJECTPOINT, 135),
|
||||
CINIT(MAX_SEND_SPEED_LARGE, OFF_T, 145),
|
||||
CINIT(MAX_RECV_SPEED_LARGE, OFF_T, 146),
|
||||
CINIT(OPENSOCKETFUNCTION, FUNCTIONPOINT, 163),
|
||||
CINIT(OPENSOCKETDATA, OBJECTPOINT, 164),
|
||||
CINIT(CRLFILE, STRINGPOINT, 169),
|
||||
|
|
Loading…
Reference in New Issue