Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
http2streams_p.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
HTTP2STREAMS_P_H
6
#
define
HTTP2STREAMS_P_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists for the convenience
13
// of the Network Access API. This header file may change from
14
// version to version without notice, or even be removed.
15
//
16
// We mean it.
17
//
18
19
#
include
"http2frames_p.h"
20
#
include
"hpack_p.h"
21
22
#
include
<
private
/
qhttpnetworkconnectionchannel_p
.
h
>
23
#
include
<
private
/
qhttpnetworkrequest_p
.
h
>
24
25
#
include
<
QtCore
/
qstring
.
h
>
26
27
#
include
<
vector
>
28
29
QT_REQUIRE_CONFIG
(
http
);
30
31
QT_BEGIN_NAMESPACE
32
33
class
QNonContiguousByteDevice;
34
35
namespace
Http2
36
{
37
38
struct
Q_AUTOTEST_EXPORT
Stream
39
{
40
enum
StreamState
{
41
idle
,
42
open
,
43
halfClosedLocal
,
44
halfClosedRemote
,
45
remoteReserved
,
46
closed
47
};
48
49
Stream
();
50
// That's a ctor for a client-initiated stream:
51
Stream
(
const
HttpMessagePair
&
message
,
quint32
streamID
,
qint32
sendSize
,
52
qint32
recvSize
);
53
// That's a reserved stream, created by PUSH_PROMISE from a server:
54
Stream
(
const
QString
&
key
,
quint32
streamID
,
qint32
recvSize
);
55
56
QHttpNetworkReply
*
reply
()
const
;
57
const
QHttpNetworkRequest
&
request
()
const
;
58
QHttpNetworkRequest
&
request
();
59
QHttpNetworkRequest
::
Priority
priority
()
const
;
60
uchar
weight
()
const
;
61
62
QNonContiguousByteDevice
*
data
()
const
;
63
64
HttpMessagePair
httpPair
;
65
quint32
streamID
= 0;
66
// Signed as window sizes can become negative:
67
qint32
sendWindow
= 65535;
68
qint32
recvWindow
= 65535;
69
70
StreamState
state
=
idle
;
71
QString
key
;
// for PUSH_PROMISE
72
};
73
74
struct
PushPromise
75
{
76
quint32
reservedID
= 0;
77
// PUSH_PROMISE has its own HEADERS,
78
// usually similar to what request has:
79
HPack
::
HttpHeader
pushHeader
;
80
// Response has its own (normal) HEADERS:
81
HPack
::
HttpHeader
responseHeader
;
82
// DATA frames on a promised stream:
83
std
::
vector
<
Frame
>
dataFrames
;
84
};
85
86
}
// namespace Http2
87
88
QT_END_NAMESPACE
89
90
#
endif
Http2
Definition
http2frames.cpp:15
QPlatformGraphicsBufferHelper
\inmodule QtGui
QT_REQUIRE_CONFIG
QT_REQUIRE_CONFIG(thread)
Http2::PushPromise
Definition
http2streams_p.h:75
Http2::PushPromise::dataFrames
std::vector< Frame > dataFrames
Definition
http2streams_p.h:83
Http2::PushPromise::responseHeader
HPack::HttpHeader responseHeader
Definition
http2streams_p.h:81
Http2::PushPromise::pushHeader
HPack::HttpHeader pushHeader
Definition
http2streams_p.h:79
Http2::PushPromise::reservedID
quint32 reservedID
Definition
http2streams_p.h:76
Http2::Stream
Definition
http2streams_p.h:39
qtbase
src
network
access
http2
http2streams_p.h
Generated on
for Qt by
1.14.0