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

Reply via email to