this should be done for the efl_net_dialer_http object as well, with the legacy api just calling that, not bypassing and getting curl_easy directly
On Mon, Mar 26, 2018 at 8:15 PM, Arnaud Ferraris <arnaud.ferra...@gmail.com> wrote: > cedric pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=fcadb546401aea56c6ef2b257903ad06fe9f28ce > > commit fcadb546401aea56c6ef2b257903ad06fe9f28ce > Author: Arnaud Ferraris <arnaud.ferra...@gmail.com> > Date: Mon Mar 26 16:01:50 2018 -0700 > > 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 <ced...@osg.samsung.com> > --- > src/lib/ecore_con/Ecore_Con.h | 17 +++++++++++++++++ > src/lib/ecore_con/ecore_con_url.c | 28 ++++++++++++++++++++++++++++ > src/lib/ecore_con/ecore_con_url_curl.h | 2 ++ > 3 files changed, 47 insertions(+) > > diff --git a/src/lib/ecore_con/Ecore_Con.h b/src/lib/ecore_con/Ecore_Con.h > index e5916b1b69..d5d6758acb 100644 > --- a/src/lib/ecore_con/Ecore_Con.h > +++ b/src/lib/ecore_con/Ecore_Con.h > @@ -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); > + > /** > * @} > */ > diff --git a/src/lib/ecore_con/ecore_con_url.c > b/src/lib/ecore_con/ecore_con_url.c > index e8ca8c4cdf..6a9d06d582 100644 > --- a/src/lib/ecore_con/ecore_con_url.c > +++ b/src/lib/ecore_con/ecore_con_url.c > @@ -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) > diff --git a/src/lib/ecore_con/ecore_con_url_curl.h > b/src/lib/ecore_con/ecore_con_url_curl.h > index ae79c4c5cb..ed68e5c4f4 100644 > --- a/src/lib/ecore_con/ecore_con_url_curl.h > +++ b/src/lib/ecore_con/ecore_con_url_curl.h > @@ -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), > > -- > > -- Gustavo Sverzut Barbieri -------------------------------------- Mobile: +55 (16) 99354-9890 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel