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>
* @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);
+
/**
* @}
*/
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)
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),