Commit graph

58 commits

Author SHA1 Message Date
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
Christoph Heiss 14c3d80861 Split out commandline-arguments parsing into each indiviual component. 2018-02-26 12:41:21 +01:00
Christoph Heiss c41ed12131 Fix including directories from environment variables. 2018-02-26 12:10:03 +01:00
Christoph Heiss 21cd407cdf Update documentation. 2018-02-26 12:05:58 +01:00
Christoph Heiss 11619d5f10 Continue read loop if no command was entered. 2018-02-26 11:37:27 +01:00
Christoph Heiss 4dcbd478fa Add support for the pub-sub mechanism. 2018-02-26 11:29:28 +01:00
Christoph Heiss ee704fece5 Simplify ping-pong test. 2018-02-26 11:04:19 +01:00
Christoph Heiss b91c211b03 Quote string responses to indicate that these are in fact strings. 2018-02-26 10:32:04 +01:00
Christoph Heiss d722892ca6 Unify response reading to avoid duplicate code. 2018-02-26 10:12:48 +01:00
Christoph Heiss 1233e6eb9d Do some chores and cleanup/restructure some code. 2018-02-23 16:24:34 +01:00
Christoph Heiss 0178cf9d5c Update documentation of RespParser. 2018-02-23 13:47:04 +01:00
Christoph Heiss 169e2c26c8 Add pipelined client. 2018-02-23 13:24:40 +01:00
Christoph Heiss 30f24e7d03 Small cleanups and commenting two constructors. 2018-02-23 13:23:20 +01:00
Christoph Heiss 8d1af09ca5 Fix not returning the result when using the integral-specilization template of command(). 2018-02-22 21:23:29 +01:00
Christoph Heiss 0e05a7bf65 tests: Do not output result. 2018-02-22 20:15:36 +01:00
Christoph Heiss 4530a63b26 Do not output an extra newline. 2018-02-22 17:04:38 +01:00
Christoph Heiss f4e13cb016 Completely rewrite the response parser. 2018-02-22 17:04:19 +01:00
Christoph Heiss 131a42c77a Fix passing of parameters in mget-array test. 2018-02-22 11:20:17 +01:00
Christoph Heiss a224e9f2fc Fix serialization of RESP commands.
Since RESP commands never take an integer as argument due to ambiguity,
always serialize them as bulk strings.
2018-02-22 11:15:40 +01:00
Christoph Heiss fede599f1a Mark second constructor for RespClient as explicit. 2018-02-22 11:15:00 +01:00
Christoph Heiss 60e8cf208b Properly format array output. 2018-02-22 10:51:50 +01:00
Christoph Heiss 968268d623 Doxygen: Include README into generated documentation. 2018-02-20 20:48:02 +01:00
Christoph Heiss b8ace60d4f Update inline documentation. 2018-01-31 15:06:05 +01:00
Christoph Heiss 1be30fea8e Update Doxyfile template to also include private members. 2018-01-31 15:05:19 +01:00
Christoph Heiss ba29e6179e Report status when executing tests. 2018-01-31 11:48:05 +01:00
Christoph Heiss 4db079b620 Switch to C++17 and remove unused Windows-specific conditions. 2018-01-31 11:11:21 +01:00
Christoph Heiss 2c17d9c8ad Add mget-test for testing array parsing. 2018-01-31 11:10:35 +01:00