odyssey/sources
Dmitry Simonenko 10b87a88aa odissey: update sources/README.md 2017-07-17 13:38:28 +03:00
..
CMakeLists.txt odissey: configuration parser major rework 2017-07-12 17:09:48 +03:00
README.md odissey: update sources/README.md 2017-07-17 13:38:28 +03:00
auth.c odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
auth.h odissey: update banners 2017-07-05 15:42:49 +03:00
backend.c odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
backend.h odissey: major shapito api update 2017-07-06 16:36:14 +03:00
cancel.c odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
cancel.h odissey: major shapito api update 2017-07-06 16:36:14 +03:00
client.h odissey: major shapito api update 2017-07-06 16:36:14 +03:00
client_pool.c odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
client_pool.h odissey: update banners 2017-07-05 15:42:49 +03:00
config.c odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
config.h odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
console.c odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
console.h odissey: update banners 2017-07-05 15:42:49 +03:00
daemon.c odissey: update banners 2017-07-05 15:42:49 +03:00
daemon.h odissey: update banners 2017-07-05 15:42:49 +03:00
frontend.c odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
frontend.h odissey: update banners 2017-07-05 15:42:49 +03:00
id.c odissey: update banners 2017-07-05 15:42:49 +03:00
id.h odissey: update banners 2017-07-05 15:42:49 +03:00
instance.c odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
instance.h odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
io.c odissey: major shapito api update 2017-07-06 16:36:14 +03:00
io.h odissey: major shapito api update 2017-07-06 16:36:14 +03:00
list.h odissey: update banners 2017-07-05 15:42:49 +03:00
log.c odissey: minor fixes 2017-07-06 16:56:17 +03:00
log.h odissey: update banners 2017-07-05 15:42:49 +03:00
macro.h odissey: update banners 2017-07-05 15:42:49 +03:00
main.c odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
msg.h odissey: update banners 2017-07-05 15:42:49 +03:00
parser.h odissey: allocate each string parameter separately 2017-07-13 15:32:05 +03:00
periodic.c odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
periodic.h odissey: update banners 2017-07-05 15:42:49 +03:00
pid.c odissey: update banners 2017-07-05 15:42:49 +03:00
pid.h odissey: update banners 2017-07-05 15:42:49 +03:00
pooler.c odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
pooler.h odissey: update banners 2017-07-05 15:42:49 +03:00
relay.c odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
relay.h odissey: update banners 2017-07-05 15:42:49 +03:00
relay_pool.c odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
relay_pool.h odissey: update banners 2017-07-05 15:42:49 +03:00
route.h odissey: update banners 2017-07-05 15:42:49 +03:00
route_id.h odissey: update banners 2017-07-05 15:42:49 +03:00
route_pool.c odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
route_pool.h odissey: update banners 2017-07-05 15:42:49 +03:00
router.c odissey: match storage and db scheme by version 2017-07-14 16:55:01 +03:00
router.h odissey: update banners 2017-07-05 15:42:49 +03:00
scheme.c odissey: match storage and db scheme by version 2017-07-14 16:55:01 +03:00
scheme.h odissey: match storage and db scheme by version 2017-07-14 16:55:01 +03:00
scheme_mgr.h odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
server.h odissey: major shapito api update 2017-07-06 16:36:14 +03:00
server_pool.c odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
server_pool.h odissey: update banners 2017-07-05 15:42:49 +03:00
syslog.c odissey: update banners 2017-07-05 15:42:49 +03:00
syslog.h odissey: update banners 2017-07-05 15:42:49 +03:00
system.h odissey: update banners 2017-07-05 15:42:49 +03:00
tls.c odissey: add scheme manager; first attempt to make scheme versional 2017-07-14 16:40:31 +03:00
tls.h odissey: update banners 2017-07-05 15:42:49 +03:00
version.h.cmake odissey: update banners 2017-07-05 15:42:49 +03:00

README.md

Odissey internals

Odissey heavily depends on two libraries, which were originally created during its development: Machinarium and Shapito.

Machinarium

Machinarium extensively used for organization of multi-thread processing and networking IO. All Odissey threads are run in context of machinarium machines - pthreads with coroutine schedulers placed on top of epoll(2).

Odissey does not directly use or create multi-tasking primitives such as mutexes. All synchronization is done using message passing and transparently implemented by machinarium.

Repository: github/machinarium

Shapito

Shapito provides resizable buffers (streams) and methods for constructing, reading and validating PostgreSQL protocol requests. All PostgreSQL specific details should be provided by Shapito library.

Repository: github/shapito.