Ping'an Tian

Results 3 issues of Ping'an Tian

### What problem does this PR solve? Issue Number: #2783 Problem Summary: ### What is changed and how it works? What's Changed: 1. Add support for PutObjectOptions in PutObject and...

```c++ #include #include "co_context/io_context.hpp" co_context::task func() { co_return 6; } int main() { co_context::io_context ctx; ctx.co_spawn([]() -> co_context::task { while (true) { auto x = co_await func(); std::cout

libp2p目录中Service.cpp代码逻辑有问题,在特殊情况下会出现一对节点互相无法联通的。 经过排查,发现是在Disconnect duplicate peer时,并没有真正关闭连接,使得一对节点互相持有对方早已移除的连接,从而无法完成通信。 在`Service::onConnect`中,如果出现duplicate peer,会执行`session->disconnect(rock::network::DuplicatePeer)` onConnect函数关键代码如下: ```C++ auto it = m_sessions.find(nodeID); if (it != m_sessions.end() && it->second->actived()) { SERVICE_LOG(TRACE) disconnect(rock::network::DuplicatePeer); return; } ``` session的disconnect函数会调用drop函数: ```C++ void Session::disconnect(DisconnectReason _reason) {...