65 Commits
Author SHA1 Message Date
Luo Bo df4dc97cc1 doc: fix broken link 2023-03-28 00:14:10 +08:00
kang jinci 97cdb7c305 refactor: optimize fold expressions (#95) 2023-03-27 23:42:13 +08:00
Luo Bo c1013cd189 fix(timer): avoid calling user's timer callback concurrently to avoid thread-safety issues. (#94) 2023-03-20 00:29:19 +08:00
kang jinci df3a042c37 fix(doc): fix the description error in the buffer document (#92) 2023-03-19 20:21:03 +08:00
kang jinci 17b70d10f5 Refactor SockAddrToString with flare::Format (#91) 2023-03-05 12:06:26 +08:00
Luo Bo 365d1ac367 fix(rpc): Use std::monostate exclusively to indicate that the message body is empty. (#90) 2023-02-11 14:52:17 +08:00
kang jinci 193b1f9b5a fix: BasicCountingSemaphore not using template parameters (#88)
* fix: `BasicCountingSemaphore` not using template parameters

* Add code about kLeastMaxValue
2022-12-25 21:52:09 +08:00
kang jinci 4fe6e36c81 feat: add Barrier (#87) 2022-12-25 21:17:46 +08:00
kang jinci 6edcbfa50c Add unboxed_type (#86) 2022-12-18 17:06:52 +08:00
kang jinci d90635ddf0 Adjust CI (#78)
* CI: add gcc-8 and gcc-10

* CI: add gcc-11 and gcc-12
2022-12-14 00:31:51 +08:00
kang jinci 430f7e0c06 Fix compile fail (#81)
* fix: gcc12 compile failed

* Update .gitignore
2022-12-13 22:00:25 +08:00
kang jinci ad6fdf02f8 feat: add this_fiber::GetId() interface (#83) 2022-12-13 21:59:42 +08:00
kang jinci 37be012382 remove redundant references (#79) 2022-12-09 01:42:01 +08:00
Luo Bo 4feff801fe Use Ubuntu 20.04 for running CI. Remove __const__ hack. (#80) 2022-12-07 23:26:01 +08:00
kang jinci aff2d8cadd Add constexpr to insert function (#77) 2022-12-07 22:09:19 +08:00
Luo Bo 64d72fc8c0 New workaround for reading special variables safely in fiber environment. (#72) 2022-05-29 20:04:50 +08:00
Luo Bo 89f7f52f12 CTAD of std::tuple may implicitly convert pair<T, U> to tuple<T, U>, suppressing this behavior. (#74) 2022-05-29 20:04:33 +08:00
Luo Bo a5003074b8 Removing redundant template arguments. (#73) 2022-05-29 16:10:22 +08:00
kang jinci 078ace2278 Fix compile bug and fiber calling with args (#66)
* Fix compile bug

* Fix fiber calling with args and add Fiber CallWithArgs TEST

* Use std::apply and CamelCase

Update fiber_test.cc
2022-05-29 15:05:15 +08:00
Luo Bo 2e2f59da08 Fix handling of arrays in converting JSON to Protocol Buffers message. (#62) 2022-04-02 22:06:32 +08:00
Luo Bo 6d3bf3c46a Do not abort on error when formatting logs. Fixed a possible dangling reference in FLARE_CHECK_OP. (#60) 2022-04-02 12:43:18 +08:00
Luo Bo a5bc9cb000 Not capturing fiber's execution context when setting a timer. (#59)
* Not capturing fiber's execution context when setting a timer. This was especially a horrible mistake for periodic timer. Because each RPC session is associated with an execution context, unless the timer is subsequently cancelled, the corresponding RPC session would never complete.
2021-12-25 01:09:54 +08:00
Luo Bo 7a69d23947 Disabled libidn when configuring libcurl. (#58) 2021-11-25 12:40:05 +08:00
SF-Zhou b2c84588fe Fix typo in object-pool.md (#57) 2021-09-26 21:09:08 +08:00
Luo Bo 648c2ebf65 Support Option<std::optional<T>>. This allows user to treat missing key as expected and handle the situation accordingly. (#55) 2021-08-13 15:40:23 +08:00
Luo Bo d41ae2e5fd Policy for determining which NSLB should be used has been moved out. Besides, users can now customize these policies. (#51) 2021-07-19 15:36:57 +08:00
Luo Bo 8c3a530be5 Introducing message_dispatcher_factory. This allows us to move policy for determining NSLB out, and customize it (possibly by end-user) as needed. (#49) 2021-07-13 19:03:45 +08:00
Luo Bo 7bf26e6587 Now we pass small objects by value. (#50) 2021-07-13 18:57:47 +08:00
Luo Bo 2111e3fdcd Exposing internals of flare/base/monitoring.cc. Now internal buffer size is (partly) configurable. (#47) 2021-07-06 23:37:58 +08:00
Luo Bo 340b1b0d14 Fix typo. (#46) 2021-07-06 18:16:45 +08:00
CHEN Feng 6a6617524d Add English README (#44) 2021-07-01 18:25:31 +08:00
guoxiang1996androot 0816e562dd feat#complete the Demangle function implementation in MSVC compiler (#41)
* fix#complete Demangle in MSVC to compile

Co-authored-by: root <guoxaing>
2021-06-28 14:13:41 +08:00
Luo Bo ae8e9827f1 Removed two redundant acquire-fences. Treat empty and non-empty case equally in RunQueue::TryPop(). (#42) 2021-06-26 19:32:01 +08:00
guoxiang1996androot 24b6ba53ce hotfix#fix typo in comment (#40)
Co-authored-by: root <guoxaing>
2021-06-26 12:32:50 +08:00
zjyuan 4a58451669 fix typo in example code (#39) 2021-06-26 10:22:47 +08:00
Luo Bo 630bc811c9 Fixed move assignment of Deferred. (#38) 2021-06-25 23:40:38 +08:00
zjyuan 1248d9799d fix typo (#37) 2021-06-24 19:07:10 +08:00
Luo Bo 9076e74715 We use at least 4 pthread workers to run fibers, unless otherwise specified by user. (#36) 2021-06-23 17:14:57 +08:00
Luo Bo 647cb0288b Adding CI. (#35) 2021-06-22 01:28:46 +08:00
Luo Bo 52f76daa92 Now we don't instantiate fiber until it's actually run. This alleviates producer-consumer effect of fiber stack allocation (and therefore boost performance.). (#32) 2021-06-21 16:46:04 +08:00
Luo Bo bad9f62be0 Upgrading blade to #ea03d43. (#34)
Closing #18, #22.
2021-06-18 15:21:53 +08:00
果冻虾仁 fe30705561 Remove dependency to brotlidec when building libcurl. (#33) 2021-06-18 11:13:58 +08:00
Luo Bo e2697cbd2b Using dedicated folder for building script (as far as we can). Stripped all thirdparty/ prefix in #includes. This permits (possible) integration with other building systems. (#29)
* Stripped thirdparty/ prefix when including external headers.

* Introduced dedicated folder for different building systems.;

* Using canonical path for include protobuf's headers.

* Using canonical path for googletest.
2021-06-15 23:07:46 +08:00
Luo Bo f49062154f Getting rid of cmake's package registry. Suppressing gflags from installing to cmake's registry. (#31) 2021-06-14 21:12:44 +08:00
Luo Bo 2f7c0a9f7b Object pool's thread-local buffer should be aligned to hardware destructive interference size as well. (#28) 2021-06-13 16:01:16 +08:00
Luo Bo 881f82dc26 Optimizing object pool a bit. GCC isn't clever enough to eliminate all dead stores. Besides, we don't have to store a copy of destroyer along with every object. (#25) 2021-06-12 18:35:53 +08:00
Luo Bo 4da6409c87 Fixing possible name lookup failure when using flare/base/enum.h to provide bitmask operations. This led to compilation error if both flare/base/option.h and flare/rpc/rpc_client_controller.h were included in same file. (#24) 2021-06-12 18:22:35 +08:00
Luo Bo 03b64a8605 We forgot to call parser to parse default value for Option<T>. (#27) 2021-06-12 18:22:02 +08:00
Luo Bo 147a9c6cc6 Always use --no-as-needed to make sure link_all_symbols work as intended. (#26) 2021-06-12 01:44:10 +08:00
CHEN Feng 1b562391f2 Upgrade blade to fix build errors under WSL2 (#21) 2021-06-03 12:18:01 +08:00