Mercurial > hg > nginx
view conf/win-utf @ 7584:9d2ad2fb4423
SSL: available bytes handling (ticket #1431).
Added code to track number of bytes available in the socket.
This makes it possible to avoid looping for a long time while
working with fast enough peer when data are added to the socket buffer
faster than we are able to read and process data.
When kernel does not provide number of bytes available, it is
retrieved using ioctl(FIONREAD) as long as a buffer is filled by
SSL_read().
It is assumed that number of bytes returned by SSL_read() is close
to the number of bytes read from the socket, as we do not use
SSL compression. But even if it is not true for some reason, this
is not important, as we post an additional reading event anyway.
Note that data can be buffered at SSL layer, and it is not possible
to simply stop reading at some point and wait till the event will
be reported by the kernel again. This can be only done when there
are no data in SSL buffers, and there is no good way to find out if
it's the case.
Instead of trying to figure out if SSL buffers are empty, this patch
introduces events posted for the next event loop iteration - such
events will be processed only on the next event loop iteration,
after going into the kernel and retrieving additional events. This
seems to be simple and reliable approach.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 17 Oct 2019 16:02:24 +0300 |
parents | 63a820b0bc6c |
children |
line wrap: on
line source
# This map is not a full windows-1251 <> utf8 map: it does not # contain Serbian and Macedonian letters. If you need a full map, # use contrib/unicode2nginx/win-utf map instead. charset_map windows-1251 utf-8 { 82 E2809A ; # single low-9 quotation mark 84 E2809E ; # double low-9 quotation mark 85 E280A6 ; # ellipsis 86 E280A0 ; # dagger 87 E280A1 ; # double dagger 88 E282AC ; # euro 89 E280B0 ; # per mille 91 E28098 ; # left single quotation mark 92 E28099 ; # right single quotation mark 93 E2809C ; # left double quotation mark 94 E2809D ; # right double quotation mark 95 E280A2 ; # bullet 96 E28093 ; # en dash 97 E28094 ; # em dash 99 E284A2 ; # trade mark sign A0 C2A0 ; # A1 D18E ; # capital Byelorussian short U A2 D19E ; # small Byelorussian short u A4 C2A4 ; # currency sign A5 D290 ; # capital Ukrainian soft G A6 C2A6 ; # borken bar A7 C2A7 ; # section sign A8 D081 ; # capital YO A9 C2A9 ; # (C) AA D084 ; # capital Ukrainian YE AB C2AB ; # left-pointing double angle quotation mark AC C2AC ; # not sign AD C2AD ; # soft hypen AE C2AE ; # (R) AF D087 ; # capital Ukrainian YI B0 C2B0 ; # ° B1 C2B1 ; # plus-minus sign B2 D086 ; # capital Ukrainian I B3 D196 ; # small Ukrainian i B4 D291 ; # small Ukrainian soft g B5 C2B5 ; # micro sign B6 C2B6 ; # pilcrow sign B7 C2B7 ; # · B8 D191 ; # small yo B9 E28496 ; # numero sign BA D194 ; # small Ukrainian ye BB C2BB ; # right-pointing double angle quotation mark BF D197 ; # small Ukrainian yi C0 D090 ; # capital A C1 D091 ; # capital B C2 D092 ; # capital V C3 D093 ; # capital G C4 D094 ; # capital D C5 D095 ; # capital YE C6 D096 ; # capital ZH C7 D097 ; # capital Z C8 D098 ; # capital I C9 D099 ; # capital J CA D09A ; # capital K CB D09B ; # capital L CC D09C ; # capital M CD D09D ; # capital N CE D09E ; # capital O CF D09F ; # capital P D0 D0A0 ; # capital R D1 D0A1 ; # capital S D2 D0A2 ; # capital T D3 D0A3 ; # capital U D4 D0A4 ; # capital F D5 D0A5 ; # capital KH D6 D0A6 ; # capital TS D7 D0A7 ; # capital CH D8 D0A8 ; # capital SH D9 D0A9 ; # capital SHCH DA D0AA ; # capital hard sign DB D0AB ; # capital Y DC D0AC ; # capital soft sign DD D0AD ; # capital E DE D0AE ; # capital YU DF D0AF ; # capital YA E0 D0B0 ; # small a E1 D0B1 ; # small b E2 D0B2 ; # small v E3 D0B3 ; # small g E4 D0B4 ; # small d E5 D0B5 ; # small ye E6 D0B6 ; # small zh E7 D0B7 ; # small z E8 D0B8 ; # small i E9 D0B9 ; # small j EA D0BA ; # small k EB D0BB ; # small l EC D0BC ; # small m ED D0BD ; # small n EE D0BE ; # small o EF D0BF ; # small p F0 D180 ; # small r F1 D181 ; # small s F2 D182 ; # small t F3 D183 ; # small u F4 D184 ; # small f F5 D185 ; # small kh F6 D186 ; # small ts F7 D187 ; # small ch F8 D188 ; # small sh F9 D189 ; # small shch FA D18A ; # small hard sign FB D18B ; # small y FC D18C ; # small soft sign FD D18D ; # small e FE D18E ; # small yu FF D18F ; # small ya }