OnixS C++ B3 BOE Binary Order Entry 1.3.0
API Documentation
Loading...
Searching...
No Matches
Typification.h
Go to the documentation of this file.
1// Copyright Onix Solutions Limited [OnixS]. All rights reserved.
2//
3// This software owned by Onix Solutions Limited [OnixS] and is
4// protected by copyright law and international copyright treaties.
5//
6// Access to and use of the software is governed by the terms of the applicable
7// OnixS Software Services Agreement (the Agreement) and Customer end user license
8// agreements granting a non-assignable, non-transferable and non-exclusive license
9// to use the software for it's own data processing purposes under the terms defined
10// in the Agreement.
11//
12// Except as otherwise granted within the terms of the Agreement, copying or
13// reproduction of any part of this source code or associated reference material
14// to any other location for further reproduction or redistribution, and any
15// amendments to this copyright notice, are expressly prohibited.
16//
17// Any reproduction or redistribution for sale or hiring of the Software not in
18// accordance with the terms of the Agreement is a violation of copyright law.
19//
20
21#pragma once
22
24
26
28template
29 <
30 class Message
31 >
32inline
35Message
37 const SbeMessage& message)
38{
39 return Message(message);
40}
41
48template
49<
50 class Processor
51>
52inline
54bool
56 SbeMessage binary,
57 const Processor& processor)
58{
59 switch (binary.templateId())
60 {
62 {
63 processor(
64 typify
66 (binary));
67
68 return true;
69 }
70
72 {
73 processor(
74 typify
76 (binary));
77
78 return true;
79 }
80
82 {
83 processor(
84 typify
86 (binary));
87
88 return true;
89 }
90
92 {
93 processor(
94 typify
96 (binary));
97
98 return true;
99 }
100
102 {
103 processor(
104 typify
106 (binary));
107
108 return true;
109 }
110
112 {
113 processor(
114 typify
116 (binary));
117
118 return true;
119 }
120
122 {
123 processor(
124 typify
125 <Terminate7>
126 (binary));
127
128 return true;
129 }
130
132 {
133 processor(
134 typify
136 (binary));
137
138 return true;
139 }
140
142 {
143 processor(
144 typify
145 <Sequence9>
146 (binary));
147
148 return true;
149 }
150
152 {
153 processor(
154 typify
156 (binary));
157
158 return true;
159 }
160
162 {
163 processor(
164 typify
166 (binary));
167
168 return true;
169 }
170
172 {
173 processor(
174 typify
176 (binary));
177
178 return true;
179 }
180
182 {
183 processor(
184 typify
186 (binary));
187
188 return true;
189 }
190
192 {
193 processor(
194 typify
196 (binary));
197
198 return true;
199 }
200
202 {
203 processor(
204 typify
206 (binary));
207
208 return true;
209 }
210
212 {
213 processor(
214 typify
216 (binary));
217
218 return true;
219 }
220
222 {
223 processor(
224 typify
226 (binary));
227
228 return true;
229 }
230
232 {
233 processor(
234 typify
236 (binary));
237
238 return true;
239 }
240
242 {
243 processor(
244 typify
246 (binary));
247
248 return true;
249 }
250
252 {
253 processor(
254 typify
256 (binary));
257
258 return true;
259 }
260
262 {
263 processor(
264 typify
266 (binary));
267
268 return true;
269 }
270
272 {
273 processor(
274 typify
276 (binary));
277
278 return true;
279 }
280
282 {
283 processor(
284 typify
286 (binary));
287
288 return true;
289 }
290
292 {
293 processor(
294 typify
296 (binary));
297
298 return true;
299 }
300
302 {
303 processor(
304 typify
306 (binary));
307
308 return true;
309 }
310
312 {
313 processor(
314 typify
316 (binary));
317
318 return true;
319 }
320
322 {
323 processor(
324 typify
326 (binary));
327
328 return true;
329 }
330
332 {
333 processor(
334 typify
336 (binary));
337
338 return true;
339 }
340
342 {
343 processor(
344 typify
346 (binary));
347
348 return true;
349 }
350
352 {
353 processor(
354 typify
355 <Quote403>
356 (binary));
357
358 return true;
359 }
360
362 {
363 processor(
364 typify
366 (binary));
367
368 return true;
369 }
370
372 {
373 processor(
374 typify
376 (binary));
377
378 return true;
379 }
380
382 {
383 processor(
384 typify
386 (binary));
387
388 return true;
389 }
390
392 {
393 processor(
394 typify
396 (binary));
397
398 return true;
399 }
400
402 {
403 processor(
404 typify
406 (binary));
407
408 return true;
409 }
410
412 {
413 processor(
414 typify
416 (binary));
417
418 return true;
419 }
420
422 {
423 processor(
424 typify
426 (binary));
427
428 return true;
429 }
430
432 {
433 processor(
434 typify
436 (binary));
437
438 return true;
439 }
440
442 {
443 processor(
444 typify
446 (binary));
447
448 return true;
449 }
450
451 default:
452 return false;
453 }
454}
455
#define ONIXS_B3_BOE_MESSAGING_NAMESPACE_END
Definition ABI.h:144
#define ONIXS_B3_BOE_MESSAGING_NAMESPACE_BEGIN
Definition ABI.h:140
#define ONIXS_B3_BOE_NODISCARD
Definition Compiler.h:191
#define ONIXS_B3_BOE_PURE
Definition Compiler.h:195
MessageTemplateId templateId() const noexcept
Message typify(const SbeMessage &message)
Casts SBE-encoded message to a given type.
bool processTypified(SbeMessage binary, const Processor &processor)
Casts a given binary message according to template/type information and processes the cast messages b...
AllocationInstruction message submits a request to allocate (fully or partially) a non-allocated trad...
Definition Messages.h:24515
AllocationReport message is as response of AllocationInstruction message.
Definition Messages.h:25187
BusinessMessageReject message can reject an application-level message which fulfills session level ru...
Definition Messages.h:16562
After negotiation level is complete, the client must send an Establish message to start assigning seq...
Definition Messages.h:1373
The EstablishmentAck message is sent when an Establish message is accepted by B3. EstablishmentAck me...
Definition Messages.h:1821
EstablishmentReject message is sent when an Establish message is rejected by B3 informing the reason ...
Definition Messages.h:2187
ExecutionReport - Cancel message is sent in response to Order Cancel Request as well as to report uns...
Definition Messages.h:11858
Execution Report – Forward message is sent with order fills were traded and processed on Matching Eng...
Definition Messages.h:15483
Execution Report - Modify message is sent in response to OrderCancelReplaceRequest or SimpleModifyOrd...
Definition Messages.h:10636
Execution Report - New message is sent in response to a NewOrderSingle or SimpleNewOrder messages,...
Definition Messages.h:9387
Execution Report - Reject message notifies the reason a client request was not accepted by Matching E...
Definition Messages.h:14315
Execution Report – Trade/Trade Bust message is sent with order fills that were traded and processed o...
Definition Messages.h:13013
The client sends the Negotiate message to B3 to initiate a connection. Negotiate is the first message...
Definition Messages.h:36
NegotiateReject message is sent when B3 rejects a Negotiate message sent by the client.
Definition Messages.h:971
The NegotiationResponse message is sent when a Negotiate message from the client is accepted by B3.
Definition Messages.h:593
The NewOrderCross message submits a Cross on Order Entry gateway, a two-sided order submitted by a si...
Definition Messages.h:8436
NewOrderSingle message is used to enter an order in the system; the behavior of an order can be affec...
Definition Messages.h:5734
NotApplied message is sent when B3 detects messages that already been sent (concept of idempotence) o...
Definition Messages.h:2846
Sent by client system to replace an existing order.
Definition Messages.h:6736
OrderCancelRequest message submits a deletion of an existing order by referencing the original client...
Definition Messages.h:7839
OrderMassActionReport message is used to acknowledge an OrderMassActionRequest message.
Definition Messages.h:26323
OrderMassActionRequest is sent by the client system to cancel working orders that belongs to a define...
Definition Messages.h:25779
PositionMaintenanceCancelRequest is a solicited cancel of PositionMaintenance message sent by client.
Definition Messages.h:22409
PositionMaintenanceReport message is sent owner of a position (holder) in response to a PositionMaint...
Definition Messages.h:23446
PositionMaintenanceRequest message allows the position owner (holder) to submit requests which will a...
Definition Messages.h:22829
Quote message is used as the response to a QuoteRequest message, tradeable, and restricted tradeable ...
Definition Messages.h:20014
The QuoteCancel message is used to cancel a previous QuoteRequest message.
Definition Messages.h:20773
The Quote Request message is used within the context of this Forward transaction in which two parties...
Definition Messages.h:18036
The QuoteRequestReject message is used when a QuoteRequest is not accept by B3 due to missing or inco...
Definition Messages.h:21339
The QuoteStatusReport message is to inform the current status of forward acceptance.
Definition Messages.h:19016
Retransmission message is sent when a RetransmitRequest message from the client is accepted by B3.
Definition Messages.h:3672
RetransmitReject message is sent when a RetransmitRequest message is rejected by B3....
Definition Messages.h:3980
RetransmitRequest message is used for client to recover missed messages.
Definition Messages.h:3360
The SecurityDefinitionRequest message creates a User Defined Spread (UDS) instrument....
Definition Messages.h:17004
The SecurityDefinitioresponse message is sent in response to an attempt to create a new security defi...
Definition Messages.h:17565
Sequence message specifies the sequence number of the next business message both: Recoverable (B3 to ...
Definition Messages.h:3112
The SimpleModifyOrder submits a simple modify request for basic parameters like price and quantity....
Definition Messages.h:4967
SimpleNewOrder message submits a simple new order focused on sent only main parameters with low compl...
Definition Messages.h:4271
Terminate message is sent to indicate that the sender is going to disconnect the TCP socket connectio...
Definition Messages.h:2548