Skip to content

Commit a18cf58

Browse files
MOD: Update definitions asset field
1 parent 8ad129f commit a18cf58

File tree

6 files changed

+13
-5
lines changed

6 files changed

+13
-5
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@
77
messages
88
- Converting a `v1::SystemMsg` to a `v2::SystemMsg` now sets to `code` to the heartbeat
99
value
10+
- Introduced `kAssetCstrLen` constant containing the size of `asset` field in `InstrumentDefMsg`
1011

1112
### Breaking changes
1213
- Changed type of `code` field in `SystemMsg` to `SystemCode`
1314
- Changed type of `code` field in `ErrorMsg` to `ErrorCode`
15+
- Increased the size of `asset` field in `v3::InstrumentDefMsg` from 7 to 11. The `v3::InstrumentDefMsg` message size remains 520 bytes.
1416

1517
### Bug fixes
1618
- Changed `TriState` to a regular enum to handle unexpected values

include/databento/constants.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ static constexpr auto kUndefTimestamp =
2424
static constexpr auto kDbnVersion = 2;
2525
// The length of fixed-length symbol strings.
2626
static constexpr auto kSymbolCstrLen = 71;
27+
// The length of fixed-length asset string.
28+
static constexpr auto kAssetCstrLen = 7;
2729
// The multiplier for converting the `length` field in `RecordHeader` to bytes.
2830
static constexpr std::size_t kRecordHeaderLengthMultiplier = 4;
2931

include/databento/record.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ struct InstrumentDefMsg {
434434
std::array<char, kSymbolCstrLen> raw_symbol;
435435
std::array<char, 21> group;
436436
std::array<char, 5> exchange;
437-
std::array<char, 7> asset;
437+
std::array<char, kAssetCstrLen> asset;
438438
std::array<char, 7> cfi;
439439
std::array<char, 7> security_type;
440440
std::array<char, 31> unit_of_measure;

include/databento/v1.hpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#pragma once
22

3-
#include "databento/datetime.hpp" // UnixNanos
3+
#include "databento/constants.hpp" // kSymbolCstrLen
4+
#include "databento/datetime.hpp" // UnixNanos
45
#include "databento/enums.hpp"
56
#include "databento/record.hpp"
67
#include "databento/v2.hpp"
@@ -13,6 +14,7 @@ struct InstrumentDefMsg;
1314

1415
namespace v1 {
1516
static constexpr std::size_t kSymbolCstrLen = 22;
17+
static constexpr std::size_t kAssetCstrLen = databento::kAssetCstrLen;
1618

1719
using MboMsg = databento::MboMsg;
1820
using TradeMsg = databento::TradeMsg;
@@ -92,7 +94,7 @@ struct InstrumentDefMsg {
9294
std::array<char, kSymbolCstrLen> raw_symbol;
9395
std::array<char, 21> group;
9496
std::array<char, 5> exchange;
95-
std::array<char, 7> asset;
97+
std::array<char, kAssetCstrLen> asset;
9698
std::array<char, 7> cfi;
9799
std::array<char, 7> security_type;
98100
std::array<char, 31> unit_of_measure;

include/databento/v2.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
namespace databento::v2 {
77
static constexpr std::size_t kSymbolCstrLen = databento::kSymbolCstrLen;
8+
static constexpr std::size_t kAssetCstrLen = databento::kAssetCstrLen;
89

910
using MboMsg = databento::MboMsg;
1011
using TradeMsg = databento::TradeMsg;

include/databento/v3.hpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
namespace databento::v3 {
1212
static constexpr std::size_t kSymbolCstrLen = databento::kSymbolCstrLen;
13+
static constexpr std::size_t kAssetCstrLen = 11;
1314

1415
using MboMsg = databento::MboMsg;
1516
using TradeMsg = databento::TradeMsg;
@@ -100,7 +101,7 @@ struct InstrumentDefMsg {
100101
std::array<char, kSymbolCstrLen> raw_symbol;
101102
std::array<char, 21> group;
102103
std::array<char, 5> exchange;
103-
std::array<char, 7> asset;
104+
std::array<char, kAssetCstrLen> asset;
104105
std::array<char, 7> cfi;
105106
std::array<char, 7> security_type;
106107
std::array<char, 31> unit_of_measure;
@@ -124,7 +125,7 @@ struct InstrumentDefMsg {
124125
InstrumentClass leg_instrument_class;
125126
Side leg_side;
126127
// padding for alignment
127-
std::array<char, 21> reserved;
128+
std::array<char, 17> reserved;
128129
};
129130
static_assert(sizeof(InstrumentDefMsg) == 520,
130131
"InstrumentDefMsg size must match Rust");

0 commit comments

Comments
 (0)