One operation, from submission to completion.
Fields
- overlapped: Overlapped
- Windows completion ports: must stay the first member.
- kind: Op_Kind
- state: Op_State
- handle: Handle
- buffer: *void
- length: s64
- offset: s64
- File position; negative: the current one.
- address: Sock_Storage
- The peer, in and out (
connect,accept). - address_length: u32
- phase: u8
- How far a multi-step operation got (connect: 0 not started, 1 waiting for the result).
- wants_write: bool
- Which readiness this operation waits for.
- fiber: *Fiber
- internal: bool
- Not a fiber's: reported to
internal_completion. - canceling: bool
- cancel_cause: Io_Error
- Why
cancel_opcanceled it:.CANCELED,.TIMED_OUT;.NONEif the handle was closed. - aux: s64
- Windows: the socket
acceptmade ahead of time (AcceptEx). - uncancelable: bool
- A file thread pool worker or an IoRing owns it; it runs to the end and cannot be interrupted.
- tag: Internal_Tag
- Which internal user an
internaloperation belongs to. - link: *Pool_Link
- The scheduler's end of the file thread pool that a worker reports to.
- slot: *Accept_Slot
- io_uring: the listener whose multishot accept this is.
- result: s64
- The completion.
- flags: u32
- more: bool
- More completions follow (multishot operations: the io_uring accept).
- buffer_id: s32
- next: *Op
- The free list, or the list of operations waiting on a descriptor.
- previous: *Op