Commit Graph

51 Commits

Author SHA1 Message Date
Peter Johnson
eecf0deeec Add WireDecoder test and finish WireEncoder test.
Change-Id: I0d2b3421df55f8f986678b694bbd5481e8fc6e6b
2015-07-11 09:33:34 -07:00
Peter Johnson
6aa32e8752 WireDecoder: Add overloads for StringValue and Value.
Change-Id: Idb41fd16fec8efc8b984c1a9b4d225829d16e344
StringValue: Add comparison operators.
2015-07-11 09:33:34 -07:00
Peter Johnson
a55b6565b8 WireDecoder ReadDouble: Use ref cast.
Change-Id: I47f23709960d13c005916b5d41d81339302adda5
2015-07-11 09:33:34 -07:00
Peter Johnson
c1c0c8d418 Optimize Write16/32/Double a bit.
Change-Id: I3d09a9d1b0b33da401312b3389234f7680da6f97
2015-07-11 09:33:34 -07:00
Peter Johnson
1634773529 Finish WireEncoder tests and fix a bug.
Change-Id: Iddb6003cf2050aebbda4650a5596342288432fde
2015-07-11 09:33:34 -07:00
Peter Johnson
547e2ad72b leb128 test: naming consistency
Change-Id: Ib37433110781d87f8736c82d4b8249d580b5a1dd
2015-07-11 09:33:34 -07:00
Peter Johnson
ca90648118 Add copyrights and header guards.
Change-Id: I1e4c22a1626095750b6ffa8e0edd5e078ef221ec
2015-07-11 09:33:34 -07:00
Peter Johnson
958fbaa819 ValueTest / StringValueTest: Make conversion function static.
Change-Id: Ia7411fd58cfd7ee9225a7c7f90534567e7ae02ba
2015-07-11 09:33:34 -07:00
Peter Johnson
fa19a54ab7 Separate ValueTest and StringValueTest into headers.
Change-Id: If326e6943a11f271ef939dc815a45ba0b4ee271c
2015-07-11 09:33:34 -07:00
Peter Johnson
c9c1b7e5d8 Rename test files.
Change-Id: If7a2894f21b86bf9e4036e3069a2e5602ca932b0
2015-07-11 09:33:34 -07:00
Peter Johnson
4d5e5c82d4 Start WireEncoder testing.
Change-Id: I0e4161f5b3cab167d3c3d650588671be8a1b78b3
2015-07-11 09:33:34 -07:00
Peter Johnson
9bd4a5ecc3 Add proto_rev accessors to WireEncoder and WireDecoder.
Change-Id: I401a0fbc675379c4d5b1dbcc42cbefe0311304f1
2015-07-11 09:33:34 -07:00
Peter Johnson
09d6619a58 Add LEB128 test.
Change-Id: Iaeb2d818226a281a905cb69ef12725e504c3a03d
2015-07-11 09:33:34 -07:00
Peter Johnson
e7ba40dcfd ReadUleb128: Take const buf.
Change-Id: Idd4637790938485a291a20eab4e14f5112c04c8a
2015-07-11 09:33:34 -07:00
Peter Johnson
ae42eee8e1 More Base64 fixes (correct decode return value).
Change-Id: Ic8f5eb7efd39e1d155a458aa41e430232bee7c7d
2015-07-11 09:33:34 -07:00
Peter Johnson
1e9b9b9a3e Base64: Fix a little differently.
Change-Id: I394a1c99e1ecf87b4e236cf0aced5f9429364ace
2015-07-11 09:33:34 -07:00
Peter Johnson
1225d3ef75 Slight whitespace fix.
Change-Id: I752a000775efefd45cf5c5be0a084e855f68e13f
2015-07-11 09:33:34 -07:00
Peter Johnson
407ded6b8c Use ASSERT_EQ with correct order of arguments.
Change-Id: Ieed4703283ae222df3aee8adb07ca1e65e863c62
2015-07-11 09:33:34 -07:00
Peter Johnson
c7b5266f9a Add Base64 tests and fix a couple of bugs found.
Change-Id: I9762fe018be78cf38aa506026e78139e2479cd98
2015-07-11 09:33:33 -07:00
Peter Johnson
5a0fccc9cf Add unit tests for StringValue and Value.
Add unit test framework to CMakeLists.txt.
Fix a couple of bugs found by unit tests.

Change-Id: I2092a7f0570fae0f19f9e083c4837ccefcc4ca1a
2015-07-11 09:33:33 -07:00
Peter Johnson
b66fb68f29 Finish LoadPersistent().
Change-Id: I5c4c439dc3d2585f2edae74f78c14f826b091186
2015-07-11 09:33:33 -07:00
Peter Johnson
cb30bb5d70 Rename base64 to Base64.
Change-Id: I0dea9f77ca898ab1a278a0b0163418f96f823725
2015-07-11 09:33:33 -07:00
Peter Johnson
40ebb9a844 C++-ify base64 functions.
Change-Id: I5cf7a8971b18b7a2700fe8d616733e32fa1e3282
2015-07-11 09:33:33 -07:00
Peter Johnson
b7a87bb6f9 Make StringValue noncopyable.
Change-Id: I5b02cf988aaa15c467fa62c96c951d2891bc43db
2015-07-11 09:33:33 -07:00
Peter Johnson
e38cce46ad Add missing llvm headers.
Change-Id: I2e913ef8289b2336a74690195085ca9f6e14d94e
2015-07-11 09:33:33 -07:00
Peter Johnson
f6deafee22 Add type-safe wrapper around NT_Value and NT_String.
Change-Id: Ib7ef5a6de9c8c7a1f5f6432083d1fb38328438dc
2015-07-11 09:33:33 -07:00
Peter Johnson
8d6a0786c8 Move all C api functions to ntcore.cpp.
Change-Id: I17b4f5fec30ecd684cf04af2bbd6b7346bfcd683
2015-07-11 09:33:33 -07:00
Peter Johnson
9ee3070667 Storage: Make entries private, add accessors.
Use range-based for in SavePersistent.

