OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RenderHandler.cpp
Go to the documentation of this file.
1 /*
2  * Copyright 2022 HEAVY.AI, Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
23 
24 #include "Logger/Logger.h"
25 
27 
29  const size_t render_mem_bytes,
30  const size_t max_concurrent_render_sessions,
31  const bool compositor_use_last_gpu,
32  const bool enable_auto_clear_render_mem,
33  const int render_oom_retry_threshold,
34  const bool renderer_prefer_igpu,
35  const uint32_t renderer_vulkan_timeout_ms,
36  const bool renderer_use_parallel_executors,
37  const SystemParameters system_parameters,
38  const bool renderer_enable_slab_allocation)
39  : impl_(nullptr) {
40  throw std::runtime_error(
41  "Rendering is only supported in the Enterprise and Community Editions");
42 }
43 
45 
46 void RenderHandler::disconnect(const TSessionId& session) {
47  CHECK(impl_);
48 }
49 
51  TRenderResult& _return,
52  const std::shared_ptr<Catalog_Namespace::SessionInfo> session_info,
53  const int64_t widget_id,
54  std::string&& vega_json,
55  const int32_t compression_level,
56  const std::string& nonce) {
57  CHECK(impl_);
58 }
59 
60 void RenderHandler::start_render_query(TPendingRenderQuery& _return,
61  const TSessionId& session,
62  const int64_t widget_id,
63  const int16_t node_idx,
64  std::string&& vega_json) {
65  CHECK(impl_);
66 }
67 
68 void RenderHandler::execute_next_render_step(TRenderStepResult& _return,
69  const TPendingRenderQuery& pending_render,
70  const TRenderAggDataMap& merged_data) {
71  CHECK(impl_);
72 }
73 
75  TPixelTableRowResult& _return,
76  const std::shared_ptr<Catalog_Namespace::SessionInfo> session_info,
77  const int64_t widget_id,
78  const TPixel& pixel,
79  const std::map<std::string, std::vector<std::string>>& table_col_names,
80  const bool column_format,
81  const int32_t pixelRadius,
82  const std::string& nonce) {
83  CHECK(impl_);
84 }
85 
87  CHECK(impl_);
88 }
89 
91  CHECK(impl_);
92 }
93 
95  CHECK(impl_);
96  return std::string();
97 }
98 
100  const std::string& other_renderer_status_json) const {
101  CHECK(impl_);
102  return false;
103 }
104 
106  CHECK(impl_);
107 }
void clear_cpu_memory()
void execute_next_render_step(TRenderStepResult &_return, const TPendingRenderQuery &pending_render, const TRenderAggDataMap &merged_data)
void disconnect(const TSessionId &session)
void start_render_query(TPendingRenderQuery &_return, const TSessionId &session, const int64_t widget_id, const int16_t node_idx, std::string &&vega_json)
void get_result_row_for_pixel(TPixelTableRowResult &_return, const std::shared_ptr< Catalog_Namespace::SessionInfo > session_info, const int64_t widget_id, const TPixel &pixel, const std::map< std::string, std::vector< std::string >> &table_col_names, const bool column_format, const int32_t pixelRadius, const std::string &nonce)
std::unique_ptr< Impl > impl_
void clear_gpu_memory()
RenderHandler(DBHandler *db_handler, const size_t render_mem_bytes, const size_t max_conncurrent_render_sessions, const bool compositor_use_last_gpu, const bool enable_auto_clear_render_mem, const int render_oom_retry_threshold, const bool renderer_prefer_igpu, const uint32_t renderer_vulkan_timeout_ms, const bool renderer_use_parallel_executors, const SystemParameters system_parameters, const bool renderer_enable_slab_allocation)
#define CHECK(condition)
Definition: Logger.h:291
std::string get_renderer_status_json() const
bool validate_renderer_status_json(const std::string &other_renderer_status_json) const
void render_vega(TRenderResult &_return, const std::shared_ptr< Catalog_Namespace::SessionInfo > session_info, const int64_t widget_id, std::string &&vega_json, const int32_t compression_level, const std::string &nonce)