• [译]curl_multi_add_handle


    NAME
    curl_multi_add_handle - add an easy handle to a multi session
    添加easy handle到multi session中

    SYNOPSIS
    #include <curl/curl.h>
    CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL *easy_handle);


    DESCRIPTION
    Adds a standard easy handle to the multi stack. This function call will make this multi_handle control the specified easy_handle.
    添加一个标准的easy handle到Multi stack中。

    While an easy handle is added to a multi stack, you can not and you must not use curl_easy_perform on that handle. After having removed the easy handle from the multi stack again, it is perfectly fine to use it with the easy interface again.
    当一个easy handle被添加到multi stack中,你不能再对这个easy handle使用curl_esay_perform。
    当这个easy handle被从multi stack中移除,又可以再次对这个easy handle使用esay_curl接口了。

    If the easy handle is not set to use a shared (CURLOPT_SHARE) or global DNS cache (CURLOPT_DNS_USE_GLOBAL_CACHE), it will be made to use the DNS cache that is shared between all easy handles within the multi handle when curl_multi_add_handle is called.
    当调用curl_multi_add_handle时,如果easy handle没有设置使用shared (CURLOPT_SHARE),或者全局DNS缓存(CURLOPT_DNS_USE_GLOBAL_CACHE),
    则会使用multi handle中的share的dns缓存。
    ------------------------------------------------------------------------------------------------------------------------------

    When an easy interface is added to a multi handle, it will use a shared connection cache owned by the multi handle. Removing and adding new easy handles will not affect the pool of connections or the ability to do connection re-use.
    当一个新的easy handle被加入到multi handle中,他会使用一个multi handle缓存的shared连接。
    移除和添加easy handle不会影响连接池或者连接复用。

    If you have CURLMOPT_TIMERFUNCTION set in the multi handle (and you really should if you're working event-based with curl_multi_socket_action and friends), that callback will be called from within this function to ask for an updated timer so that your main event loop will get the activity on this handle to get started.
    如果multi handle设置了CURLMOPT_TIMERFUNCTION(如果你使用curl_multi_socket_action,应该设置),
    回调函数会被触发

    The easy handle will remain added to the multi handle until you remove it again with curl_multi_remove_handle - even when a transfer with that specific easy handle is completed.

    You should remove the easy handle from the multi stack before you terminate first the easy handle and then the multi handle:

    1 - curl_multi_remove_handle

    2 - curl_easy_cleanup

    3 - curl_multi_cleanup

    RETURN VALUE

    CURLMcode type, general libcurl multi interface error code.

  • 相关阅读:
    再战设计模式(九)之组合模式
    再战设计模式(八)之桥接模式
    再战设计模式(七)之代理模式
    nyoj 题目2 括号配对问题
    剑指offer 面试题38
    杭电 1005
    九度oj 题目1552:座位问题
    九度oj 题目1482:玛雅人的密码 清华大学机试
    九度oj 题目1496:数列区间
    九度oj 题目1495:关键点
  • 原文地址:https://www.cnblogs.com/solohac/p/4311289.html
Copyright © 2020-2023  润新知