OnixS C++ Eurex T7 Market and Reference Data Interface (EMDI, RDI, EOBI) Handlers  7.2.2
API documentation
EobiPacketParser.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*
4 * Copyright Onix Solutions Limited [OnixS]. All rights reserved.
5 *
6 * This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
7 * and international copyright treaties.
8 *
9 * Access to and use of the software is governed by the terms of the applicable ONIXS Software
10 * Services Agreement (the Agreement) and Customer end user license agreements granting
11 * a non-assignable, non-transferable and non-exclusive license to use the software
12 * for it's own data processing purposes under the terms defined in the Agreement.
13 *
14 * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
15 * of this source code or associated reference material to any other location for further reproduction
16 * or redistribution, and any amendments to this copyright notice, are expressly prohibited.
17 *
18 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
19 * the terms of the Agreement is a violation of copyright law.
20 */
21 
22 #include <networking/Definitions.h>
24 
25 namespace OnixS {
26 namespace Eurex {
27 namespace MarketData {
28 namespace EOBI {
29 namespace Implementation {
30 
31 struct BaseMsgData;
32 
34 {
35 public:
38 
39 public:
40  bool attachPacketData(const Networking::Byte *packet, size_t size);
41  bool hasMoreData() const;
42  const BaseMsgData* getNextMessage() const;
43 
44 public:
45  static MarketSegmentId getMarketSegmentId(const Networking::Byte *packet, size_t size);
46 
47 private: // parsing
48  static bool checkPacketHeader(const Networking::Byte *packet, size_t size);
49  static bool checkPacketContent(const Networking::Byte *packet, size_t size);
50 
51 private:
52  const Networking::Byte *data_;
53  size_t size_;
54  mutable size_t offset_;
55 };
56 
57 }}}}}
bool attachPacketData(const Networking::Byte *packet, size_t size)
static MarketSegmentId getMarketSegmentId(const Networking::Byte *packet, size_t size)
Definition: Defines.h:30
UInt32 MarketSegmentId
Alias for Market Segment ID type.
Definition: Defines.h:40