Commit Graph

6 Commits

Author SHA1 Message Date
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 f77d7ccf02 odyssey: set nodelay for tls_read_var test 2018-08-15 14:57:32 +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