Skip to content

Commit d192586

Browse files
committed
MOD: Rename booklevel to levels
1 parent b9a4110 commit d192586

File tree

5 files changed

+79
-78
lines changed

5 files changed

+79
-78
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Changelog
22

33
## 0.8.0 - TBD
4+
- Renamed `booklevel` MBP field to `levels` for brevity and consistent naming
45
- Changed `end` and `end_date` to optional to support new forward-fill behaviour
56

67
## 0.7.0 - 2023-04-28

include/databento/record.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ struct MbpMsg {
109109
UnixNanos ts_recv;
110110
TimeDeltaNanos ts_in_delta;
111111
std::uint32_t sequence;
112-
std::array<BidAskPair, N> booklevel;
112+
std::array<BidAskPair, N> levels;
113113
};
114114

115115
} // namespace detail
@@ -128,7 +128,7 @@ struct TradeMsg {
128128
UnixNanos ts_recv;
129129
TimeDeltaNanos ts_in_delta;
130130
std::uint32_t sequence;
131-
// 0-sized types don't exist in C++ so booklevel is omitted
131+
// 0-sized types don't exist in C++ so levels is omitted
132132
};
133133

134134
using Mbp1Msg = detail::MbpMsg<1>;
@@ -366,7 +366,7 @@ bool operator==(const MbpMsg<N>& lhs, const MbpMsg<N>& rhs) {
366366
lhs.action == rhs.action && lhs.side == rhs.side &&
367367
lhs.flags == rhs.flags && lhs.depth == rhs.depth &&
368368
lhs.ts_recv == rhs.ts_recv && lhs.ts_in_delta == rhs.ts_in_delta &&
369-
lhs.sequence == rhs.sequence && lhs.booklevel == rhs.booklevel;
369+
lhs.sequence == rhs.sequence && lhs.levels == rhs.levels;
370370
}
371371
template <std::size_t N>
372372
bool operator!=(const MbpMsg<N>& lhs, const MbpMsg<N>& rhs) {

src/record.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -216,16 +216,16 @@ std::ostream& operator<<(std::ostream& stream, const Mbp1Msg& mbp_msg) {
216216
.AddField("ts_recv", mbp_msg.ts_recv)
217217
.AddField("ts_in_delta", mbp_msg.ts_in_delta)
218218
.AddField("sequence", mbp_msg.sequence)
219-
.AddField("booklevel", std::get<0>(mbp_msg.booklevel))
219+
.AddField("levels", std::get<0>(mbp_msg.levels))
220220
.Finish();
221221
}
222222
template <>
223223
std::ostream& operator<<(std::ostream& stream, const Mbp10Msg& mbp_msg) {
224-
std::ostringstream booklevels;
225-
auto booklevel_helper =
226-
StreamOpBuilder{booklevels}.SetSpacer("\n ").SetIndent(" ").Build();
227-
for (const auto& booklevel : mbp_msg.booklevel) {
228-
booklevel_helper.AddItem(booklevel);
224+
std::ostringstream levelss;
225+
auto levels_helper =
226+
StreamOpBuilder{levelss}.SetSpacer("\n ").SetIndent(" ").Build();
227+
for (const auto& levels : mbp_msg.levels) {
228+
levels_helper.AddItem(levels);
229229
}
230230
return StreamOpBuilder{stream}
231231
.SetTypeName("Mbp10Msg")
@@ -241,8 +241,8 @@ std::ostream& operator<<(std::ostream& stream, const Mbp10Msg& mbp_msg) {
241241
.AddField("ts_recv", mbp_msg.ts_recv)
242242
.AddField("ts_in_delta", mbp_msg.ts_in_delta)
243243
.AddField("sequence", mbp_msg.sequence)
244-
.AddField("booklevel",
245-
static_cast<std::ostringstream&>(booklevel_helper.Finish()))
244+
.AddField("levels",
245+
static_cast<std::ostringstream&>(levels_helper.Finish()))
246246
.Finish();
247247
}
248248
} // namespace detail

test/src/dbn_decoder_tests.cpp

Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -196,12 +196,12 @@ TEST_P(DbnDecoderSchemaTests, TestDecodeMbp1) {
196196
EXPECT_EQ(ch_mbp1.ts_recv.time_since_epoch().count(), 1609160400006136329);
197197
EXPECT_EQ(ch_mbp1.ts_in_delta.count(), 17214);
198198
EXPECT_EQ(ch_mbp1.sequence, 1170362);
199-
EXPECT_EQ(ch_mbp1.booklevel[0].bid_px, 3720250000000);
200-
EXPECT_EQ(ch_mbp1.booklevel[0].ask_px, 3720500000000);
201-
EXPECT_EQ(ch_mbp1.booklevel[0].bid_sz, 24);
202-
EXPECT_EQ(ch_mbp1.booklevel[0].ask_sz, 11);
203-
EXPECT_EQ(ch_mbp1.booklevel[0].bid_ct, 15);
204-
EXPECT_EQ(ch_mbp1.booklevel[0].ask_ct, 9);
199+
EXPECT_EQ(ch_mbp1.levels[0].bid_px, 3720250000000);
200+
EXPECT_EQ(ch_mbp1.levels[0].ask_px, 3720500000000);
201+
EXPECT_EQ(ch_mbp1.levels[0].bid_sz, 24);
202+
EXPECT_EQ(ch_mbp1.levels[0].ask_sz, 11);
203+
EXPECT_EQ(ch_mbp1.levels[0].bid_ct, 15);
204+
EXPECT_EQ(ch_mbp1.levels[0].ask_ct, 9);
205205

206206
const auto ch_record2 = channel_target_->DecodeRecord();
207207
const auto f_record2 = file_target_->DecodeRecord();
@@ -225,12 +225,12 @@ TEST_P(DbnDecoderSchemaTests, TestDecodeMbp1) {
225225
EXPECT_EQ(ch_mbp2.ts_recv.time_since_epoch().count(), 1609160400006246513);
226226
EXPECT_EQ(ch_mbp2.ts_in_delta.count(), 18858);
227227
EXPECT_EQ(ch_mbp2.sequence, 1170364);
228-
EXPECT_EQ(ch_mbp2.booklevel[0].bid_px, 3720250000000);
229-
EXPECT_EQ(ch_mbp2.booklevel[0].ask_px, 3720500000000);
230-
EXPECT_EQ(ch_mbp2.booklevel[0].bid_sz, 24);
231-
EXPECT_EQ(ch_mbp2.booklevel[0].ask_sz, 12);
232-
EXPECT_EQ(ch_mbp2.booklevel[0].bid_ct, 15);
233-
EXPECT_EQ(ch_mbp2.booklevel[0].ask_ct, 10);
228+
EXPECT_EQ(ch_mbp2.levels[0].bid_px, 3720250000000);
229+
EXPECT_EQ(ch_mbp2.levels[0].ask_px, 3720500000000);
230+
EXPECT_EQ(ch_mbp2.levels[0].bid_sz, 24);
231+
EXPECT_EQ(ch_mbp2.levels[0].ask_sz, 12);
232+
EXPECT_EQ(ch_mbp2.levels[0].bid_ct, 15);
233+
EXPECT_EQ(ch_mbp2.levels[0].ask_ct, 10);
234234
}
235235

236236
TEST_P(DbnDecoderSchemaTests, TestDecodeMbp10) {
@@ -274,24 +274,24 @@ TEST_P(DbnDecoderSchemaTests, TestDecodeMbp10) {
274274
EXPECT_EQ(ch_mbp1.ts_recv.time_since_epoch().count(), 1609160400000704060);
275275
EXPECT_EQ(ch_mbp1.ts_in_delta.count(), 22993);
276276
EXPECT_EQ(ch_mbp1.sequence, 1170352);
277-
EXPECT_EQ(ch_mbp1.booklevel[0].bid_px, 3720250000000);
278-
EXPECT_EQ(ch_mbp1.booklevel[0].ask_px, 3720500000000);
279-
EXPECT_EQ(ch_mbp1.booklevel[0].bid_sz, 24);
280-
EXPECT_EQ(ch_mbp1.booklevel[0].ask_sz, 10);
281-
EXPECT_EQ(ch_mbp1.booklevel[0].bid_ct, 15);
282-
EXPECT_EQ(ch_mbp1.booklevel[0].ask_ct, 8);
283-
EXPECT_EQ(ch_mbp1.booklevel[1].bid_px, 3720000000000);
284-
EXPECT_EQ(ch_mbp1.booklevel[1].ask_px, 3720750000000);
285-
EXPECT_EQ(ch_mbp1.booklevel[1].bid_sz, 31);
286-
EXPECT_EQ(ch_mbp1.booklevel[1].ask_sz, 34);
287-
EXPECT_EQ(ch_mbp1.booklevel[1].bid_ct, 18);
288-
EXPECT_EQ(ch_mbp1.booklevel[1].ask_ct, 24);
289-
EXPECT_EQ(ch_mbp1.booklevel[2].bid_px, 3719750000000);
290-
EXPECT_EQ(ch_mbp1.booklevel[2].ask_px, 3721000000000);
291-
EXPECT_EQ(ch_mbp1.booklevel[2].bid_sz, 32);
292-
EXPECT_EQ(ch_mbp1.booklevel[2].ask_sz, 39);
293-
EXPECT_EQ(ch_mbp1.booklevel[2].bid_ct, 23);
294-
EXPECT_EQ(ch_mbp1.booklevel[2].ask_ct, 25);
277+
EXPECT_EQ(ch_mbp1.levels[0].bid_px, 3720250000000);
278+
EXPECT_EQ(ch_mbp1.levels[0].ask_px, 3720500000000);
279+
EXPECT_EQ(ch_mbp1.levels[0].bid_sz, 24);
280+
EXPECT_EQ(ch_mbp1.levels[0].ask_sz, 10);
281+
EXPECT_EQ(ch_mbp1.levels[0].bid_ct, 15);
282+
EXPECT_EQ(ch_mbp1.levels[0].ask_ct, 8);
283+
EXPECT_EQ(ch_mbp1.levels[1].bid_px, 3720000000000);
284+
EXPECT_EQ(ch_mbp1.levels[1].ask_px, 3720750000000);
285+
EXPECT_EQ(ch_mbp1.levels[1].bid_sz, 31);
286+
EXPECT_EQ(ch_mbp1.levels[1].ask_sz, 34);
287+
EXPECT_EQ(ch_mbp1.levels[1].bid_ct, 18);
288+
EXPECT_EQ(ch_mbp1.levels[1].ask_ct, 24);
289+
EXPECT_EQ(ch_mbp1.levels[2].bid_px, 3719750000000);
290+
EXPECT_EQ(ch_mbp1.levels[2].ask_px, 3721000000000);
291+
EXPECT_EQ(ch_mbp1.levels[2].bid_sz, 32);
292+
EXPECT_EQ(ch_mbp1.levels[2].ask_sz, 39);
293+
EXPECT_EQ(ch_mbp1.levels[2].bid_ct, 23);
294+
EXPECT_EQ(ch_mbp1.levels[2].ask_ct, 25);
295295

296296
const auto ch_record2 = channel_target_->DecodeRecord();
297297
const auto f_record2 = file_target_->DecodeRecord();
@@ -315,24 +315,24 @@ TEST_P(DbnDecoderSchemaTests, TestDecodeMbp10) {
315315
EXPECT_EQ(ch_mbp2.ts_recv.time_since_epoch().count(), 1609160400000750544);
316316
EXPECT_EQ(ch_mbp2.ts_in_delta.count(), 20625);
317317
EXPECT_EQ(ch_mbp2.sequence, 1170356);
318-
EXPECT_EQ(ch_mbp2.booklevel[0].bid_px, 3720250000000);
319-
EXPECT_EQ(ch_mbp2.booklevel[0].ask_px, 3720500000000);
320-
EXPECT_EQ(ch_mbp2.booklevel[0].bid_sz, 24);
321-
EXPECT_EQ(ch_mbp2.booklevel[0].ask_sz, 10);
322-
EXPECT_EQ(ch_mbp2.booklevel[0].bid_ct, 15);
323-
EXPECT_EQ(ch_mbp2.booklevel[0].ask_ct, 8);
324-
EXPECT_EQ(ch_mbp2.booklevel[1].bid_px, 3720000000000);
325-
EXPECT_EQ(ch_mbp2.booklevel[1].ask_px, 3720750000000);
326-
EXPECT_EQ(ch_mbp2.booklevel[1].bid_sz, 30);
327-
EXPECT_EQ(ch_mbp2.booklevel[1].ask_sz, 34);
328-
EXPECT_EQ(ch_mbp2.booklevel[1].bid_ct, 17);
329-
EXPECT_EQ(ch_mbp2.booklevel[1].ask_ct, 24);
330-
EXPECT_EQ(ch_mbp2.booklevel[2].bid_px, 3719750000000);
331-
EXPECT_EQ(ch_mbp2.booklevel[2].ask_px, 3721000000000);
332-
EXPECT_EQ(ch_mbp2.booklevel[2].bid_sz, 32);
333-
EXPECT_EQ(ch_mbp2.booklevel[2].ask_sz, 39);
334-
EXPECT_EQ(ch_mbp2.booklevel[2].bid_ct, 23);
335-
EXPECT_EQ(ch_mbp2.booklevel[2].ask_ct, 25);
318+
EXPECT_EQ(ch_mbp2.levels[0].bid_px, 3720250000000);
319+
EXPECT_EQ(ch_mbp2.levels[0].ask_px, 3720500000000);
320+
EXPECT_EQ(ch_mbp2.levels[0].bid_sz, 24);
321+
EXPECT_EQ(ch_mbp2.levels[0].ask_sz, 10);
322+
EXPECT_EQ(ch_mbp2.levels[0].bid_ct, 15);
323+
EXPECT_EQ(ch_mbp2.levels[0].ask_ct, 8);
324+
EXPECT_EQ(ch_mbp2.levels[1].bid_px, 3720000000000);
325+
EXPECT_EQ(ch_mbp2.levels[1].ask_px, 3720750000000);
326+
EXPECT_EQ(ch_mbp2.levels[1].bid_sz, 30);
327+
EXPECT_EQ(ch_mbp2.levels[1].ask_sz, 34);
328+
EXPECT_EQ(ch_mbp2.levels[1].bid_ct, 17);
329+
EXPECT_EQ(ch_mbp2.levels[1].ask_ct, 24);
330+
EXPECT_EQ(ch_mbp2.levels[2].bid_px, 3719750000000);
331+
EXPECT_EQ(ch_mbp2.levels[2].ask_px, 3721000000000);
332+
EXPECT_EQ(ch_mbp2.levels[2].bid_sz, 32);
333+
EXPECT_EQ(ch_mbp2.levels[2].ask_sz, 39);
334+
EXPECT_EQ(ch_mbp2.levels[2].bid_ct, 23);
335+
EXPECT_EQ(ch_mbp2.levels[2].ask_ct, 25);
336336
}
337337

338338
TEST_P(DbnDecoderSchemaTests, TestDecodeTbbo) {
@@ -376,12 +376,12 @@ TEST_P(DbnDecoderSchemaTests, TestDecodeTbbo) {
376376
EXPECT_EQ(ch_tbbo1.ts_recv.time_since_epoch().count(), 1609160400099150057);
377377
EXPECT_EQ(ch_tbbo1.ts_in_delta.count(), 19251);
378378
EXPECT_EQ(ch_tbbo1.sequence, 1170380);
379-
EXPECT_EQ(ch_tbbo1.booklevel[0].bid_px, 3720250000000);
380-
EXPECT_EQ(ch_tbbo1.booklevel[0].ask_px, 3720500000000);
381-
EXPECT_EQ(ch_tbbo1.booklevel[0].bid_sz, 26);
382-
EXPECT_EQ(ch_tbbo1.booklevel[0].ask_sz, 7);
383-
EXPECT_EQ(ch_tbbo1.booklevel[0].bid_ct, 16);
384-
EXPECT_EQ(ch_tbbo1.booklevel[0].ask_ct, 6);
379+
EXPECT_EQ(ch_tbbo1.levels[0].bid_px, 3720250000000);
380+
EXPECT_EQ(ch_tbbo1.levels[0].ask_px, 3720500000000);
381+
EXPECT_EQ(ch_tbbo1.levels[0].bid_sz, 26);
382+
EXPECT_EQ(ch_tbbo1.levels[0].ask_sz, 7);
383+
EXPECT_EQ(ch_tbbo1.levels[0].bid_ct, 16);
384+
EXPECT_EQ(ch_tbbo1.levels[0].ask_ct, 6);
385385

386386
const auto ch_record2 = channel_target_->DecodeRecord();
387387
const auto f_record2 = file_target_->DecodeRecord();
@@ -405,12 +405,12 @@ TEST_P(DbnDecoderSchemaTests, TestDecodeTbbo) {
405405
EXPECT_EQ(ch_tbbo2.ts_recv.time_since_epoch().count(), 1609160400108142648);
406406
EXPECT_EQ(ch_tbbo2.ts_in_delta.count(), 20728);
407407
EXPECT_EQ(ch_tbbo2.sequence, 1170414);
408-
EXPECT_EQ(ch_tbbo2.booklevel[0].bid_px, 3720250000000);
409-
EXPECT_EQ(ch_tbbo2.booklevel[0].ask_px, 3720500000000);
410-
EXPECT_EQ(ch_tbbo2.booklevel[0].bid_sz, 21);
411-
EXPECT_EQ(ch_tbbo2.booklevel[0].ask_sz, 22);
412-
EXPECT_EQ(ch_tbbo2.booklevel[0].bid_ct, 13);
413-
EXPECT_EQ(ch_tbbo2.booklevel[0].ask_ct, 15);
408+
EXPECT_EQ(ch_tbbo2.levels[0].bid_px, 3720250000000);
409+
EXPECT_EQ(ch_tbbo2.levels[0].ask_px, 3720500000000);
410+
EXPECT_EQ(ch_tbbo2.levels[0].bid_sz, 21);
411+
EXPECT_EQ(ch_tbbo2.levels[0].ask_sz, 22);
412+
EXPECT_EQ(ch_tbbo2.levels[0].bid_ct, 13);
413+
EXPECT_EQ(ch_tbbo2.levels[0].ask_ct, 15);
414414
}
415415

416416
TEST_P(DbnDecoderSchemaTests, TestDecodeTrades) {

test/src/record_tests.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ TEST(RecordTests, TestMbp10MsgToString) {
2525
50,
2626
{}};
2727
for (std::uint32_t i = 0; i < 10; ++i) {
28-
target.booklevel[i].ask_ct = i;
29-
target.booklevel[i].bid_ct = i * 2;
30-
target.booklevel[i].ask_sz = i * 3;
31-
target.booklevel[i].bid_sz = i * 4;
32-
target.booklevel[i].bid_px = static_cast<int64_t>(i) * 5;
33-
target.booklevel[i].ask_px = static_cast<int64_t>(i) * 6;
28+
target.levels[i].ask_ct = i;
29+
target.levels[i].bid_ct = i * 2;
30+
target.levels[i].ask_sz = i * 3;
31+
target.levels[i].bid_sz = i * 4;
32+
target.levels[i].bid_px = static_cast<int64_t>(i) * 5;
33+
target.levels[i].ask_px = static_cast<int64_t>(i) * 6;
3434
}
3535
const auto res = ToString(target);
3636
ASSERT_EQ(res, R"(Mbp10Msg {
@@ -44,7 +44,7 @@ TEST(RecordTests, TestMbp10MsgToString) {
4444
ts_recv = 0,
4545
ts_in_delta = 100,
4646
sequence = 50,
47-
booklevel = {
47+
levels = {
4848
BidAskPair { bid_px = 0.000000000, ask_px = 0.000000000, bid_sz = 0, ask_sz = 0, bid_ct = 0, ask_ct = 0 },
4949
BidAskPair { bid_px = 0.000000005, ask_px = 0.000000006, bid_sz = 4, ask_sz = 3, bid_ct = 2, ask_ct = 1 },
5050
BidAskPair { bid_px = 0.000000010, ask_px = 0.000000012, bid_sz = 8, ask_sz = 6, bid_ct = 4, ask_ct = 2 },

0 commit comments

Comments
 (0)