Clarification on C++ function flow and asynchronous execution in 3FS
- Dominant language
- C++
- Stars
- 10.2k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
I am trying to understand the asynchronous execution model used in 3FS.
When a client performs a read/write operation, I see that the operation
eventually completes asynchronously.
Could someone explain the C++ function call flow for one complete request?
Specifically:
1. Which function is the initial entry point?
2. Which object owns the asynchronous request?
3. How is the request submitted?
4. What mechanism is used to notify completion?
5. Where is the callback/future/promise triggered?
6. How does the result finally return to the original caller?
7. How are object lifetimes managed while the operation is pending?
A simplified example such as:
request()
-> submit()
-> async operation
-> RDMA/network
-> completion
-> callback
-> return result
would help me understand the C++ architecture.
I am mainly interested in the actual C++ classes/functions involved and
their call sequence.
Contributor guide
No contributing guide indexed for this repository
Research direction
No files, tests, entry points, classes, or functions are named in the issue; begin by locating the C++ read/write request path and tracing the requested call sequence. Done means documenting the owning object, submission and completion mechanism, callback/future/promise point, result return, and pending-lifetime handling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- distributed-systems, documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100