Commit Graph

16 Commits

Author SHA1 Message Date
Andrey Borodin 76ec3581a1
Use pg_lrand48 for portability (#48) 2019-01-30 14:30:31 +05:00
Dmitry Simonenko 2e03af9c88 odyssey: major router and shared logic rework
Goal is to improve overall performance during massive peaks
of connecting clients.

This patch makes router a shared structure, instead of
being run in separate system worker thread/coroutine.

Now router and each route object is protected by
separate mutex. Worker threads directly access router object
without calls to separate thread.
2018-12-06 17:23:15 +03:00
Dmitry Simonenko 11dce290c3 odyssey: implement config file reload. fix #38 2018-09-18 19:22:22 +03:00
Dmitry Simonenko da7e6ea7a5 odyssey: major io rework and refactoring
This patch moves Odyssey from stream based write caching
to message driven. All write operations are delayed
and happen on a group of messages.

This removes necessity to do IO and wait for write completion during calls
from SSL_write() context. Write timings should behave more predictable now and
number of used syscalls should be also decreased.

This patch also simplifies caching management. All clients are simply
reusing cached messages without prolonged contention.

Several configuration options are no longer used:
pipeline, cache, cache_chunk
2018-08-28 17:43:46 +03:00
Dmitry Simonenko 5ca3fa926a odyssey: update source file headers 2018-04-04 16:19:58 +03:00
Dmitry Simonenko 38430a9d51 odyssey: remove config versioning 2018-03-21 17:36:57 +03:00
Dmitry Simonenko f108dcba09 odyssey: project rename 2018-03-12 17:03:15 +03:00
Dmitry Simonenko bb826db7e8 odissey: major scheme rework, rename it to config 2018-03-06 18:23:52 +03:00
Dmitry Simonenko 25ec1a27eb odissey: add stream_cache 2018-02-12 16:27:06 +03:00
Dmitry Simonenko b0635265a1 odissey: move is_shared logic to instance domain 2018-02-02 16:44:47 +03:00
Dmitry Simonenko f28b38bc1a odissey: major logger rework 2017-07-26 17:05:29 +03:00
Dmitry Simonenko 794b8b9f16 odissey: implement configuration file reload logic 2017-07-19 14:29:23 +03:00
Dmitry Simonenko f89c577412 odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
Dmitry Simonenko d02e2c20be odissey: configuration parser major rework 2017-07-12 17:09:48 +03:00
Dmitry Simonenko 8283a2d665 odissey: update banners 2017-07-05 15:42:49 +03:00
Dmitry Simonenko 9e096b96b2 odissey: rework file naming and include path 2017-07-05 15:15:17 +03:00