Commit Graph

111 Commits

Author SHA1 Message Date
Dmitry Simonenko 7f275249f2 machinarium: define queue api 2017-05-22 14:01:58 +03:00
Dmitry Simonenko e732471a4b machinarium: detach channel reader after call return 2017-05-19 15:57:57 +03:00
Dmitry Simonenko d51534fd0b machinarium: add channel tests 2017-05-19 15:27:50 +03:00
Dmitry Simonenko ed10ceeb5b machinarium: fix libssl initialization leak 2017-05-19 15:07:38 +03:00
Dmitry Simonenko 57665b9529 machinarium: introduce channel api 2017-05-19 14:47:48 +03:00
Dmitry Simonenko a644602cd5 machinarium: implement channels: per-fiber msg passing ipc 2017-05-19 14:40:18 +03:00
Dmitry Simonenko 90cbc44014 machinarium: introduce msg api 2017-05-19 14:17:58 +03:00
Dmitry Simonenko 9740e070ba machinarium: implement msg pool 2017-05-19 14:12:00 +03:00
Dmitry Simonenko 93520571fd machinarium: downgrade libssl bindings impl from 1.1 to 1.0 2017-05-18 16:56:22 +03:00
Dmitry Simonenko 7f61db76a0 machinarium: scheduler and context refactoring 2017-05-18 15:07:16 +03:00
Dmitry Simonenko eb64355f77 machinarium: support pthreads by cmake 2017-05-18 14:03:00 +03:00
Dmitry Simonenko dbbc7687d5 machinarium: simplify call interface; refactoring 2017-05-18 13:43:43 +03:00
Dmitry Simonenko bc6462e2a9 machinarium: remove machine ref from io 2017-05-18 13:31:25 +03:00
Dmitry Simonenko 5a49eaf0a4 machinarium: remove data arg from scheduler_init() 2017-05-18 13:27:10 +03:00
Dmitry Simonenko 8e15e7ccdd machinarium: make api object_method specific 2017-05-18 13:18:25 +03:00
Dmitry Simonenko 8019fc5eac machinarium: implement basic machine manager 2017-05-18 12:50:28 +03:00
Dmitry Simonenko c1d7c58bc6 machinarium: add name to machine_create(); use it as a thread name 2017-05-17 17:35:55 +03:00
Dmitry Simonenko e89110d87d machinarium: make machines run in separate threads 2017-05-17 17:20:04 +03:00
Dmitry Simonenko b0589196e0 machinarium: add basic thread implementation 2017-05-17 17:18:01 +03:00
Dmitry Simonenko 93646e25b9 machinarium: rename mm_t into mm_machine_t 2017-05-17 14:49:52 +03:00
Dmitry Simonenko 74397d02e2 machinarium: rename context function type 2017-05-17 14:43:14 +03:00
Dmitry Simonenko 80062433fe machinarium: add valgrind support 2017-05-16 17:31:01 +03:00
Dmitry Simonenko baa03e2680 machinarium: expose context structure 2017-05-16 16:58:06 +03:00
Dmitry Simonenko 614923d2a5 machnarium: do not pass main context pointer 2017-05-16 16:49:58 +03:00
Dmitry Simonenko c3be82a715 machinarium: context: use ret instead of popq/jmpq 2017-05-16 16:47:08 +03:00
Dmitry Simonenko 9638fc9f4d machinarium: implement custom stack switch for x86/x86-64 2017-05-16 16:27:46 +03:00
Dmitry Simonenko 7340a1e61c machinarium: separate fiber stack from context 2017-05-16 15:07:55 +03:00
Dmitry Simonenko a92434071d machinarium: remove libcoro and temporary switch to ucontext 2017-05-16 14:50:45 +03:00
Dmitry Simonenko cb588f4973 machinarium: build static library by default 2017-05-15 15:32:13 +03:00
Dmitry Simonenko ac30023f1e machinarium: fix readahead callback read status 2017-04-21 14:52:16 +03:00
Dmitry Simonenko ee52bd22d7 machinarium: sort timers after removal 2017-04-21 13:28:36 +03:00
Dmitry Simonenko 40500d578a machinarium: include limits.h in machinarium.h 2017-04-20 15:18:09 +03:00
Dmitry Simonenko e619cbf266 machinarium: turn readahead back on 2017-04-20 15:12:41 +03:00
Dmitry Simonenko a4ec75820d machinarium: implement fast call stub 2017-04-20 15:08:56 +03:00
Dmitry Simonenko c60340d6cb machinarium: major rework of fiber operation call logic 2017-04-20 14:56:47 +03:00
Dmitry Simonenko ea3ef72118 machinarium: remove return value from fd callback 2017-04-19 16:38:00 +03:00
Dmitry Simonenko bd74e1f6bb machinarium: try to do one syscall during poller callback 2017-04-18 16:05:17 +03:00
Dmitry Simonenko 7807f860ea machinarium: rework readahead support 2017-04-18 15:02:28 +03:00
Dmitry Simonenko 259fc79315 machinarium: do optimistic io call before polling 2017-04-17 16:16:35 +03:00
Dmitry Simonenko 771f8e3141 machinarium: remove leftovers 2017-04-14 18:04:20 +03:00
Dmitry Simonenko b4818c0148 machinarium: make machine_read() readahead-less version 2017-04-14 17:53:55 +03:00
Dmitry Simonenko b182b930ce machinarium: use correct fiber in machine_write() cb 2017-04-14 17:50:02 +03:00
Dmitry Simonenko c630877d90 machinarium: implement machine_accept_timedout() 2017-04-13 22:46:35 +03:00
Dmitry Simonenko c435fc3640 machinarium: make name resolution work; enable tls 2017-04-13 22:41:18 +03:00
Dmitry Simonenko 6301d72b3a machinarium: properly setup accepted client io 2017-04-13 21:36:17 +03:00
Dmitry Simonenko 53bcf195b0 machinarium: support machine_accept() timeout 2017-04-13 21:10:42 +03:00
Dmitry Simonenko c932b593f7 machinarium: implement machine_accept() 2017-04-13 21:08:21 +03:00
Dmitry Simonenko 8eda2208ef machinarium: make typedef of coroutine function 2017-04-13 20:35:49 +03:00
Dmitry Simonenko ed2e975ea3 machinarium: add more read tests 2017-04-12 16:23:55 +03:00
Dmitry Simonenko 46ad1cc0df machinarium: switch machine_read() to new event loop impl 2017-04-12 16:22:41 +03:00