OnixS C++ B3 Binary UMDF Market Data Handler  1.3.0
API documentation
ExceptionHelpers.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 
25 
27 
28 /// Message type (template) identification.
30 
31 /// \private
32 /// Throws an exception on a bad repeating group.
34 ONIXS_B3_UMDF_MD_COLDPATH
35 ONIXS_B3_UMDF_MD_NORETURN
36 void throwBadBinaryBlock();
37 
38 /// \private
39 /// Throws an exception on a bad repeating group entry.
41 ONIXS_B3_UMDF_MD_COLDPATH
42 ONIXS_B3_UMDF_MD_NORETURN
43 void throwDisallowedField();
44 
45 /// \private
46 /// Raises an exception when the given binary block is too small.
48 ONIXS_B3_UMDF_MD_COLDPATH
49 ONIXS_B3_UMDF_MD_NORETURN
50 void throwBinaryBlockIsTooSmall(MessageSize actual, MessageSize required);
51 
52 /// \private
53 /// Raises an exception when the given binary block is too small.
55 ONIXS_B3_UMDF_MD_COLDPATH
56 ONIXS_B3_UMDF_MD_NORETURN
57 void throwBinaryBlockIsTooSmall(MessageSize actual, MessageSize required, const Char*);
58 
59 /// \private
60 /// Raises an exception on a bad message version.
62 ONIXS_B3_UMDF_MD_COLDPATH
63 ONIXS_B3_UMDF_MD_NORETURN
64 void throwBadMessageVersion(SchemaVersion messageVersion, SchemaVersion minimalVersion);
65 
66 /// \private
67 /// Raises an exception on a bad message id.
69 ONIXS_B3_UMDF_MD_COLDPATH
70 ONIXS_B3_UMDF_MD_NORETURN
71 void throwBadSchemaId(SchemaId expected, SchemaId provided);
72 
73 /// \private
74 /// Throws an exception on a bad repeating group entry.
76 ONIXS_B3_UMDF_MD_COLDPATH
77 ONIXS_B3_UMDF_MD_NORETURN
78 void throwNotEnoughSpace();
79 
80 /// \private
82 ONIXS_B3_UMDF_MD_COLDPATH
83 ONIXS_B3_UMDF_MD_NORETURN
84 void throwBadConversion(const Char* typeName);
85 
#define ONIXS_B3_UMDF_MD_EXPORTED
Definition: ABI.h:37
char Char
Character type alias.
Definition: String.h:30
#define ONIXS_B3_UMDF_MD_MESSAGING_NAMESPACE_END
Definition: ABI.h:151
UInt16 MessageSize
Message length type.
Definition: Aliases.h:29
#define ONIXS_B3_UMDF_MD_MESSAGING_NAMESPACE_BEGIN
Definition: ABI.h:146
MessageHeader::Version SchemaVersion
SBE-encoded data version type.
Definition: SchemaTraits.h:30
MessageHeader::SchemaId SchemaId
Definition: SchemaTraits.h:34
MessageHeader::TemplateId MessageTemplateId
Message type (template) identification.