Change-Id: If43ed97379114b3bf8a5e95da99103791cd09d4d
2015-07-11 09:33:33 -07:00
Peter Johnson
05e084364a Start implementing LoadPersistent.
Switch to using fstream instead of stdio.

Change-Id: I600a8748a0b3dcf24740d63cc296df000abc388d
2015-07-11 09:33:33 -07:00
Peter Johnson
69e91244f4 Rename make_StringRef to MakeStringRef.
Change-Id: I18ca471c6e31f79956bcab9d4405afc355238a8f
2015-07-11 09:33:33 -07:00
Peter Johnson
e37a9d81f1 Cleanups and commenting.
Change-Id: I491a68af8614198af450942cd378c9486f27d338
2015-07-11 09:33:33 -07:00
Peter Johnson
95d0736bb6 More coding guidelines name changes, and use "using".
Change-Id: I48a898d13623749a55c469ba558155cd1467b4ce
2015-07-11 09:33:33 -07:00
Peter Johnson
de4ba1aa35 Fix up naming of Base64 and Leb128 functions.
Change-Id: I80a2493d822b59311ba0d7bd68b5ccf0e3b29e6a
2015-07-11 09:33:33 -07:00
Peter Johnson
d7ca3343bc File renames.
Change-Id: I3fa88f94593941a25f65eaabfcbbca2428613e6c
2015-07-11 09:33:33 -07:00
Peter Johnson
cee77a3228 Reformat per new coding guidelines.
Change-Id: Ib0e5d3a6fabe6db414d72b334ca7a7f33bc5726b
2015-07-11 09:33:33 -07:00
Peter Johnson
f5a82be9e5 timestamp.cpp: A few cleanups.
Change-Id: Ifcc93a27ddf901b8ec0c9e8de250e88e21536a8f
2015-07-11 09:33:33 -07:00
Peter Johnson
2a1ccaff1e Add timestamp function NT_Now().
Change-Id: I797a220308cd64ca0545222b433a18aa2294bac5
2015-07-11 09:33:33 -07:00
Peter Johnson
b195dfbe09 Add ConcurrentQueue implementation.
Change-Id: I28224d07c0b093bd520f0a1038cc808b1fac626c
2015-07-11 09:33:33 -07:00
Peter Johnson
0aab4c27e1 Use nullptr.
Change-Id: I469bbe4994ea22a22d2d72e47d72cab606d43eef
2015-07-11 09:33:32 -07:00
Peter Johnson
42ad98567c Use C++11 deleted functions for noncopyable.
Change-Id: I686f8871932c8bd611c74ef1e84a31530ea96d66
2015-07-11 09:33:32 -07:00
Peter Johnson
c06e625413 Fix code style for pointer and references.
Change-Id: I3ca5988f09aa4f81946dc3e53116c8151a981024
2015-07-11 09:33:32 -07:00
Peter Johnson
1a48e75d43 Implement SavePersistent.
Change-Id: I0b635b3e17dcfb6f238f57f2bff5575538ab7743
2015-07-11 09:33:32 -07:00
Peter Johnson
a896a3ade5 Import LLVM StringMap et al.
Change-Id: Ic48c722c2856c7aa36001935adbcf31b986ac1f3
2015-07-11 09:33:32 -07:00
Peter Johnson
62ef9e1c6b Remove extra Reserve calls.
Change-Id: I8d4142fa459cf74067e549363d4b88e2334faf5f
2015-07-11 09:33:32 -07:00
Peter Johnson
047cccda89 Refactor WireEncoder.
Change-Id: I50106755ce5571821d6e36767b16d08b91f054de
2015-07-11 09:33:32 -07:00
Peter Johnson
dbed3fea6f Move remaining read functions.
Change-Id: I415edc98fa06bb8e2c1a950ebdeb42775d915a77
2015-07-11 09:33:32 -07:00
Peter Johnson
b88a9295bf More refactoring.
Change-Id: Iaf937feb0486d2f008a47584c0a75edccbde2b34
2015-07-11 09:33:32 -07:00
Peter Johnson
c4d4679ed9 Finish EXECUTE_RPC and RPC_RESPONSE handling.
Change-Id: I927711c0625527093899f63c171302901ff8277a
2015-07-11 09:33:32 -07:00
Peter Johnson
c2063f3a88 Refactor MessageReader into WireDecoder.
Change-Id: If5842b4f6b9a7db3d3de515cd71324ab7ee82f50
2015-07-11 09:33:32 -07:00
Peter Johnson
03bae15b96 ntcore: Implement RPC_RESPONSE reading.
Change-Id: I80b678fb5fccc0ef21b6c5b9a89e49d18702e8a0
2015-07-11 09:33:32 -07:00