xybanpeng

Results 4 comments of xybanpeng

> 如果直接在当前bthread执行KeepWrite,可能会阻塞异步rpc的CallMethod调用。 baidu_rpc_protocol.cpp SendRpcResponse调用socket write的时候,在参数里加个标识是不是可行? baidu_rpc_protocol.cpp: ![image](https://github.com/apache/brpc/assets/132085767/713927a1-35ee-40b7-8157-b84282cd9881) socket.cpp: ![image](https://github.com/apache/brpc/assets/132085767/bba76af0-8f8f-4f4b-94d5-81c5b1752641)

> 这样也会影响服务端异步rpc响应吧。Socket::StartWrite里直接调用KeepWrite,会导致Write阻塞,不太合理吧。 > > 加个参数,支持使用bthread_start_urgent原地执行KeepWrite,应该能满足需求。 当前请求的response已经返回了,client端应该是已经结束了。Write阻塞指的是什么?

> 单纯从Socket::Write接口看就是有可能会阻塞吧。 只有baidu_rpc_protocol.cpp SendRpcResponse调用Socket::Write的时候才会在执行完之后去处理队列里的消息,默认都是使用bthread_start_background

> 用bthread_start_urgent效果差不多,但是影响更小? 效果应该差不多