Commit graph

23 commits

Author SHA1 Message Date
Stephen Seo 3f2c49572b Add UnitTest file for CXX11_shared_spin_lock
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
2024-01-12 13:55:28 +09:00
Stephen Seo 05087406b1 Reland C++11 "shared_lock" with iter remove fix
On iterator remove, the iterator will trade the read lock for a write
lock, and trade back for a read lock once the remove has been completed.
2024-01-12 13:32:05 +09:00
Stephen Seo bf84a1f2d4 Update debug optimization flag 2024-01-11 21:05:02 +09:00
Stephen Seo 611287b377 Revert "Impl "RWLock" for use in TSLQueue"
This reverts commit cf27a6bb76.

The use of "shared_lock" in TSLQueue is unsafe because of two things:

  - The TSLQueue iterator takes a "read" lock.
  - The TSLQueue iterator can erase the current element.
2023-07-22 17:28:33 +09:00
Stephen Seo cf27a6bb76 Impl "RWLock" for use in TSLQueue
This project supports C++11, and std::shared_lock was made available in
C++17, thus a "shared_spin_lock" was created with similar functionality.
This "shared_spin_lock" is used in TSLQueue.
2023-07-22 16:33:09 +09:00
Stephen Seo 64a0995e21 Fix CMakeLists.txt, handle -Weffc++ warnings 2023-07-22 13:25:43 +09:00
Stephen Seo 80e67e845c Distinguish manual variables and pkgconf variables
Variables checked to manually set libsodium paths have been changed to
prevent conflict with variables set by searching for libsodium via
pkgconfig.
2020-01-16 11:31:22 +09:00
Stephen Seo ed20c28ed0 Allow manually setting dependency libsodium paths 2020-01-16 11:27:19 +09:00
Stephen Seo f588d409c9 Truncate "UDPConnection" to "UDPC" 2020-01-09 16:57:01 +09:00
Stephen Seo 58493ee936 Fix UnitTests using C++17 (now uses C++11) 2019-12-11 21:24:28 +09:00
Stephen Seo ece17e1aca Drop support from C++17 to C++11
std::optional replaced with Entry in TSLQueue (which is basically a poor
man's optional).
2019-12-11 20:00:48 +09:00
Stephen Seo 4cfe35ecd1 libsodium support is now optional
Packet struture has been changed to support UDPC without libsodium
sending packets to UDPC with libsodium.
2019-11-18 17:37:03 +09:00
Stephen Seo 90b36e3061 Convert NetworkTest to C from C++ 2019-11-13 11:47:53 +09:00
Stephen Seo 00c1be07dc Replace c_impl, remove rust_binding, with cpp_impl 2019-11-11 13:08:36 +09:00
Stephen Seo 1eed614ded Add buildgen rust binding 2019-04-17 15:15:53 +09:00
Stephen Seo d38c7ac105 Add NetworkTest executable
To be used to debug UDPConnection.
2019-03-04 15:20:22 +09:00
Stephen Seo a0134b7cb3 Begin work on HashMap, minor fixes 2019-02-04 17:21:49 +09:00
Stephen Seo bfc704d429 Minor fixes to UnitTest, Defines header 2019-01-29 14:50:12 +09:00
Stephen Seo 32e2503bd0 Change init to return ptr, some error handling 2019-01-29 11:53:39 +09:00
Stephen Seo 599ac8a23e Add unit tests, some fixes to Deque. 2019-01-27 15:09:38 +09:00
Stephen Seo dd984b85a6 Finish impl of Deque, testing required 2019-01-26 20:44:31 +09:00
Stephen Seo 909fe2e744 Add some init/destruct stuff, thread stuff too 2019-01-26 16:22:31 +09:00
Stephen Seo ec084d85cc Init commit skeleton project 2019-01-26 12:52:10 +09:00