Commit graph

21 commits

Author SHA1 Message Date
a3e0f941fc 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-01 12:25:40 +09:00
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
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
64a0995e21 Fix CMakeLists.txt, handle -Weffc++ warnings 2023-07-22 13:25:43 +09:00
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
ed20c28ed0 Allow manually setting dependency libsodium paths 2020-01-16 11:27:19 +09:00
f588d409c9 Truncate "UDPConnection" to "UDPC" 2020-01-09 16:57:01 +09:00
58493ee936 Fix UnitTests using C++17 (now uses C++11) 2019-12-11 21:24:28 +09:00
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
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
90b36e3061 Convert NetworkTest to C from C++ 2019-11-13 11:47:53 +09:00
00c1be07dc Replace c_impl, remove rust_binding, with cpp_impl 2019-11-11 13:08:36 +09:00
1eed614ded Add buildgen rust binding 2019-04-17 15:15:53 +09:00
d38c7ac105 Add NetworkTest executable
To be used to debug UDPConnection.
2019-03-04 15:20:22 +09:00
a0134b7cb3 Begin work on HashMap, minor fixes 2019-02-04 17:21:49 +09:00
bfc704d429 Minor fixes to UnitTest, Defines header 2019-01-29 14:50:12 +09:00
32e2503bd0 Change init to return ptr, some error handling 2019-01-29 11:53:39 +09:00
599ac8a23e Add unit tests, some fixes to Deque. 2019-01-27 15:09:38 +09:00
dd984b85a6 Finish impl of Deque, testing required 2019-01-26 20:44:31 +09:00
909fe2e744 Add some init/destruct stuff, thread stuff too 2019-01-26 16:22:31 +09:00
ec084d85cc Init commit skeleton project 2019-01-26 12:52:10 +09:00