xybanpeng
xybanpeng
> 如果直接在当前bthread执行KeepWrite,可能会阻塞异步rpc的CallMethod调用。 baidu_rpc_protocol.cpp SendRpcResponse调用socket write的时候,在参数里加个标识是不是可行? baidu_rpc_protocol.cpp:  socket.cpp: 
> 这样也会影响服务端异步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效果差不多,但是影响更小? 效果应该差不多