docs: do not start lines/sentences with So, But nor And

Closes #12802
This commit is contained in:
Daniel Stenberg 2024-01-26 10:19:30 +01:00
parent 92f8a1686d
commit 440bc97e4c
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2
6 changed files with 36 additions and 16 deletions

View File

@ -28,6 +28,7 @@ isation:ization
it's:it is
there's:there is
[^.]\. And: Rewrite it somehow?
^(And|So|But) = Rewrite it somehow?
\. But: Rewrite it somehow?
file name :filename
\. So : Rewrite without "so" ?

View File

@ -115,11 +115,18 @@ Note that a `bufq` length and it being "full" are only loosely related. A simple
* read 1 bytes from it, it will still report "full"
* read 999 more bytes from it, and it will no longer be "full"
The reason for this is that full really means: *bufq uses max_chunks and the last one cannot be written to*.
The reason for this is that full really means: *bufq uses max_chunks and the
last one cannot be written to*.
So when you read 1 byte from the head chunk in the example above, the head still hold 999 unread bytes. Only when those are also read, can the head chunk be removed and a new tail be added.
When you read 1 byte from the head chunk in the example above, the head still
hold 999 unread bytes. Only when those are also read, can the head chunk be
removed and a new tail be added.
There is another variation to this. If you initialized a `bufq` with option `BUFQ_OPT_SOFT_LIMIT`, it will allow writes **beyond** the `max_chunks`. It will report **full**, but one can **still** write. This option is necessary, if partial writes need to be avoided. But it means that you will need other checks to keep the `bufq` from growing ever larger and larger.
There is another variation to this. If you initialized a `bufq` with option
`BUFQ_OPT_SOFT_LIMIT`, it will allow writes **beyond** the `max_chunks`. It
will report **full**, but one can **still** write. This option is necessary,
if partial writes need to be avoided. It means that you will need other checks
to keep the `bufq` from growing ever larger and larger.
## pools

View File

@ -1,16 +1,26 @@
# curl connection filters
Connection filters is a design in the internals of curl, not visible in its public API. They were added
in curl v7.87.0. This document describes the concepts, its high level implementation and the motivations.
Connection filters is a design in the internals of curl, not visible in its
public API. They were added in curl v7.87.0. This document describes the
concepts, its high level implementation and the motivations.
## Filters
A "connection filter" is a piece of code that is responsible for handling a range of operations
of curl's connections: reading, writing, waiting on external events, connecting and closing down - to name the most important ones.
A "connection filter" is a piece of code that is responsible for handling a
range of operations of curl's connections: reading, writing, waiting on
external events, connecting and closing down - to name the most important
ones.
The most important feat of connection filters is that they can be stacked on top of each other (or "chained" if you prefer that metaphor). In the common scenario that you want to retrieve a `https:` url with curl, you need 2 basic things to send the request and get the response: a TCP connection, represented by a `socket` and a SSL instance en- and decrypt over that socket. You write your request to the SSL instance, which encrypts and writes that data to the socket, which then sends the bytes over the network.
The most important feat of connection filters is that they can be stacked on
top of each other (or "chained" if you prefer that metaphor). In the common
scenario that you want to retrieve a `https:` URL with curl, you need 2 basic
things to send the request and get the response: a TCP connection, represented
by a `socket` and a SSL instance en- and decrypt over that socket. You write
your request to the SSL instance, which encrypts and writes that data to the
socket, which then sends the bytes over the network.
With connection filters, curl's internal setup will look something like this (cf for connection filter):
With connection filters, curl's internal setup will look something like this
(cf for connection filter):
```
Curl_easy *data connectdata *conn cf-ssl cf-socket
@ -27,7 +37,7 @@ While connection filters all do different things, they look the same from the "o
Same is true for filters. Each filter has a pointer to the `next` filter. When SSL has encrypted the data, it does not write to a socket, it writes to the next filter. If that is indeed a socket, or a file, or an HTTP/2 connection is of no concern to the SSL filter.
And this allows the stacking, as in:
This allows stacking, as in:
```
Direct:
@ -210,7 +220,9 @@ conn[curl.se] --> SETUP[QUIC] --> HAPPY-EYEBALLS --> HTTP/3[2a04:4e42:c00::347]:
* transfer
```
And when we plug these two variants together, we get the `HTTPS-CONNECT` filter type that is used for `--http3` when **both** HTTP/3 and HTTP/2 or HTTP/1.1 shall be attempted:
When we plug these two variants together, we get the `HTTPS-CONNECT` filter
type that is used for `--http3` when **both** HTTP/3 and HTTP/2 or HTTP/1.1
shall be attempted:
```
* create connection for --http3 https://curl.se

View File

@ -888,7 +888,7 @@ command line similar to:
curl telnet://remote.example.com
And enter the data to pass to the server on stdin. The result will be sent to
Enter the data to pass to the server on stdin. The result will be sent to
stdout or to the file you specify with `-o`.
You might want the `-N`/`--no-buffer` option to switch off the buffered output

View File

@ -7,7 +7,7 @@ protocols and it is the Internet transfer machine for the world.
In the curl project we love protocols and we love supporting many protocols
and doing it well.
So how do you proceed to add a new protocol and what are the requirements?
How do you proceed to add a new protocol and what are the requirements?
## No fixed set of requirements

View File

@ -8,15 +8,15 @@ Provide a list with three different names like this:
"http://site.{one,two,three}.com"
or you can get sequences of alphanumeric series by using [] as in:
Do sequences of alphanumeric series by using [] as in:
"ftp://ftp.example.com/file[1-100].txt"
And with leading zeroes:
With leading zeroes:
"ftp://ftp.example.com/file[001-100].txt"
Or with letters through the alphabet:
With letters through the alphabet:
"ftp://ftp.example.com/file[a-z].txt"