Commit Graph

42 Commits

Author SHA1 Message Date
Kristóf Tóth ca613644ac Implement thread-safe, blocking Deque class for reopen consistency 2019-05-02 23:14:08 +02:00
Kristóf Tóth daabc6dd8e Add support for reopening closed pipes with consistency guarantees 2019-05-02 23:07:32 +02:00
Kristóf Tóth 33d142ca08 Improve buffer management in pipeReader 2019-04-23 11:59:31 +02:00
Kristóf Tóth 7f08e01f39 Improve handling of buffer size in Go client 2019-04-17 17:07:42 +02:00
Kristóf Tóth 024204e439 Make PipeIOServer API more consistent with clients 2019-04-17 14:10:47 +02:00
Kristóf Tóth d12c9807f5 Implement Python bindings for pipe io client 2019-04-12 15:49:27 +02:00
Kristóf Tóth d28e90862d Refactor client codes to use similar, standardized API 2019-04-12 14:47:10 +02:00
Kristóf Tóth 74e08fd052 Implement C# bindings for pipe io client 2019-04-10 18:14:40 +02:00
Kristóf Tóth 5ff2f6c27d Make PipeIOServer non-blocking 2019-04-10 12:40:51 +02:00
Kristóf Tóth deafc516bd Implement Go bindings for pipe io client 2019-04-09 17:07:46 +02:00
Kristóf Tóth 61eb57c918 Implement Java bindings for pipe io client 2019-04-09 14:54:43 +02:00
Kristóf Tóth 586c8b8503 Implement C++ bindings for pipe io client 2019-04-08 15:48:13 +02:00
Kristóf Tóth 11813a9454 Rename stuff in C client API for clarity 2019-04-08 15:32:55 +02:00
Kristóf Tóth 05e397f142 Implement small C header only client library 2019-04-04 16:29:48 +02:00
Kristóf Tóth 1425dc1fa0 Implement JSON send/recv test case 2019-04-03 11:35:14 +02:00
Kristóf Tóth ddc304ae82 Rework test cases to comply new API 2019-04-02 16:55:19 +02:00
Kristóf Tóth a2d6077619 Fix bugs with input pipe reading (messages beginning with b'\n' or ending with whitespace) 2019-04-02 14:15:46 +02:00
Kristóf Tóth 22d22bc5e3 Avoid providing default pipe locations in PipeIOServer 2019-04-02 11:47:21 +02:00
Kristóf Tóth a3d2ea37d5 Fix exception leaving app in IO block (use non-blocing IO to teardown writer) 2019-04-01 14:36:11 +02:00
Kristóf Tóth 07c35cc8bf Operate on a byte level instead of utf8 strings only 2019-04-01 14:27:37 +02:00
Kristóf Tóth 3a2ccc1ea4 Make echo_server use pipes in cwd instead of /tmp by default 2019-03-28 16:26:47 +01:00
Kristóf Tóth 1a28862129 Rework PipeIOServer to use "keep pipes open" model with robust unblocking 2019-03-28 16:25:53 +01:00
Kristóf Tóth 2aa673d2c9 Make pipe path attributes of PipeIOServer properties 2018-12-18 21:25:56 +01:00
Kristóf Tóth 512247163c Refactor tests 2018-12-18 21:25:51 +01:00
Kristóf Tóth 929502a586 Implement test case for IO stress 2018-12-16 22:54:15 +01:00
Kristóf Tóth b7bc795289 Implement test case for large data 2018-12-16 22:49:23 +01:00
Kristóf Tóth dd78a0af25 Add test cases involving random data 2018-12-16 21:42:54 +01:00
Kristóf Tóth d28ea355f7 Refactor pipe logic to a separate class 2018-12-16 21:22:20 +01:00
Kristóf Tóth a389273779 Make handle_message() public 2018-12-16 19:16:01 +01:00
Kristóf Tóth 09abb0331d Refactor PipeIOServer.__init__() 2018-12-16 19:04:51 +01:00
Kristóf Tóth 5091380133 Implement testing the removal of IO pipes on server stop 2018-12-15 01:07:02 +01:00
Kristóf Tóth 295a53a44c Terminate process if any of the IO threads fail 2018-12-15 00:32:29 +01:00
Kristóf Tóth 86662b14d8 Refactor PipeIOServer implementation into several files 2018-12-14 17:36:53 +01:00
Kristóf Tóth fddf7d9dba Silence pylint 2018-12-14 17:25:54 +01:00
Kristóf Tóth 652d02eaa5 Make tests.py create pipes in project root 2018-12-14 17:24:27 +01:00
Kristóf Tóth 300817fe70 Terminate process with stacktrace if PipeReaderThread fails 2018-12-14 16:35:08 +01:00
Kristóf Tóth a8d73483cf Implement basic test cases 2018-12-14 15:40:11 +01:00
Kristóf Tóth 4beed1056a Refactor example server to separate file 2018-12-14 15:39:18 +01:00
Kristóf Tóth 88ef32ede3 Make PipeIOServer usable as a base class 2018-12-13 23:00:54 +01:00
Kristóf Tóth 43578cd3a0 Refactor pipe reader/writer Threads 2018-12-13 22:44:46 +01:00
Kristóf Tóth 290712d64f Make PipeHandler able handle more pipes 2018-12-13 22:16:02 +01:00
Kristóf Tóth 95673cb2c2 Initial commit 2018-12-13 22:06:13 +01:00