more blurb
This commit is contained in:
@@ -289,6 +289,40 @@ Persistent Connections
|
|||||||
You do realize that the curl handle must be re-used in order for the
|
You do realize that the curl handle must be re-used in order for the
|
||||||
persistent connections to work.
|
persistent connections to work.
|
||||||
|
|
||||||
|
multi interface/non-blocking
|
||||||
|
============================
|
||||||
|
|
||||||
|
We make an effort to provide a non-blocking interface to the library, the
|
||||||
|
multi interface. To make that interface work as good as possible, no
|
||||||
|
low-level functions within libcurl must be written to work in a blocking
|
||||||
|
manner.
|
||||||
|
|
||||||
|
One of the primary reasons we introduced c-ares support was to allow the name
|
||||||
|
resolve phase to be perfectly non-blocking as well.
|
||||||
|
|
||||||
|
The ultimate goal is to provide the easy interface simply by wrapping the
|
||||||
|
multi interface functions and thus treat everything internally as the multi
|
||||||
|
interface is the single interface we have.
|
||||||
|
|
||||||
|
The FTP and the SFTP/SCP protocols are thus perfect examples of how we adapt
|
||||||
|
and adjust the code to allow non-blocking operations even on multi-stage
|
||||||
|
protocols. The DICT, TELNET and TFTP are crappy examples and they are subject
|
||||||
|
for rewrite in the future to better fit the libcurl protocol family.
|
||||||
|
|
||||||
|
SSL libraries
|
||||||
|
=============
|
||||||
|
|
||||||
|
Originally libcurl supported SSLeay for SSL/TLS transports, but that was then
|
||||||
|
extended to its successor OpenSSL but has since also been extended to several
|
||||||
|
other SSL/TLS libraries and we expect and hope to further extend the support
|
||||||
|
in future libcurl versions.
|
||||||
|
|
||||||
|
To deal with this internally in the best way possible, we have a generic SSL
|
||||||
|
function API as provided by the sslgen.[ch] system, and they are the only SSL
|
||||||
|
functions we must use from within libcurl. sslgen is then crafted to use the
|
||||||
|
appropriate lower-level function calls to whatever SSL library that is in
|
||||||
|
use.
|
||||||
|
|
||||||
Library Symbols
|
Library Symbols
|
||||||
===============
|
===============
|
||||||
|
|
||||||
@@ -312,6 +346,13 @@ Return Codes and Informationals
|
|||||||
them. They are best used when revealing information that isn't otherwise
|
them. They are best used when revealing information that isn't otherwise
|
||||||
obvious.
|
obvious.
|
||||||
|
|
||||||
|
API/ABI
|
||||||
|
=======
|
||||||
|
|
||||||
|
We make an effort to not export or show internals or how internals work, as
|
||||||
|
that makes it easier to keep a solid API/ABI over time. See docs/libcurl/ABI
|
||||||
|
for our promise to users.
|
||||||
|
|
||||||
Client
|
Client
|
||||||
======
|
======
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user