- Notifications
You must be signed in to change notification settings - Fork 8.5k
/
Copy pathreadData.hpp
55 lines (43 loc) · 1.4 KB
/
readData.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/*++
Copyright (c) Microsoft Corporation
Licensed under the MIT license.
Module Name:
- readData.hpp
Abstract:
- This file defines the interface for read data structures.
- Read data structures are used to pass context between various layers of the read
as well as to persist state across a read call that must wait until additional
data is added to the buffer at a later time.
Author:
- Austin Diviness (AustDi) 1-Mar-2017
- Michael Niksa (MiNiksa) 1-Mar-2017
Revision History:
--*/
#pragma once
#include"inputReadHandleData.h"
#include"../server/IWaitRoutine.h"
#include"../server/WaitTerminationReason.h"
classInputBuffer;
classReadData : publicIWaitRoutine
{
public:
ReadData(_In_ InputBuffer* const pInputBuffer,
_In_ INPUT_READ_HANDLE_DATA* const pInputReadHandleData);
~ReadData() override;
ReadData(ReadData&&);
InputBuffer* GetInputBuffer() const;
INPUT_READ_HANDLE_DATA* GetInputReadHandleData() const;
// TODO MSFT:11285829 this is a temporary kludge until the constructors are ironed
// out, so that we can still run the tests in the meantime.
#if UNIT_TESTING
ReadData() :
IWaitRoutine(ReplyDataType::Read),
_pInputBuffer{ nullptr },
_pInputReadHandleData{ nullptr }
{
}
#endif
protected:
InputBuffer* _pInputBuffer;
INPUT_READ_HANDLE_DATA* _pInputReadHandleData;
};