Commit Graph

42 Commits

Author SHA1 Message Date
Tony Garnock-Jones 825d208198 Introduce Cargo workspace in prep for schema 2021-04-19 22:28:59 +02:00
Tony Garnock-Jones 2b9eddfc79 Rename value::value to value::repr, the final clippyism 2021-03-12 11:04:23 +01:00
Tony Garnock-Jones d811032ac7 Fix up almost all reported clippyisms 2021-03-12 10:59:28 +01:00
Tony Garnock-Jones 6fd06cec98 Require that domain toing and froing be total 2021-01-29 13:42:17 +01:00
Tony Garnock-Jones a1a604aee8 Update Rust implementation 2021-01-23 22:54:27 +01:00
Tony Garnock-Jones 9f83756931 Remove decoder/encoder; undoes performance regression 2020-07-08 15:44:06 +02:00
Tony Garnock-Jones 28101cc7d1 Refactor to extract packed format from general traits. Regression in encode performance? 2020-07-08 15:44:06 +02:00
Tony Garnock-Jones f2910eb8d0 Slim down the common case of no annotations 2020-06-17 02:39:01 +02:00
Tony Garnock-Jones e01f960ddc Benchmarks and test factorization 2020-06-16 17:46:55 +02:00
Tony Garnock-Jones bffbeb2f6e Smaller Record; also, use u128/i128 when possible 2020-06-15 16:03:19 +02:00
Tony Garnock-Jones 1f4adc5ba6 Oh cool, is_none() exists 2020-06-15 09:58:49 +02:00
Tony Garnock-Jones b5f4c3a498 Remove placeholders from spec and implementations 2/5
Enormous refactoring in Rust implementation. Direct deserialization.
Zero-copy deserialization in some cases. Much faster.
2020-05-28 23:23:19 +02:00
Tony Garnock-Jones dfc50fcaee Simplify code (and get back up to speed! ~150kHz) by insisting on IOValue for all codec operations 2020-05-26 11:01:33 +02:00
Tony Garnock-Jones c30154e0c8 Improve (!) safety at the expense of speed: 155kHz -> 115kHz :-/ 2020-05-26 09:08:17 +02:00
Tony Garnock-Jones 450b73a4d2 More error cleanup 2020-05-25 16:12:41 +02:00
Tony Garnock-Jones 1011818be6 Split out general std::io::Error wrapper 2020-05-25 15:34:17 +02:00
Tony Garnock-Jones 94058b5ec2 Simplify again by moving away from excessive internal buffering 2020-05-25 15:29:54 +02:00
Tony Garnock-Jones 6ad1707870 First stab at factoring out Reader trait 2020-05-25 13:42:06 +02:00
Tony Garnock-Jones 92463c37d4 Less ownership in preserves::ser::Serializer 2020-05-24 21:17:41 +02:00
Tony Garnock-Jones fdae09b44c Tweak preserves::ser API 2020-05-24 14:40:36 +02:00
Tony Garnock-Jones bddb4331aa Direct serialization 2020-05-23 22:33:02 +02:00
Tony Garnock-Jones 316a772fec Change API: as_record() now takes Option<usize> 2020-05-18 16:42:59 +02:00
Tony Garnock-Jones 8e0ab95d82 Autodetectability of binary vs text; documented test case schema a little 2020-05-13 12:56:13 +02:00
Tony Garnock-Jones b1ca95c835 Customizable treatment of Domain during encoding 2019-10-23 22:58:36 +01:00
Tony Garnock-Jones 27fb961653 Allow embedding of domain-specific non-Preserves data within a Preserves Value 2019-10-22 22:36:01 +01:00
Tony Garnock-Jones 84f99fc471 New tests 2019-10-19 23:30:46 +01:00
Tony Garnock-Jones a00314d108 Refine error API 2019-10-15 20:44:19 +01:00
Tony Garnock-Jones 54d1e349b3 AValue -> PlainValue, RcValue and ArcValue 2019-10-12 21:54:20 +01:00
Tony Garnock-Jones f1b37ac9af First tentative step to allowing reuse of Value with direct containment, Rc and Arc 2019-10-12 15:40:35 +01:00
Tony Garnock-Jones 8cdd67f5ba Mutable Read in Decoder 2019-09-20 21:42:09 +01:00
Tony Garnock-Jones 63cd853ba1 Rc -> Box 2019-09-19 21:35:00 +01:00
Tony Garnock-Jones ef3b88147e Codec; implement Rust tests; samples.txt in quasi-canonical serialized order 2019-09-17 11:27:44 +01:00
Tony Garnock-Jones 199ce1fdba invert_map (for placeholder en/decode conversion) 2019-09-17 09:57:44 +01:00
Tony Garnock-Jones 6775868272 Better errors; Symbol wrapper; proper identifier decoding; Test case struct deserialization works 2019-09-17 09:43:03 +01:00
Tony Garnock-Jones a548485b2e Rust serde glue (wip) 2019-09-17 00:58:44 +01:00
Tony Garnock-Jones 2349e80b30 Rust Encoder 2019-09-15 16:16:17 +01:00
Tony Garnock-Jones bec3a10d64 Annotation skipping; text-syntax-like debug printing (plus pretty printing for free!!) 2019-09-15 12:25:23 +01:00
Tony Garnock-Jones 1be54a2b8f Beginnings of a Rust Preserves decoder 2019-09-09 22:08:26 +01:00
Tony Garnock-Jones d5cbe90235 Further steps toward learning enough Rust to produce an implementation 2019-09-09 14:46:53 +01:00
Tony Garnock-Jones 2b1e2f2fba TODO note re testing of NaNs 2019-07-10 21:52:29 -04:00
Tony Garnock-Jones eadd83d603 Some tests of IEEE754 totalOrder 2019-06-30 23:43:32 +01:00
Tony Garnock-Jones 6960046263 Beginnings of Rust implementation 2019-06-29 23:02:27 +01:00