kirill reshke
01f3c036b7
Update tls certs in test, regenerate them with 4096 bytes length, move test to docker ( #374 )
...
* Update tls certs in test, regenerate them with 4096 bytes length
* Fix compile errors
* Fix tests
2021-12-05 20:41:01 +05:00
kirill reshke
c4878697ee
fix formatting & apply fmt target in MAkefiel ( #251 )
...
Co-authored-by: reshke <Kirill Reshke>
2020-12-28 16:22:53 +05:00
Daniil Zakhlystov
222da0c70a
Implement libpq compression ( #230 )
...
* Add zlib and zstd to cmake
* Add zpq_stream to machinarium
--
zpq_stream is used for streaming compression/decompression of Postgres protocol
* Add zpq_stream-related functions to machinarium
* Add compression set/free/read/write logic to machinarium
* Add startup packet compression var to kiwi
* Add compression_ack backend message support for kiwi
* Add compression setup logic for main odyssey project
* apply fmt
* fix format #2
Co-authored-by: root <root@ubuntu-build-machine.ru-central1.internal>
2020-11-23 13:22:17 +05:00
reshke
f030093484
use SO_REUSEPORT to graceful shutdown
2020-08-10 13:39:09 +05:00
Georgy Rylov
c25c5bd050
Applying clang-format with saving indentations ( #140 )
...
* applying clang-format with saving indentations
* rebase
2020-04-02 16:00:56 +05:00
Andrey Borodin
6776e43134
Try to stop TLS handshakes on shutdown
2020-03-23 18:14:18 +05:00
Andrey Borodin
c4b7a3cc18
Use one tls cts per thread
2020-02-24 15:18:35 +05:00
Andrey Borodin
b2d75b0b3c
Coverity scan results ( #119 )
...
A lot of small fixes for small bugs of various severity
2020-02-18 18:05:02 +05:00
Andrey Borodin
59857936cd
Fix ignoring of SIGPIPE
2019-12-18 14:32:36 +05:00
Andrey Borodin
eb7299748d
Implement login timeout
2019-12-02 18:28:39 +05:00
Andrey Borodin
f43ac71d26
Optimize clocks
2019-12-02 18:19:44 +05:00
Andrey Borodin
e053d76b16
Use only one TLS context per machine
...
Previously we recreated TLS context. This could cause extre files being
read during TLS handshake.
2019-11-11 10:31:52 +03:00
Dmitry Simonenko
c6542d7003
odyssey: post merge fixes
2019-09-27 16:47:45 +03:00
Andrey Borodin
7681160dd1
Avoid private inclusion ( fix #67 )
2019-08-23 09:45:35 +05:00
Dmitry Simonenko
1dc7f58c73
odyssey: fix warning and misc fixes
2019-08-08 17:39:13 +03:00
Andrey Borodin
13bd4f1998
Fix slow test
2019-07-31 14:56:45 +05:00
Andrey Borodin
770e242e72
Add few sleeplock test
2019-07-31 14:17:46 +05:00
Dmitry Simonenko
af015839b0
machinarium: fix readers race in fast_channel implementation
2019-03-12 19:39:46 +03:00
Dmitry Simonenko
6c0a1f09f8
odyssey: major rework of io architecture
...
This patch intend is to improve overall io performance, reduce
cpu and system usage.
Machinarium:
IO read/write logic is highly simplified and now based on conditions
instead of previously made internal readahead buffer and msg
queues. This allows to give user more control over io operations and
avoid doing undesired readahead copying.
Above that, TLS implementation reworked to use async logic instead of
separate BIO layer.
Direct pooling functions removed.
New objects machine_cond_t and machine_iov_t objects.
Odyssey:
Introduced readahead, io and relay objects.
Relay allows to connect two io handles for direct data retransmission
without double copying.
Removed configuration options no longer needed:
packet_read_size, packet_write_queue
2019-01-23 18:43:52 +03:00
Dmitry Simonenko
c4f383ccfb
odyssey: introduce pool_discard configuration parameter
2018-12-11 12:57:52 +03:00
Dmitry Simonenko
c61c1e81f7
machinarium: rework msg_cache/coroutine_cache per machine thread
2018-11-19 17:52:37 +03:00
Dmitry Simonenko
14d4a7f478
odyssey: add cache_msg_gc_size option and disable default caching
2018-09-26 18:18:17 +03:00
Dmitry Simonenko
366f9b5312
odyssey: fix machinarium stat tests
2018-09-05 16:08:29 +03:00
Dmitry Simonenko
5e1e96987c
odyssey: update stat tests
2018-08-30 17:24:07 +03:00
Dmitry Simonenko
c84fde8da7
odyssey: update tests
2018-08-23 15:16:21 +03:00
Dmitry Simonenko
c4e06c165c
odyssey: major tests upgrade for new machinarium io api
2018-08-23 12:29:19 +03:00
Dmitry Simonenko
f77d7ccf02
odyssey: set nodelay for tls_read_var test
2018-08-15 14:57:32 +03:00
Dmitry Simonenko
ef5fd84fb8
machinarium: implement machine_eventfd()
2018-07-17 17:22:09 +03:00
Dmitry Simonenko
d614f87109
machinarium: add unix sockets tests (+ tls)
2018-06-28 15:26:36 +03:00
Dmitry Simonenko
4759630e2e
odyssey: make -Wgnu-folding-constant happy
2018-06-13 18:56:59 +03:00
Dmitry Simonenko
f3d5fb7327
machinarium: send chunks in test_tls_read_multithread
2018-06-07 15:17:33 +03:00
Dmitry Simonenko
838aad609d
machinarium: add multi-threaded tls read/write test
2018-06-07 15:11:30 +03:00
Dmitry Simonenko
7e636b9139
machinarium: support openssl >= 1.1.*. fix #17
2018-06-07 14:43:06 +03:00
Dmitry Simonenko
675030834d
odyssey: add variadic buffer size read/write test using tls
2018-05-15 15:43:42 +03:00
Dmitry Simonenko
af4a2a4c80
odyssey: add variadic buffer size read/write test
2018-05-15 15:13:44 +03:00
Dmitry Simonenko
2b458a3599
odyssey: add leftover test/machinarium/test_client_server2.c
2018-04-24 17:52:32 +03:00
Dmitry Simonenko
e53d90bbf0
odyssey: integrate machinarium tests into test suite
2018-04-04 17:35:50 +03:00