Commit graph

84 commits

Author SHA1 Message Date
Christoph Heiss 10eb19bb2d
Add archive notice
Signed-off-by: Christoph Heiss <christoph@c8h4.io>
2023-02-10 22:00:44 +01:00
Christoph Heiss faf0412ddc Add paper. 2018-03-12 01:03:12 +01:00
Christoph Heiss 435b009ee3 Remove comment that the port is optional when specifing host. 2018-03-08 14:49:05 +01:00
Christoph Heiss 6c82e125b9 Adapt to new directory structure of nlohmann/json. 2018-03-08 09:22:21 +01:00
Christoph Heiss 9bc7e4aecb Fix compilation under Linux.
Apparently, on macOS the threads libraries are automatically linked, but
not on Linux.
2018-03-08 09:21:19 +01:00
Christoph Heiss 06d1ec3ad8 Remove accidently left-in debug print statement. 2018-03-08 09:08:41 +01:00
Christoph Heiss d827fd0fda Provide sample proxy configuration example. 2018-03-07 21:29:53 +01:00
Christoph Heiss 0e7993c194 Completely rework and rewrite command line argument parsing.
Also fix some things: To actually set a variable to the value of the
argument, & clipp::value must be used, not .set().
2018-03-07 21:27:54 +01:00
Christoph Heiss c360cbe5fe Fix command line parsing. 2018-03-07 09:08:38 +01:00
Christoph Heiss dc95f22ebe Use colored logger for stdout output. 2018-03-07 09:00:02 +01:00
Christoph Heiss 41fcc258e4 Fix command line interface documentation error. 2018-03-07 08:56:13 +01:00
Christoph Heiss 64a3af3579 Fix cli prompt. 2018-03-06 20:50:36 +01:00
Christoph Heiss ebab2d5a8a Refactor and rewrite logging facility. 2018-03-06 20:50:25 +01:00
Christoph Heiss dfe5509412 Implement gRPC command line interface. 2018-03-06 15:00:33 +01:00
Christoph Heiss 67050147f2 Add synchronous gRPC proxy server. 2018-03-06 14:59:46 +01:00
Christoph Heiss ab685a66e7 Use anonymous namespaces instead of static functions. (More idomatic) 2018-03-06 14:58:41 +01:00
Christoph Heiss ebb20044d9 Implement gRPC-based server.
Also do a small cleanup regarding the logging facility.
2018-03-06 10:23:10 +01:00
Christoph Heiss 27e39a3585 Add gRPC compilation support. 2018-03-06 08:37:44 +01:00
Christoph Heiss 025a56f3de Suppress output from tests by default and add additional command for verbose test execution. 2018-03-05 15:58:25 +01:00
Christoph Heiss 4b9bf8640f Add redlock implementation and test to demonstrate a distributed lock using redis. 2018-03-05 15:50:32 +01:00
Christoph Heiss 4258a48d7d Fix unit tests. 2018-03-04 23:10:33 +01:00
Christoph Heiss 6c2cc7b444 Implement pub/sub support for protobuf side. 2018-03-04 22:26:42 +01:00
Christoph Heiss 7955e22780 Completely overhaul protobuf message design.
The new format is now way easies to work with.
2018-03-04 22:25:35 +01:00
Christoph Heiss f7683abf0b Add optional callback for messages on channels without handler. 2018-03-04 22:22:10 +01:00
Christoph Heiss b5ac54b0aa Use response to determine if the cli has to go into listen mode. 2018-03-04 21:16:17 +01:00
Christoph Heiss a7232a33bc The server guarantees that the client only receives messages for channels he subscribed to. 2018-03-04 16:35:15 +01:00
Christoph Heiss 98f6ed58a8 Handle publish-messages even when no handler is present. 2018-03-04 15:35:09 +01:00
Christoph Heiss 48b94e50d6 Pipelined client: Reject any pub/sub commnd. 2018-03-04 15:28:09 +01:00
Christoph Heiss 8744756d99 Implement working protobuf-resply cli. 2018-03-02 08:08:38 +01:00
Christoph Heiss d0d62f31ce Small code cleanup. 2018-03-01 18:40:15 +01:00
Christoph Heiss 5fa2f85f3a pubsub: Print out the message if no listener was found. 2018-03-01 17:56:05 +01:00
Christoph Heiss b27cc818e9 Add proper protobuf receive and send mechanisms. 2018-03-01 17:41:49 +01:00
Christoph Heiss 8ef46d3ce0 Process received protobuf commands and send responses back. 2018-03-01 09:17:51 +01:00
Christoph Heiss 1933db3442 Make protobuf command type Pascal-case and add a nil-type. 2018-03-01 09:00:46 +01:00
Christoph Heiss b6eb2d1aa4 Log info message if the logger is set to verbose. 2018-03-01 08:31:41 +01:00
Christoph Heiss 73be1ac218 Make prefix size endian-independent for protobuf objects. 2018-02-28 10:04:34 +01:00
Christoph Heiss 8da6052c9e Re-structure the proxy code. 2018-02-28 10:02:29 +01:00
Christoph Heiss 065f4ff7f5 Enable exceptions when compiling. 2018-02-28 09:17:03 +01:00
Christoph Heiss 6723af554b Implement verbose logging command line option. 2018-02-27 21:39:49 +01:00
Christoph Heiss ff4ad34938 Implement basic protobuf cli. 2018-02-27 21:13:49 +01:00
Christoph Heiss d768a8e4ef Implement simple ProtobufRedisAdapter.
Currently, this just prints out the received messages as traces.
2018-02-27 20:59:05 +01:00
Christoph Heiss 6c135fa512 Add proper signal & exit handling. 2018-02-27 20:57:26 +01:00
Christoph Heiss 267bfd4378 Combine SIMPLE_STRING and BULK_STRING types. 2018-02-27 12:56:01 +01:00
Christoph Heiss 7dd81225dd Rename protobuf package. 2018-02-26 23:36:25 +01:00
Christoph Heiss e53fe435c0 Add additional note regarding command-line parameter to the help menu. 2018-02-26 22:42:30 +01:00
Christoph Heiss 154e151481 Use spdlog::get() instead of passing around the shared_ptr to the logger. 2018-02-26 22:41:31 +01:00
Christoph Heiss 10a80f25e0 Implement basic signal handling for SIGINT and SIGTERM. 2018-02-26 18:18:19 +01:00
Christoph Heiss fb4cc5eda0 Implement basic proxy functionality (daemonizing, configuration). 2018-02-26 18:03:04 +01:00
Christoph Heiss e799e7e7e2 --version commandline-parameter cleanup. 2018-02-26 14:28:16 +01:00
Christoph Heiss cebc909cf1 Take the server-address in the format host[:port] instead of separatly. 2018-02-26 13:09:14 +01:00