Commit Graph

7 Commits

Author SHA1 Message Date
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 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 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 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