Commit Graph

22 Commits

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