Commit graph

299 commits

Author SHA1 Message Date
c9397835f2 Make conan example project work with static lib 2024-07-13 14:52:38 +09:00
d545e22815 Update version to udpc/1.1
All checks were successful
Run UnitTests / build-and-run-tests (push) Successful in 2m10s
2024-07-13 13:46:08 +09:00
5c296632b0 Merge branch 'master' into conan 2024-07-13 13:44:55 +09:00
c57320598b Update version to 1.1
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 1s
Run UnitTests / build-and-run-tests (push) Successful in 2m38s
Specify "SOVERSION" for shared lib so that libUDPC.so.1 is the default
instead of libUDPC.so.1.0 .
2024-07-13 13:44:00 +09:00
7c1256567b Merge branch 'master' into conan
All checks were successful
Run UnitTests / build-and-run-tests (push) Successful in 1m43s
2024-07-13 13:18:50 +09:00
bc6f5cb420 Update README.md
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 1s
Run UnitTests / build-and-run-tests (push) Successful in 2m38s
2024-07-13 13:18:43 +09:00
2bb283e335 Minor tweaks to actions/workflows files (unittest)
All checks were successful
Run UnitTests / build-and-run-tests (push) Successful in 4m48s
2024-07-13 11:43:01 +09:00
125ef0aaf5 Add example CMake project that uses UDPC 2024-07-13 11:43:01 +09:00
2adfb03b12 Update github workflow to use conan 2024-07-13 11:43:01 +09:00
13899404ec Update forgejo workflow to use conan 2024-07-13 11:43:01 +09:00
35db9faeeb Add conan related files and adapt CMakeLists.txt
This is put in a new "conan" branch. Changes to the conan build process
will only occur on this branch.
2024-07-13 11:43:01 +09:00
bc6c1e4ca1 Update README.md
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 2s
Run UnitTests / build-and-run-tests (push) Successful in 16s
2024-07-13 11:42:53 +09:00
8c6940b5e9 Update README.md
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 1s
Run UnitTests / build-and-run-tests (push) Successful in 2m31s
2024-07-12 16:40:23 +09:00
c032492773 Add link to published conan package 2024-07-12 16:38:13 +09:00
c6b13de9f8 Rework unit-tests to not use GTest
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 2s
Run UnitTests / build-and-run-tests (push) Successful in 2m32s
2024-07-12 15:54:56 +09:00
510156bc58 Have forgejo action/workflow use "any_archLinux"
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 1s
Run UnitTests / build-and-run-tests (push) Successful in 44s
2024-01-22 11:12:58 +09:00
2cef0d541c std::atomic doesn't need volatile
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
Run UnitTests / build-and-run-tests (push) Successful in 25s
2024-01-14 10:31:38 +09:00
ef164561c1 Reduce verbosity of unit test logs
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
Run UnitTests / build-and-run-tests (push) Successful in 22s
2024-01-12 16:36:01 +09:00
5738ff4ec0 Allow move for TSLQIter
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 1s
Run UnitTests / build-and-run-tests (push) Successful in 18s
Should fix builds of UDPConnection.cpp with "-std=c++11".
2024-01-12 16:32:42 +09:00
b781257a17 Github action: ensure current ref is checked out
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 1s
Run UnitTests / build-and-run-tests (push) Successful in 21s
2024-01-12 14:31:36 +09:00
5de9fcfb22 Use apt-get, add libsodium dep to github action 2024-01-12 14:29:49 +09:00
6634a0bfdb Add Github action to run UnitTests 2024-01-12 14:26:11 +09:00
848bb98926 Add action/workflow to run UnitTest
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
Run UnitTests / build-and-run-tests (push) Successful in 30s
2024-01-12 14:06:14 +09:00
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
56ee5c3aed Tweak compare_exchange_weak(...) in spin-lock
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
2024-01-12 13:32:05 +09:00
07c7a405ae Fix invalid use of mutex in TSLQueue
Mutex was removed in favor of the custom SharedSpinLock.
2024-01-12 13:32:05 +09:00
4917fc47f6 Don't fail on "try" fns if failed to get spinLock
In SharedSpinLock: Only fail on "try" fns after spinLock was acquired
and condition is not met.
2024-01-12 13:32:05 +09:00
a0f8bf0b41 Refactor shared-spin-lock to use atomic "spinLock" 2024-01-12 13:32:05 +09:00
d1354b13d5 Minor refactorings 2024-01-12 13:32:05 +09:00
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
02651c793e Add note in docs about update for UDPC_init(...)
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
2024-01-12 13:31:36 +09:00
894a564774 Update LICENSE year
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
2024-01-11 21:05:21 +09:00
bf84a1f2d4 Update debug optimization flag 2024-01-11 21:05:02 +09:00
c03eae1c15 UnitTest for start/stop threaded update and fix
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
2024-01-11 20:07:25 +09:00
de2848004f Enforce thread-safety on destroy context 2024-01-11 19:40:15 +09:00
186f2edf0f Use mutex when enabling/disabling threaded-update 2024-01-11 19:00:27 +09:00
74341e83d4 Use atomic_bool for auto-updating "flag" 2024-01-11 18:45:14 +09:00
5d24c4b5e6 Add note about usage of UDPC header in docs
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
2024-01-01 17:15:55 +09:00
f4ed1aa136 Note in documentation about thread safety
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
Basically, all functions should be thread-safe unless mentioned
otherwise.
2024-01-01 12:25:04 +09:00
ad0e62f718 Fixes to .forgejo/workflows/doxygen.yaml
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 1s
2023-12-19 16:44:18 +09:00
cb9d42e301 Update README.md
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
2023-12-19 12:59:10 +09:00
a0100b1ed9 Use rsync setting up seodisparate doxygen docs
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
2023-12-19 12:54:52 +09:00
7227895240 Add Forgejo workflow for doxygen docs
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
2023-12-19 12:52:44 +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
ce092f81f9 Revert "Replace unnecessary use of atomic in "shared_lock""
This reverts commit b50e50b5fb.
2023-07-22 17:28:13 +09:00
b50e50b5fb Replace unnecessary use of atomic in "shared_lock" 2023-07-22 16:46:38 +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
56465c280c Update README.md 2023-07-19 11:35:28 +09:00
97f030a3a3 Add docs for UDPC_no* functions 2023-07-04 11:41:45 +09:00