Clarification on C++ function flow and asynchronous execution in 3FS
Author: jsramesh1990Created Aug 18, 2026Updated Aug 18, 2026
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:
- Which function is the initial entry point?
- Which object owns the asynchronous request?
- How is the request submitted?
- What mechanism is used to notify completion?
- Where is the callback/future/promise triggered?
- How does the result finally return to the original caller?
- 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.
Source: deepseek-ai/3FS