26 #include <olp/core/geo/tiling/TileKey.h>
27 #include <olp/core/thread/TaskScheduler.h>
28 #include <olp/dataservice/read/FetchOptions.h>
29 #include <boost/optional.hpp>
32 namespace dataservice {
68 billing_tag_ = std::move(tag);
83 billing_tag_ = std::move(tag);
95 tile_key_ = std::move(tile_key);
127 fetch_option_ = fetch_option;
148 priority_ = priority;
159 inline std::string
CreateKey(
const std::string& layer_id)
const {
160 std::stringstream out;
161 out << layer_id <<
"[" << GetTileKey().ToHereTile() <<
"]";
162 if (GetBillingTag()) {
163 out <<
"$" << GetBillingTag().get();
165 out <<
"^" << GetFetchOption();
170 boost::optional<std::string> billing_tag_;
172 FetchOptions fetch_option_{OnlineIfNotFound};
173 uint32_t priority_{thread::NORMAL};
Encapsulates the fields required to request tile for the given key.
Definition: TileRequest.h:42
TileRequest & WithBillingTag(boost::optional< std::string > tag)
Sets the billing tag for the request.
Definition: TileRequest.h:67
TileRequest & WithBillingTag(std::string tag)
Sets the billing tag for the request.
Definition: TileRequest.h:82
TileRequest & WithPriority(uint32_t priority)
Sets the priority of the request.
Definition: TileRequest.h:147
TileRequest & WithTileKey(geo::TileKey tile_key)
Sets the tile key for the request.
Definition: TileRequest.h:94
const geo::TileKey & GetTileKey() const
Gets a tile key value.
Definition: TileRequest.h:104
std::string CreateKey(const std::string &layer_id) const
Creates a readable format for the request.
Definition: TileRequest.h:159
const boost::optional< std::string > & GetBillingTag() const
Gets the billing tag to group billing records together.
Definition: TileRequest.h:54
FetchOptions GetFetchOption() const
Gets the fetch option that controls how requests are handled.
Definition: TileRequest.h:114
uint32_t GetPriority() const
Gets the request priority.
Definition: TileRequest.h:138
TileRequest & WithFetchOption(FetchOptions fetch_option)
Sets the fetch option that you can use to set the source from which data should be fetched.
Definition: TileRequest.h:126
Addresses a tile in a quadtree.
Definition: TileKey.h:63
Rules all the other namespaces.
Definition: AppleSignInProperties.h:24