Skip to content

Commit 9ac8c57

Browse files
committed
MOD: Rename method to …GetDatasetCondition
1 parent 8784272 commit 9ac8c57

File tree

12 files changed

+96
-88
lines changed

12 files changed

+96
-88
lines changed

example/metadata.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@ int main() {
5050
}
5151
std::cout << '\n';
5252

53-
const auto conditions = client.MetadataListDatasetConditions(
53+
const auto dataset_condition = client.MetadataGetDatasetCondition(
5454
"GLBX.MDP3", "2019-06-01", "2019-08-01");
55-
std::cout << conditions << "\n\n";
55+
std::cout << dataset_condition << "\n\n";
5656

5757
const auto compressions = client.MetadataListCompressions();
5858
std::cout << "Compressions:\n";

include/databento/historical.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#include "databento/detail/http_client.hpp" // HttpClient
1212
#include "databento/enums.hpp" // BatchState, Delivery, DurationInterval, Packaging, Schema, SType
1313
#include "databento/file_bento.hpp"
14-
#include "databento/metadata.hpp" // FieldsByDatasetEncodingAndSchema, DatasetConditions, PriceByFeedMode, PriceByFeedModeAndSchema, PriceBySchema
14+
#include "databento/metadata.hpp" // DatasetConditionInfo, FieldsByDatasetEncodingAndSchema, PriceByFeedMode, PriceByFeedModeAndSchema, PriceBySchema
1515
#include "databento/symbology.hpp" // SymbologyResolution
1616
#include "databento/timeseries.hpp" // KeepGoing, MetadataCallback, RecordCallback
1717

@@ -82,16 +82,16 @@ class Historical {
8282
const std::string& dataset, Encoding encoding, Schema schema);
8383
std::vector<Encoding> MetadataListEncodings();
8484
std::vector<Compression> MetadataListCompressions();
85-
DatasetConditions MetadataListDatasetConditions(const std::string& dataset,
86-
const std::string& start_date,
87-
const std::string& end_date);
8885
PriceByFeedModeAndSchema MetadataListUnitPrices(const std::string& dataset);
8986
PriceBySchema MetadataListUnitPrices(const std::string& dataset,
9087
FeedMode mode);
9188
PriceByFeedMode MetadataListUnitPrices(const std::string& dataset,
9289
Schema schema);
9390
double MetadataListUnitPrices(const std::string& dataset, FeedMode mode,
9491
Schema schema);
92+
DatasetConditionInfo MetadataGetDatasetCondition(
93+
const std::string& dataset, const std::string& start_date,
94+
const std::string& end_date);
9595
std::size_t MetadataGetRecordCount(const std::string& dataset,
9696
UnixNanos start, UnixNanos end,
9797
const std::vector<std::string>& symbols,

include/databento/metadata.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ struct DatasetConditionDetail {
2323
DatasetCondition condition;
2424
};
2525

26-
struct DatasetConditions {
26+
struct DatasetConditionInfo {
2727
// Overall condition for the date range.
2828
DatasetCondition condition;
2929
// The dataset condition by date.
@@ -35,7 +35,7 @@ struct DatasetConditions {
3535
std::string ToString(const DatasetConditionDetail& condition_detail);
3636
std::ostream& operator<<(std::ostream& stream,
3737
const DatasetConditionDetail& condition_detail);
38-
std::string ToString(const DatasetConditions& conditions);
38+
std::string ToString(const DatasetConditionInfo& condition);
3939
std::ostream& operator<<(std::ostream& stream,
40-
const DatasetConditions& conditions);
40+
const DatasetConditionInfo& condition);
4141
} // namespace databento

src/detail/http_client.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ void HttpClient::GetRawStream(const std::string& path,
5050
const std::string full_path = httplib::append_query_params(path, params);
5151
std::string err_body{};
5252
int err_status{};
53-
httplib::Result res = client_.Get(
53+
const httplib::Result res = client_.Get(
5454
full_path,
5555
[&err_status](const httplib::Response& resp) {
5656
if (HttpClient::IsErrorStatus(resp.status)) {

src/detail/shared_channel.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,14 @@ SharedChannel::Channel::~Channel() { Finish(); }
6565

6666
void SharedChannel::Channel::Write(const std::uint8_t* data,
6767
std::size_t length) {
68-
std::lock_guard<std::mutex> lock{mutex_};
68+
const std::lock_guard<std::mutex> lock{mutex_};
6969
stream_.write(reinterpret_cast<const char*>(data),
7070
static_cast<std::streamsize>(length));
7171
cv_.notify_one();
7272
}
7373

7474
void SharedChannel::Channel::Finish() {
75-
std::lock_guard<std::mutex> lock{mutex_};
75+
const std::lock_guard<std::mutex> lock{mutex_};
7676
is_finished_ = true;
7777
cv_.notify_one();
7878
}

src/detail/socket.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@ Socket::Socket(const std::string& addr, std::uint16_t port)
2323
throw InvalidArgumentError{"Socket::Socket", "addr",
2424
"Unable to convert to a binary IPv4 address"};
2525
}
26-
const sockaddr_in addr_in{AF_INET, ::htons(port), network_addr, {}};
26+
sockaddr_in addr_in{};
27+
addr_in.sin_family = AF_INET;
28+
addr_in.sin_port = htons(port);
29+
addr_in.sin_addr = network_addr;
2730
if (::connect(fd_, reinterpret_cast<const sockaddr*>(&addr_in),
2831
sizeof(sockaddr_in)) != 0) {
2932
::close(fd_);

src/historical.cpp

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -524,39 +524,6 @@ std::vector<databento::Compression> Historical::MetadataListCompressions() {
524524
return compressions;
525525
}
526526

527-
databento::DatasetConditions Historical::MetadataListDatasetConditions(
528-
const std::string& dataset, const std::string& start_date,
529-
const std::string& end_date) {
530-
static const std::string kEndpoint =
531-
"Historical::MetadataListDatasetConditions";
532-
static const std::string kPath =
533-
::BuildMetadataPath(".list_dataset_conditions");
534-
535-
const nlohmann::json json =
536-
client_.GetJson(kPath, httplib::Params{{"dataset", dataset},
537-
{"start_date", start_date},
538-
{"end_date", end_date}});
539-
if (!json.is_object()) {
540-
throw JsonResponseError::TypeMismatch(kEndpoint, "object", json);
541-
}
542-
const auto& details_json = CheckedAt(kEndpoint, json, "details");
543-
if (!details_json.is_array()) {
544-
throw JsonResponseError::TypeMismatch(kEndpoint, "details array", json);
545-
}
546-
std::vector<DatasetConditionDetail> details;
547-
details.reserve(details_json.size());
548-
for (const auto& detail_json : details_json.items()) {
549-
details.emplace_back(DatasetConditionDetail{
550-
ParseAt<std::string>(kEndpoint, detail_json.value(), "date"),
551-
FromCheckedAtString<DatasetCondition>(kEndpoint, detail_json.value(),
552-
"condition")});
553-
}
554-
return {FromCheckedAtString<DatasetCondition>(kEndpoint, json, "condition"),
555-
std::move(details),
556-
ParseAt<std::string>(kEndpoint, json, "adjusted_start_date"),
557-
ParseAt<std::string>(kEndpoint, json, "adjusted_end_date")};
558-
}
559-
560527
static const std::string kListUnitPricesEndpoint =
561528
"Historical::MetadataListUnitPrices";
562529
static const std::string kListUnitPricesPath =
@@ -657,6 +624,39 @@ double Historical::MetadataListUnitPrices(const std::string& dataset,
657624
return json;
658625
}
659626

627+
databento::DatasetConditionInfo Historical::MetadataGetDatasetCondition(
628+
const std::string& dataset, const std::string& start_date,
629+
const std::string& end_date) {
630+
static const std::string kEndpoint =
631+
"Historical::MetadataGetDatasetCondition";
632+
static const std::string kPath =
633+
::BuildMetadataPath(".get_dataset_condition");
634+
635+
const nlohmann::json json =
636+
client_.GetJson(kPath, httplib::Params{{"dataset", dataset},
637+
{"start_date", start_date},
638+
{"end_date", end_date}});
639+
if (!json.is_object()) {
640+
throw JsonResponseError::TypeMismatch(kEndpoint, "object", json);
641+
}
642+
const auto& details_json = CheckedAt(kEndpoint, json, "details");
643+
if (!details_json.is_array()) {
644+
throw JsonResponseError::TypeMismatch(kEndpoint, "details array", json);
645+
}
646+
std::vector<DatasetConditionDetail> details;
647+
details.reserve(details_json.size());
648+
for (const auto& detail_json : details_json.items()) {
649+
details.emplace_back(DatasetConditionDetail{
650+
ParseAt<std::string>(kEndpoint, detail_json.value(), "date"),
651+
FromCheckedAtString<DatasetCondition>(kEndpoint, detail_json.value(),
652+
"condition")});
653+
}
654+
return {FromCheckedAtString<DatasetCondition>(kEndpoint, json, "condition"),
655+
std::move(details),
656+
ParseAt<std::string>(kEndpoint, json, "adjusted_start_date"),
657+
ParseAt<std::string>(kEndpoint, json, "adjusted_end_date")};
658+
}
659+
660660
std::size_t Historical::MetadataGetRecordCount(
661661
const std::string& dataset, UnixNanos start, UnixNanos end,
662662
const std::vector<std::string>& symbols, Schema schema) {
@@ -959,8 +959,8 @@ void Historical::TimeseriesStream(const HttplibParams& params,
959959
std::exception_ptr exception_ptr{};
960960
std::mutex exception_ptr_mutex;
961961
// no initialized lambda captures until C++14
962-
ScopedThread stream{[this, &channel, &exception_ptr, &exception_ptr_mutex,
963-
&params, &should_continue] {
962+
const ScopedThread stream{[this, &channel, &exception_ptr,
963+
&exception_ptr_mutex, &params, &should_continue] {
964964
try {
965965
this->client_.GetRawStream(
966966
kTimeseriesStreamPath, params,
@@ -972,7 +972,7 @@ void Historical::TimeseriesStream(const HttplibParams& params,
972972
channel.Finish();
973973
} catch (const std::exception&) {
974974
channel.Finish();
975-
std::lock_guard<std::mutex> guard{exception_ptr_mutex};
975+
const std::lock_guard<std::mutex> guard{exception_ptr_mutex};
976976
// rethrowing here will cause the process to be terminated
977977
exception_ptr = std::current_exception();
978978
}
@@ -990,7 +990,7 @@ void Historical::TimeseriesStream(const HttplibParams& params,
990990
} catch (const std::exception& exc) {
991991
should_continue = false;
992992
// check if there's an exception from stream thread
993-
std::lock_guard<std::mutex> guard{exception_ptr_mutex};
993+
const std::lock_guard<std::mutex> guard{exception_ptr_mutex};
994994
if (exception_ptr) {
995995
std::rethrow_exception(exception_ptr);
996996
}

src/metadata.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,28 +19,28 @@ std::ostream& operator<<(std::ostream& stream,
1919
.Finish();
2020
}
2121

22-
std::string ToString(const DatasetConditions& conditions) {
23-
return MakeString(conditions);
22+
std::string ToString(const DatasetConditionInfo& condition) {
23+
return MakeString(condition);
2424
}
2525
std::ostream& operator<<(std::ostream& stream,
26-
const DatasetConditions& conditions) {
26+
const DatasetConditionInfo& condition) {
2727
std::ostringstream details_stream;
2828
auto details_helper = StreamOpBuilder{details_stream}
2929
.SetSpacer("\n ")
3030
.SetIndent(" ")
3131
.Build();
32-
for (const auto& detail : conditions.details) {
32+
for (const auto& detail : condition.details) {
3333
details_helper.AddItem(detail);
3434
}
3535
return StreamOpBuilder{stream}
3636
.SetSpacer("\n ")
37-
.SetTypeName("DatasetConditions")
37+
.SetTypeName("DatasetConditionInfo")
3838
.Build()
39-
.AddField("condition", conditions.condition)
39+
.AddField("condition", condition.condition)
4040
.AddField("details",
4141
static_cast<std::ostringstream&>(details_helper.Finish()))
42-
.AddField("adjusted_start_date", conditions.adjusted_start_date)
43-
.AddField("adjusted_end_date", conditions.adjusted_end_date)
42+
.AddField("adjusted_start_date", condition.adjusted_start_date)
43+
.AddField("adjusted_end_date", condition.adjusted_end_date)
4444
.Finish();
4545
}
4646
} // namespace databento

test/src/historical_tests.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ TEST_F(HistoricalTests, TestMetadataListCompressions) {
315315
EXPECT_EQ(res, kExp);
316316
}
317317

318-
TEST_F(HistoricalTests, TestMetadataListDatasetConditions) {
318+
TEST_F(HistoricalTests, TestMetadataGetDatasetCondition) {
319319
const nlohmann::json kResp{
320320
{"condition", "bad"},
321321
{"details",
@@ -325,7 +325,7 @@ TEST_F(HistoricalTests, TestMetadataListDatasetConditions) {
325325
{{"date", "2022-11-10"}, {"condition", "available"}}}},
326326
{"adjusted_start_date", "2022-11-07"},
327327
{"adjusted_end_date", "2022-11-10"}};
328-
mock_server_.MockGetJson("/v0/metadata.list_dataset_conditions",
328+
mock_server_.MockGetJson("/v0/metadata.get_dataset_condition",
329329
{{"dataset", dataset::kXnasItch},
330330
{"start_date", "2022-11-06"},
331331
{"end_date", "2022-11-10"}},
@@ -334,7 +334,7 @@ TEST_F(HistoricalTests, TestMetadataListDatasetConditions) {
334334

335335
databento::Historical target{kApiKey, "localhost",
336336
static_cast<std::uint16_t>(port)};
337-
const auto res = target.MetadataListDatasetConditions(
337+
const auto res = target.MetadataGetDatasetCondition(
338338
dataset::kXnasItch, "2022-11-06", "2022-11-10");
339339
EXPECT_EQ(res.condition, DatasetCondition::Bad);
340340
ASSERT_EQ(res.details.size(), 4);
@@ -683,7 +683,7 @@ TEST_F(HistoricalTests, TestTimeseriesStreamToFile) {
683683

684684
databento::Historical target{kApiKey, "localhost",
685685
static_cast<std::uint16_t>(port)};
686-
TempFile temp_file{testing::TempDir() + "/" + __FUNCTION__};
686+
const TempFile temp_file{testing::TempDir() + "/" + __FUNCTION__};
687687
target.TimeseriesStreamToFile(dataset::kGlbxMdp3, "2022-10-21T13:30",
688688
"2022-10-21T20:00", {"CYZ2"}, Schema::Tbbo,
689689
temp_file.Path());

test/src/metadata_tests.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,17 @@ TEST(MetadataTests, TestDatasetConditionDetailToString) {
1313
R"(DatasetConditionDetail { date = "2022-11-10", condition = available })");
1414
}
1515

16-
TEST(MetadataTests, TestDatasetConditionsToString) {
17-
const DatasetConditions target{DatasetCondition::Bad,
18-
{{"2022-11-07", DatasetCondition::Available},
19-
{"2022-11-08", DatasetCondition::Bad},
20-
{"2022-11-09", DatasetCondition::Bad},
21-
{"2022-11-10", DatasetCondition::Available}},
22-
"2022-11-07",
23-
"2022-11-10"};
16+
TEST(MetadataTests, TestDatasetConditionInfoToString) {
17+
const DatasetConditionInfo target{
18+
DatasetCondition::Bad,
19+
{{"2022-11-07", DatasetCondition::Available},
20+
{"2022-11-08", DatasetCondition::Bad},
21+
{"2022-11-09", DatasetCondition::Bad},
22+
{"2022-11-10", DatasetCondition::Available}},
23+
"2022-11-07",
24+
"2022-11-10"};
2425
const auto res = ToString(target);
25-
ASSERT_EQ(res, R"(DatasetConditions {
26+
ASSERT_EQ(res, R"(DatasetConditionInfo {
2627
condition = bad,
2728
details = {
2829
DatasetConditionDetail { date = "2022-11-07", condition = available },

0 commit comments

Comments
 (0)