Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

我在brpc实现了mongo的客户端, 对于无返回的请求, 该如何处理呢? 静静的等待超时? #2636

Open
jiangdongzi opened this issue May 8, 2024 · 9 comments

Comments

@jiangdongzi
Copy link

image

@chenBright
Copy link
Contributor

是不是可以使用 #2547 notify_on_success特性,在写入成功后,通过id_wait结束rpc?

@jiangdongzi
Copy link
Author

是不是可以使用 #2547 notify_on_success特性,在写入成功后,通过id_wait结束rpc?

结束rpc并不是关闭socket吧?

@chenBright
Copy link
Contributor

我理解这种没有响应的请求,在socket写完请求包就可以认为成功了。

设置notify_on_success后,socket写完请求包,就会调用id_wait的回调函数,这时候error_code是0,表示写入成功,就可以认为rpc调用成功了吧。

@jiangdongzi
Copy link
Author

我理解这种没有响应的请求,在socket写完请求包就可以认为成功了。

设置notify_on_success后,socket写完请求包,就会调用id_wait的回调函数,这时候error_code是0,表示写入成功,就可以认为rpc调用成功了吧。

对, 写入成功就表示rpc成功了, 调用id_wait回调会关闭对应的socket和fd么

@chenBright
Copy link
Contributor

设置notify_on_success后,不会

@chenBright
Copy link
Contributor

related PR: #2171

@jiangdongzi
Copy link
Author

设置notify_on_success后,不会

如果直接返回, 那么回包后controller, request, response析构了怎么办, 还是说只支持不回包的请求?

@chenBright
Copy link
Contributor

目前只支持不回包的请求。

什么场景需要支持回包的?

@jiangdongzi
Copy link
Author

目前只支持不回包的请求。

什么场景需要支持回包的?

有时候想完全忽略回包, 但是还是需要自己new cntl, new repsonse, 还要在 done Closure中 删除cntl, response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants