| 312 | }; |
| 313 | #ifdef ENABLE_OPEN_AFS_ASYNC |
| 314 | class AfsFileCtrl { |
| 315 | public: |
| 316 | AfsFileCtrl(uint32_t afs_cnt): _afs_cnt(afs_cnt), _success_ret(false) {} |
| 317 | |
| 318 | // 解锁,设置success_ |
| 319 | void action_finish(int64_t ret); |
| 320 | |
| 321 | int64_t wait_onesucc_or_allfail(); |
| 322 | |
| 323 | private: |
| 324 | std::condition_variable _cv; |
| 325 | std::mutex _mutex; |
| 326 | const uint32_t _afs_cnt; |
| 327 | bool _succeeded = false; |
| 328 | uint32_t _fail_cnt = 0; |
| 329 | int64_t _success_ret = -1; |
| 330 | }; |
| 331 | |
| 332 | struct OpenReaderInfo { |
| 333 | std::shared_ptr<AfsFileCtrl> reader_ctrl; |
nothing calls this directly
no outgoing calls
no test coverage detected