Skip to main content

diskann_platform/win/
ssd_io_context.rs

1/*
2 * Copyright (c) Microsoft Corporation.
3 * Licensed under the MIT license.
4 */
5
6use crate::{FileHandle, IOCompletionPort};
7
8// The IOContext struct for disk I/O. One for each thread.
9pub struct IOContext {
10    pub status: Status,
11    pub file_handle: FileHandle,
12    pub io_completion_port: IOCompletionPort,
13}
14
15impl Default for IOContext {
16    fn default() -> Self {
17        IOContext {
18            status: Status::ReadWait,
19            file_handle: FileHandle::default(),
20            io_completion_port: IOCompletionPort::default(),
21        }
22    }
23}
24
25impl IOContext {
26    pub fn new() -> Self {
27        Self::default()
28    }
29}
30
31pub enum Status {
32    ReadWait,
33    ReadSuccess,
34    ProcessComplete,
35}