50 Commits

Author SHA1 Message Date
Bright Chen c9778ca1a3 Refactor NULL with nullptr in test (#3464) 2026-08-19 13:26:18 +08:00
chenBright e2172be6e5 Support end-to-end ECE negotiation in RDMA handshake V3
Previously BringUpQp only did a local ibv_query_ece + ibv_set_ece
roundtrip and never exchanged ECE capabilities with the peer.
This patch wires up the standard requestor/responder ECE negotiation
flow on top of the existing v3 handshake without adding any extra
round trip:

1. Client queries local ECE, advertises it in its v3 hello.

2. Server applies the client's ECE in INIT->RTR (set_ece), then
   after RTS queries the reduced/negotiated ECE and sends it back
   in the reply hello.

3. Client applies the server's reduced ECE in INIT->RTR.
2026-07-19 01:03:20 +08:00
sunhao 853fa6bede fix: set socket buffer options before connect (#3368) 2026-07-18 16:50:30 +08:00
Bright Chen 56445c5076 Support LeakSanitizer (#3361) 2026-06-28 14:04:39 +08:00
Bright Chen 12fb539a1c Use monotonic time instead of wall time (#3268) 2026-04-13 14:14:03 +08:00
Bright Chen a1877bc077 Support various payload of baidu-std: json, proto-json and proto-text (#2946)
* Support various payload of baidu-std: json, proto-json and proto-text

* Refactor implementation of compress
2025-04-16 17:03:30 +08:00
Bright Chen 0c4f2a897c Fix some unstable UTs (#2928) 2025-03-28 23:13:42 +08:00
Bright Chen 7a7d1c83e5 Support AddressSanitizer (#2890)
* Support AddressSanitizer

* Add gperftools helper header
2025-03-26 20:07:45 +08:00
Bright Chen 5c8bd0643e Fix double free messages in baidu-std (#2924) 2025-03-23 14:07:22 +08:00
Bright Chen c93d0e06f5 Fix gflag namespace (#2877) 2025-01-18 17:49:51 +08:00
Bright Chen 609676daf2 Support tcp user timeout of client 2025-01-12 19:14:30 +08:00
Bright Chen edfc00791d Fix uninitialized local side of Socket 2024-06-26 22:19:34 +08:00
Bright Chen 15469ed314 Support connect on socket create (#2574) 2024-06-13 12:23:28 +08:00
Bright Chen c666ea4525 Support shutdown write and notify for success write (#2547)
* Support shutdown write and notify for success write

* Fix some problems
2024-04-08 11:07:11 +08:00
Divyansh200102 a665f60d10 remove the docs and comments related to HealthCheckThread (#2463) 2023-12-13 22:53:48 +01:00
Bright Chen bc6f30deee Force SSL for all connections of Acceptor (#2231)
* Force SSL for all connections

* Force SSL for all connections of Acceptor

* Force SSL option in ServerOptions
2023-06-25 14:35:36 +08:00
Weibing Wang 3dbf35b970 Fix unstable keepalive ut (#2261) 2023-05-22 16:05:49 +08:00
Bright Chen ec11bb3940 Support TCP heartbeat of client (#2098)
* support TCP heartbeat of client

* optimize keepalive code & add UT

* optimize keepalive code

* fix keepalive UT

* use PLOG instead of LOG
2023-04-26 15:45:56 +08:00
Jiashun Zhu f6029736df Fix slow test in brpc_socket_unittest.cpp (#1898) 2022-08-25 10:15:38 +08:00
chenguangming 9ca45137bd rename _is_in_socket_map to _is_hc_related_ref_held 2022-07-21 16:49:38 +08:00
chenguangming b87795d9c5 set _is_in_socket_map after insert successfully 2022-07-19 11:45:55 +08:00
chenguangming d54c1b8a11 rename _enalbe_health_check to _is_in_socket_map 2022-07-18 15:07:49 +08:00
Weibing Wang 078051f9bf Update license header to Apache 2019-06-20 14:22:57 +08:00
zhujiashun ddcb074933 health_check_using_rpc: use _ninflight_app_level_health_check to solve race 2019-03-25 18:59:20 +08:00
zhujiashun 3ab2b2d61d health_check_using_rpc: change _health_checking_using_rpc to _app_level_health_checking & use Address in OnHealthCheckRPCDone 2019-03-25 12:21:37 +08:00
zhujiashun 267c6257c7 health_check_using_rpc: fix UT after rebase master 2019-03-23 13:54:44 +08:00
zhujiashun 75a80db855 health_check_using_rpc: misc change & update docs 2019-03-23 13:47:02 +08:00
zhujiashun d5bc479ea0 health_check_using_rpc: make hc rpc async 2019-03-23 13:47:02 +08:00
zhujiashun 387d034bda health_check_using_rpc: use HealthCheckChannel instead of Channel to hc 2019-03-23 13:47:02 +08:00
zhujiashun cfbe1e5c33 health_check_using_rpc: hc in the original task again if failed 2019-03-23 13:47:02 +08:00
zhujiashun a2cc202cfa health_check_using_rpc: fix UT 2019-03-23 13:47:02 +08:00
zhujiashun 084c1e7af7 health_check_using_rpc: health check after revive & add UT 2019-03-23 13:47:02 +08:00
zhujiashun 2dc9cbad53 health_check_using_rpc: add single server 2019-03-23 13:47:02 +08:00
gejun 51259c0b5d Move reuse_addr from server.cpp to endpoint.cpp and make the code more robust 2019-03-22 19:45:06 +08:00
gejun 6b53cac121 Make printing socket in logs more readable 2018-09-27 17:24:28 +08:00
gejun 349f9087ae Fix UT 2018-09-26 15:55:14 +08:00
gejun a9e954879f Remove Socket._options and make app_connect shared 2018-09-25 19:50:15 +08:00
zyearn 0fe6c3d042 pass most of UTs except bthread_key and builtin_service 2018-03-25 22:12:07 +08:00
gejun 3d9a6ec81b add missing files for MAC 2018-01-12 19:49:49 +08:00
gejun 09cc273d34 Replace 'Baidu RPC' with 'brpc' 2017-11-03 14:14:50 +08:00
gejun 3a2dee2845 r35386: Add more errors to does_error_affect_main_socket 2017-10-18 15:27:32 +08:00
gejun 01bcd2cf48 remove explicit deps on gperftools/profiler.h to adapt different versions of gperftools better 2017-09-20 15:25:50 +08:00
gejun 8ae7b0c898 Decide namespace of gflags in config_brpc.sh 2017-09-19 20:38:38 +08:00
gejun 80f9f2f160 Rename base to butil to avoid potential naming conflicts 2017-09-08 17:17:35 +08:00
gejun 023371e643 Change copyright to Baidu, Inc 2017-09-05 19:44:12 +08:00
gejun 24c64eaa2b Patch svn r35218 2017-09-04 17:12:59 +08:00
gejun 0630ae1e8a Patch svn r35206 & fix compilation of tools 2017-09-02 18:29:40 +08:00
gejun 6f08143eb7 Patch svn r35149 2017-08-24 14:17:37 +08:00
gejun f354819788 Patch svn r35012 r35019 r35020
Change-Id: I554d2e9583b788a4b78c0f9a560d2cb9a186070f
2017-08-14 16:46:59 +08:00
gejun 7998155962 first working CI
Change-Id: I68c0cafba040debefd660c5213f21e6fc702a4a6
2017-07-25 23:02:28 +08:00