Lean
$LEAN_TAG$
Packet.cs
1
/*
2
* QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals.
3
* Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
8
*
9
* Unless required by applicable law or agreed to in writing, software
10
* distributed under the License is distributed on an "AS IS" BASIS,
11
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
* See the License for the specific language governing permissions and
13
* limitations under the License.
14
*
15
*/
16
17
using
Newtonsoft.Json;
18
using
Newtonsoft.Json.Converters;
19
20
namespace
QuantConnect.Packets
21
{
22
/// <summary>
23
/// Base class for packet messaging system
24
/// </summary>
25
public
class
Packet
26
{
27
/// <summary>
28
/// Packet type defined by a string enum
29
/// </summary>
30
public
PacketType
Type
{
get
;
set
; } =
PacketType
.None;
31
32
/// <summary>
33
/// User unique specific channel endpoint to send the packets
34
/// </summary>
35
public
virtual
string
Channel
{
get
;
set
; } =
""
;
36
37
/// <summary>
38
/// Initialize the base class and setup the packet type.
39
/// </summary>
40
/// <param name="type">PacketType for the class.</param>
41
public
Packet
(
PacketType
type)
42
{
43
Channel
=
""
;
44
Type
= type;
45
}
46
}
47
48
/// <summary>
49
/// Classifications of internal packet system
50
/// </summary>
51
[JsonConverter(typeof(StringEnumConverter))]
52
public
enum
PacketType
53
{
54
/// Default, unset:
55
None,
56
57
/// Base type for backtest and live work
58
AlgorithmNode
,
59
60
/// Autocomplete Work Packet
61
AutocompleteWork
,
62
63
/// Result of the Autocomplete Job:
64
AutocompleteResult
,
65
66
/// Controller->Backtest Node Packet:
67
BacktestNode,
68
69
/// Packet out of backtest node:
70
BacktestResult
,
71
72
/// API-> Controller Work Packet:
73
BacktestWork
,
74
75
/// Controller -> Live Node Packet:
76
LiveNode,
77
78
/// Live Node -> User Packet:
79
LiveResult
,
80
81
/// API -> Controller Packet:
82
LiveWork
,
83
84
/// Node -> User Algo Security Types
85
SecurityTypes
,
86
87
/// Controller -> User Error in Backtest Settings:
88
BacktestError
,
89
90
/// Nodes -> User Algorithm Status Packet:
91
AlgorithmStatus
,
92
93
/// API -> Compiler Work Packet:
94
BuildWork
,
95
96
/// Compiler -> User Build Success
97
BuildSuccess,
98
99
/// Compiler -> User, Compile Error
100
BuildError,
101
102
/// Node -> User Algorithm Runtime Error
103
RuntimeError
,
104
105
/// Error is an internal handled error packet inside users algorithm
106
HandledError
,
107
108
/// Nodes -> User Log Message
109
Log,
110
111
/// Nodes -> User Debug Message
112
Debug
,
113
114
/// Nodes -> User, Order Update Event
115
OrderEvent
,
116
117
/// Boolean true/false success
118
Success
,
119
120
/// History live job packets
121
History
,
122
123
/// Result from a command
124
CommandResult
,
125
126
/// Hook from git hub
127
GitHubHook
,
128
129
/// Documentation result from docs server
130
DocumentationResult
,
131
132
/// Documentation request to the docs server
133
Documentation
,
134
135
/// Debug packet generated by Lean
136
SystemDebug
,
137
138
/// Packet containing insights generated by the algorithm
139
AlphaResult
,
140
141
/// Alpha API -> Controller packet
142
AlphaWork
,
143
144
/// Alpha Controller -> Alpha Node packet
145
AlphaNode
,
146
147
/// Packet containing list of algorithms to run as a regression test
148
RegressionAlgorithm
,
149
150
/// Packet containing a heartbeat
151
AlphaHeartbeat
,
152
153
/// Used when debugging to send status updates
154
DebuggingStatus
,
155
156
/// Optimization Node Packet:
157
OptimizationNode
,
158
159
/// Optimization Estimate Packet:
160
OptimizationEstimate
,
161
162
/// Optimization work status update
163
OptimizationStatus,
164
165
/// Optimization work result
166
OptimizationResult
,
167
168
/// Aggregated packets
169
Aggregated
,
170
171
/// Query the language model
172
LanguageModelQuery
,
173
174
/// Send feedback to a language model response
175
LanguageModelFeedback
,
176
177
/// The language models response
178
LanguageModelResponse
,
179
180
/// Language model code analysis
181
LanguageModelCodeAnalysis
,
182
183
/// Language model chat work
184
LanguageModelChatWork
,
185
186
/// Language model chat response
187
LanguageModelChatResponse
,
188
189
/// Algorithm name update
190
AlgorithmNameUpdate
,
191
192
/// Algorithm tags update
193
AlgorithmTagsUpdate
,
194
195
/// Research job packet
196
ResearchNode,
197
198
/// Organization update
199
OrganizationUpdate
,
200
}
201
}
Common
Packets
Packet.cs
Generated by
1.8.17