Commit Graph

42 Commits

Author SHA1 Message Date
b2a6f25306 Start proto::parser, remove msgpack::reader
- proto::parser will likely contain helper functions for parsing
  messages from a buffer, for now it will explicitly define message
  parsers for each available message. It also leverages the new unpacker
  API, which has type safety in mind. These messages should not be
  unstructured, so it doesn't make sense to use the token API.
2024-01-12 19:36:56 -08:00
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
db601fb770 WIP unpacking 2024-01-08 19:58:12 -08:00
0e6f05dd68 WIP Server stuff: key gen 2024-01-08 10:39:35 -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
3d7ba40289 Add msgpack packer support for ranges of objects. 2023-12-30 19:18:09 -08:00
Kurt Sassenrath
cb2b5b47b0 WIP: Migrate packing to pass context object. 2023-12-28 15:51:13 -08:00
Kurt Sassenrath
a027d6b946 Add builtin_packer for array_desc / map_desc 2023-12-28 15:35:40 -08:00
Kurt Sassenrath
0e00edc378 Remove builtin_pack_helper. 2023-12-28 09:24:48 -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
84942171ea WIP Server stuff 2023-11-22 22:54:08 -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
1ceccd0720 WIP: Add hydrogen, session_id 2023-11-06 07:06:19 -08:00
8f8066c243 WIP 2023-10-26 07:23:51 -07:00
6874da27a3 Apply clang-format 2023-10-20 00:34:44 -07:00
Kurt Sassenrath
c46f68e759 Initial clang-format file 2023-10-20 00:34:31 -07:00
Kurt Sassenrath
3157e39169 WIP: Session decoupling from server impl 2023-10-19 23:56:22 -07:00
Kurt Sassenrath
9346b5be5d WIP 2023-10-16 19:27:12 -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
Kurt Sassenrath
22f78cc7d7 Re-enable expected logging, start server proto 2023-10-11 18:37:57 -07:00
Kurt Sassenrath
915773f3a8 WIP slight changes to token_reader 2023-10-10 15:53:14 -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
9164e7dc60 WIP Message 2023-09-19 12:26:22 -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
14620c4487 WIP 2023-09-14 22:58:59 -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
Kurt Sassenrath
ec3b953384 Various updates to initial server code.
Need to create user sessions and handle msgpack-encoded packets. The
plan is to use a branch of oh::msgpack with tl::expected.
2023-09-05 16:25:57 -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