Commit Graph

25 Commits

Author SHA1 Message Date
c0945246de Refactor packer tests to make recompilation faster 2024-01-12 13:37:39 -08:00
eb7a02d5c4 Refactor tests, add formatters, etc. 2024-01-12 12:53:00 -08:00
Kurt Sassenrath
e48ba60c68 more tests, allow signed int -> positive_fixint 2024-01-04 15:25:17 -08:00
Kurt Sassenrath
8f4ac703f4 Rapidcheck component, initial test cases rewritten 2024-01-03 15:51:22 -08:00
Kurt Sassenrath
0cafb9bcd7 Additional concepts work 2024-01-02 22:43:29 -08:00
b48eddb8d0 Range packing. 2024-01-02 07:55:40 -08:00
Kurt Sassenrath
a027d6b946 Add builtin_packer for array_desc / map_desc 2023-12-28 15:35:40 -08:00
c89d7cd541 Begin refactor of msgpack packer 2023-12-26 23:45:47 -08:00
Kurt Sassenrath
53665b8e70 Packer WIP 2023-12-08 08:46:48 -08:00
ebe2b070b9 Deductive writer POC. Start packer implementation. 2023-11-22 22:54:21 -08:00
cbca4be237 Add hash test 2023-11-06 22:56:35 -08:00
Kurt Sassenrath
578065be47 More session id work 2023-11-06 16:16:04 -08:00
6874da27a3 Apply clang-format 2023-10-20 00:34:44 -07:00
1c7047e314 Implement token map_view, additional formatters.
msgpack::map_view can be used to iterate, pair-wise, over a range of
msgpack::token. It will immediately return if the first token is not a
map, and will skip over nested map/arrays.

Note for the future: It will be handy to be able to get the subspan
corresponding to the nested map/array. Will think about how to solve
that later.

Begin incorporating map_view into the server.

Add formatters for std::byte, dynamic theme for bool, and spans thereof.
Maybe switch to range?
2023-10-12 14:52:06 -07:00
21b388f0d0 WIP: Message definitions. 2023-10-08 08:20:23 -07:00
a80b9d0fc6 token_reader::read_some, operator==, "speed test"
- Added token_reader::read_some(), which takes a view of a token buffer
  reads/unpacks up to that many tokens from a buffer. If an error occurs,
  or if there are fewer msgpack formats within the buffer, then the
  returned span will be a subspan of the original buffer. If no tokens
  were read before encountering an error, token_reader will return the
  error instead.
- token::operator== overload for types that might be stored within the
  token. Handy for cleaning up tests, even though both methods of
  `token::get<T>() == value` and `token == value` are represented for
  now.
- Added a simple tool to open a file containing msgpack content and read
  tokens into a buffer. This is for testing speed, but needs to be made
  into a proper benchmark once more work has been done. Pretty fast
  right now, only taking 2us to parse ~200 tokens (that takes the
  pythong msgpack implementation ~1s to handle).
2023-10-06 16:16:56 -07:00
2a4c819f4f Fix approach to include paths.
This accommodates bazel's best practices a bit better.
2023-10-04 21:23:36 -07:00
f894b8eaf6 Map/Array support as "tokens"
This essentially completes the token_reader. In the future, we will
probably want something that lets us allocate maps/arrays more
seamlessly, but we can start working on client-server architecture with
this reader.
2023-09-18 23:22:02 -07:00
c5c03a2a40 Many more supported types in token reader. 2023-09-17 22:40:49 -07:00
Kurt Sassenrath
cf434bcae3 Fix parsing tokens a bit.
Need to find a more concise way to express all the different tokens.
2023-09-14 10:54:59 -07:00
94e77e7519 Implement integer parsing for token reader API 2023-09-13 22:15:48 -07:00
Kurt Sassenrath
89cbbb0f30 WIP Error consolidation, token API 2023-09-13 19:31:43 -07:00
d3c59248a2 import msgpack, begin work on object API 2023-09-07 15:06:00 -07:00
eab689909d Initial server interface, minor logging changes. 2023-09-04 22:46:33 -07:00
b0ed20369f Initial commit
* Logging ported from layover project with minor tweaks.
    * Logging test ported over.
    * Boost libraries are available.
2023-09-04 16:03:58 -07:00