Commit Graph

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