diff options
author | Aleksandr Khoroshilov <hor911@gmail.com> | 2022-06-30 19:03:49 +0300 |
---|---|---|
committer | Aleksandr Khoroshilov <hor911@gmail.com> | 2022-06-30 19:03:49 +0300 |
commit | fd58b11067041cacf6feca44fe47f46bc01422dc (patch) | |
tree | b43874aa28eb9adb801623260afe5e89fc3e8646 /library | |
parent | 81fd9ea2d075516cb0725f85118dcca474cd42e3 (diff) | |
download | ydb-fd58b11067041cacf6feca44fe47f46bc01422dc.tar.gz |
DC awareness
ref:cf26d330761ea0ba13530ba17766b91269d2ab35
Diffstat (limited to 'library')
-rw-r--r-- | library/cpp/actors/core/interconnect.cpp | 7 | ||||
-rw-r--r-- | library/cpp/actors/core/interconnect.h | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/library/cpp/actors/core/interconnect.cpp b/library/cpp/actors/core/interconnect.cpp index 9b377cbb00..192fb68769 100644 --- a/library/cpp/actors/core/interconnect.cpp +++ b/library/cpp/actors/core/interconnect.cpp @@ -76,6 +76,13 @@ namespace NActors { : TNodeLocation(ParseLocation(s)) {} + TNodeLocation::TNodeLocation(const TString& DataCenter, const TString& Module, const TString& Rack, const TString& Unit) { + if (DataCenter) Items.emplace_back(TKeys::DataCenter, DataCenter); + if (Module) Items.emplace_back(TKeys::Module, Module); + if (Rack) Items.emplace_back(TKeys::Rack, Rack); + if (Unit) Items.emplace_back(TKeys::Unit, Unit); + } + NActorsInterconnect::TNodeLocation TNodeLocation::ParseLocation(const TString& s) { NActorsInterconnect::TNodeLocation res; const bool success = res.ParseFromString(s); diff --git a/library/cpp/actors/core/interconnect.h b/library/cpp/actors/core/interconnect.h index 5ecac1deec..37fd7bff4d 100644 --- a/library/cpp/actors/core/interconnect.h +++ b/library/cpp/actors/core/interconnect.h @@ -57,6 +57,7 @@ namespace NActors { TNodeLocation() = default; TNodeLocation(const TNodeLocation&) = default; TNodeLocation(TNodeLocation&&) = default; + TNodeLocation(const TString& DataCenter, const TString& Module = "", const TString& Rack = "", const TString& Unit = ""); // protobuf-parser ctor explicit TNodeLocation(const NActorsInterconnect::TNodeLocation& location); @@ -79,6 +80,7 @@ namespace NActors { TString GetDataCenterId() const { return ToStringUpTo(TKeys::DataCenter); } TString GetModuleId() const { return ToStringUpTo(TKeys::Module); } TString GetRackId() const { return ToStringUpTo(TKeys::Rack); } + TString GetUnitId() const { return ToStringUpTo(TKeys::Unit); } TString ToString() const { return ToStringUpTo(TKeys::E(Max<int>())); } TString ToStringUpTo(TKeys::E upToKey) const; |