-
e92c0e7357
Fix diamond inheritance & missing __init__ parameters
master
Kristóf Tóth
2019-09-06 14:07:44 +02:00
-
8b6e82be38
Ensure Pipe*Server classes are ready for use after start() returns
Kristóf Tóth
2019-09-05 13:56:50 +02:00
-
b98a1df962
Ensure test pipes are deleted after each test session
Kristóf Tóth
2019-09-05 13:52:08 +02:00
-
4aff5b1274
Bump version
Kristóf Tóth
2019-08-06 17:13:40 +02:00
-
1bd64c368c
Fix bug where select() wouldn't block on linux (EOF)
Kristóf Tóth
2019-08-06 16:56:14 +02:00
-
d4a6fe8f49
Fix bug where _unblock() would fail on a stopped thread
Kristóf Tóth
2019-08-06 16:18:56 +02:00
-
447b9ecbc3
Extend README and echo_server.py
Kristóf Tóth
2019-08-06 16:16:14 +02:00
-
439ea93f67
Remove ambiguous OS classifier
Kristóf Tóth
2019-08-05 17:44:14 +02:00
-
64be21cfa6
Add test case for stopping when pipes are deleted from the FS
Kristóf Tóth
2019-08-05 17:33:43 +02:00
-
7cb6af9c4e
Reimplement IO loops to be more resilient against unintended client behaviour
Kristóf Tóth
2019-08-05 17:28:04 +02:00
-
4b3163179b
Make tests run faster by removing an extreme case
Kristóf Tóth
2019-08-05 17:13:52 +02:00
-
f31493e58e
Remove unused variable
Kristóf Tóth
2019-08-05 17:13:27 +02:00
-
9557364219
Write more of those juice stop test cases
Kristóf Tóth
2019-08-02 19:58:26 +02:00
-
c39527d99e
Create a pip package for pipe_io_server
Kristóf Tóth
2019-08-02 15:32:38 +02:00
-
499ce8af76
Support connecting to existing pipes (and not touching them)
Kristóf Tóth
2019-07-30 14:44:05 +02:00
-
acd8fde005
Refactor io thread registering
Kristóf Tóth
2019-07-30 13:04:08 +02:00
-
70ef9014ba
Add accidentally deleted terminate_process_on_failure import
Kristóf Tóth
2019-07-29 18:29:21 +02:00
-
6de4ff527a
Rework whole package to allow read-only/write-only servers
Kristóf Tóth
2019-07-29 18:15:19 +02:00
-
ed951f7ce9
Fix test_stop (which was broken during a refactor)
Kristóf Tóth
2019-07-29 18:14:18 +02:00
-
846aec9fce
Move unit tests to pipe_io_server package
Kristóf Tóth
2019-07-29 13:38:28 +02:00
-
48ffb7804a
Fix positional arguments accidentally left optional after refactor
Kristóf Tóth
2019-06-23 20:53:24 +02:00
-
ed62c1d01c
Simplify on_stop
Kristóf Tóth
2019-06-23 18:44:34 +02:00
-
1155011b48
Make PipeIOServer a contextmanager
Kristóf Tóth
2019-06-23 18:40:06 +02:00
-
a1e3fe9813
Allow reassigning handle_message() before start()
Kristóf Tóth
2019-06-23 18:22:04 +02:00
-
94b248fd89
Avoid randomly parametrized test cases to avoid confusing pytest
Kristóf Tóth
2019-05-26 15:24:28 +02:00
-
5b79dbff2b
Fix bug where I'd accidentally override threading.Thread internals
Kristóf Tóth
2019-05-09 15:26:39 +02:00
-
38c81e0d29
Add support for an on_stop callback
Kristóf Tóth
2019-05-09 13:46:31 +02:00
-
8f80f49a86
Implement support for waiting for PipeIOServer to stop
Kristóf Tóth
2019-05-09 13:26:48 +02:00
-
b1d23f9d95
Daemonize all threads to avoid breaking IOLoop exception handling (i.e tornado)
Kristóf Tóth
2019-05-07 17:16:43 +02:00
-
9f23ff1d6b
Change default permission (execute bit has no meaning on pipes)
Kristóf Tóth
2019-05-04 22:50:08 +02:00
-
d56efa9c4b
Clarify why we use chmod instead of mkfifo's mode parameter
Kristóf Tóth
2019-05-04 22:49:45 +02:00
-
14ac1b82d1
Add strong close consistency guarantee to reader side
Kristóf Tóth
2019-05-04 22:34:28 +02:00
-
9ccb05a709
Add support for initializing pipes with specific permissions
Kristóf Tóth
2019-05-04 21:06:00 +02:00
-
aa7eea6242
Really fix deadlock causing race condition
Kristóf Tóth
2019-05-03 22:00:23 +02:00
-
97de6a0175
Remove dropped use-cases from tests
Kristóf Tóth
2019-05-03 17:48:33 +02:00
-
dbe5b10482
Fix unblock race condition randomly leading to deadlocks
Kristóf Tóth
2019-05-03 17:31:57 +02:00
-
ca613644ac
Implement thread-safe, blocking Deque class for reopen consistency
Kristóf Tóth
2019-05-02 23:14:08 +02:00
-
daabc6dd8e
Add support for reopening closed pipes with consistency guarantees
Kristóf Tóth
2019-05-02 23:07:32 +02:00
-
33d142ca08
Improve buffer management in pipeReader
Kristóf Tóth
2019-04-23 10:26:20 +02:00
-
7f08e01f39
Improve handling of buffer size in Go client
Kristóf Tóth
2019-04-17 17:07:08 +02:00
-
024204e439
Make PipeIOServer API more consistent with clients
Kristóf Tóth
2019-04-17 14:10:47 +02:00
-
d12c9807f5
Implement Python bindings for pipe io client
Kristóf Tóth
2019-04-12 15:42:00 +02:00
-
d28e90862d
Refactor client codes to use similar, standardized API
Kristóf Tóth
2019-04-11 18:30:25 +02:00
-
74e08fd052
Implement C# bindings for pipe io client
Kristóf Tóth
2019-04-10 18:14:40 +02:00
-
5ff2f6c27d
Make PipeIOServer non-blocking
Kristóf Tóth
2019-04-10 12:40:51 +02:00
-
deafc516bd
Implement Go bindings for pipe io client
Kristóf Tóth
2019-04-09 17:07:46 +02:00
-
61eb57c918
Implement Java bindings for pipe io client
Kristóf Tóth
2019-04-09 14:54:43 +02:00
-
586c8b8503
Implement C++ bindings for pipe io client
Kristóf Tóth
2019-04-08 15:16:11 +02:00
-
11813a9454
Rename stuff in C client API for clarity
Kristóf Tóth
2019-04-08 15:15:24 +02:00
-
05e397f142
Implement small C header only client library
Kristóf Tóth
2019-04-04 16:25:47 +02:00
-
1425dc1fa0
Implement JSON send/recv test case
Kristóf Tóth
2019-04-03 11:35:14 +02:00
-
ddc304ae82
Rework test cases to comply new API
Kristóf Tóth
2019-04-02 16:55:19 +02:00
-
a2d6077619
Fix bugs with input pipe reading (messages beginning with b'\n' or ending with whitespace)
Kristóf Tóth
2019-04-02 14:15:46 +02:00
-
22d22bc5e3
Avoid providing default pipe locations in PipeIOServer
Kristóf Tóth
2019-04-02 11:47:21 +02:00
-
a3d2ea37d5
Fix exception leaving app in IO block (use non-blocing IO to teardown writer)
Kristóf Tóth
2019-04-01 14:36:11 +02:00
-
07c35cc8bf
Operate on a byte level instead of utf8 strings only
Kristóf Tóth
2019-04-01 14:27:37 +02:00
-
3a2ccc1ea4
Make echo_server use pipes in cwd instead of /tmp by default
Kristóf Tóth
2019-03-28 16:26:47 +01:00
-
1a28862129
Rework PipeIOServer to use "keep pipes open" model with robust unblocking
Kristóf Tóth
2019-03-28 16:25:53 +01:00
-
2aa673d2c9
Make pipe path attributes of PipeIOServer properties
Kristóf Tóth
2018-12-16 23:28:33 +01:00
-
512247163c
Refactor tests
Kristóf Tóth
2018-12-16 23:26:51 +01:00
-
929502a586
Implement test case for IO stress
Kristóf Tóth
2018-12-16 22:54:15 +01:00
-
b7bc795289
Implement test case for large data
Kristóf Tóth
2018-12-16 22:49:23 +01:00
-
dd78a0af25
Add test cases involving random data
Kristóf Tóth
2018-12-16 21:42:54 +01:00
-
d28ea355f7
Refactor pipe logic to a separate class
Kristóf Tóth
2018-12-16 21:22:20 +01:00
-
a389273779
Make handle_message() public
Kristóf Tóth
2018-12-16 19:16:01 +01:00
-
09abb0331d
Refactor PipeIOServer.__init__()
Kristóf Tóth
2018-12-16 19:04:51 +01:00
-
5091380133
Implement testing the removal of IO pipes on server stop
Kristóf Tóth
2018-12-15 01:07:02 +01:00
-
295a53a44c
Terminate process if any of the IO threads fail
Kristóf Tóth
2018-12-15 00:32:29 +01:00
-
86662b14d8
Refactor PipeIOServer implementation into several files
Kristóf Tóth
2018-12-14 17:36:53 +01:00
-
fddf7d9dba
Silence pylint
Kristóf Tóth
2018-12-14 17:25:54 +01:00
-
652d02eaa5
Make tests.py create pipes in project root
Kristóf Tóth
2018-12-14 17:13:21 +01:00
-
300817fe70
Terminate process with stacktrace if PipeReaderThread fails
Kristóf Tóth
2018-12-14 16:35:08 +01:00
-
a8d73483cf
Implement basic test cases
Kristóf Tóth
2018-12-14 15:40:11 +01:00
-
4beed1056a
Refactor example server to separate file
Kristóf Tóth
2018-12-14 15:39:18 +01:00
-
88ef32ede3
Make PipeIOServer usable as a base class
Kristóf Tóth
2018-12-13 23:00:54 +01:00
-
43578cd3a0
Refactor pipe reader/writer Threads
Kristóf Tóth
2018-12-13 22:44:46 +01:00
-
290712d64f
Make PipeHandler able handle more pipes
Kristóf Tóth
2018-12-13 22:16:02 +01:00
-
95673cb2c2
Initial commit
Kristóf Tóth
2018-12-13 22:06:13 +01:00