From a0a6b272bc9342c25c9faec6a785d6ee9cc3a277 Mon Sep 17 00:00:00 2001 From: Jianfeng Mao <4297243+jmao-denver@users.noreply.github.com> Date: Wed, 29 Mar 2023 16:53:09 -0600 Subject: [PATCH 01/29] Wrap the table flatten op and isFlat property (#3603) --- py/server/deephaven/table.py | 12 ++++++++++++ py/server/tests/test_table.py | 6 ++++++ 2 files changed, 18 insertions(+) diff --git a/py/server/deephaven/table.py b/py/server/deephaven/table.py index 962692d9483..9fb5547f131 100644 --- a/py/server/deephaven/table.py +++ b/py/server/deephaven/table.py @@ -519,6 +519,7 @@ def __init__(self, j_table: jpy.JType): self._definition = self.j_table.getDefinition() self._schema = None self._is_refreshing = None + self._is_flat = None def __repr__(self): default_repr = super().__repr__() @@ -548,6 +549,13 @@ def is_refreshing(self) -> bool: self._is_refreshing = self.j_table.isRefreshing() return self._is_refreshing + @property + def is_flat(self) -> bool: + """Whether this table is guaranteed to be flat, i.e. its row set will be from 0 to number of rows - 1.""" + if self._is_flat is None: + self._is_flat = self.j_table.isFlat() + return self._is_flat + @property def columns(self) -> List[Column]: """The column definitions of the table.""" @@ -617,6 +625,10 @@ def coalesce(self) -> Table: """Returns a coalesced child table.""" return Table(j_table=self.j_table.coalesce()) + def flatten(self) -> Table: + """Returns a new version of this table with a flat row set, i.e. from 0 to number of rows - 1.""" + return Table(j_table=self.j_table.flatten()) + def snapshot(self) -> Table: """Returns a static snapshot table. diff --git a/py/server/tests/test_table.py b/py/server/tests/test_table.py index c1ee928df88..18c0181a220 100644 --- a/py/server/tests/test_table.py +++ b/py/server/tests/test_table.py @@ -91,6 +91,12 @@ def test_coalesce(self): ct = t.coalesce() self.assertEqual(self.test_table.size, ct.size) + def test_flatten(self): + t = self.test_table.update_view(["A = a * b"]) + self.assertFalse(t.is_flat) + ct = t.flatten() + self.assertTrue(ct.is_flat) + def test_drop_columns(self): column_names = [f.name for f in self.test_table.columns] result_table = self.test_table.drop_columns(cols=column_names[:-1]) From 58df830578a3f3b7668f363ce80de8778dd0f9a8 Mon Sep 17 00:00:00 2001 From: Jianfeng Mao <4297243+jmao-denver@users.noreply.github.com> Date: Wed, 29 Mar 2023 16:53:24 -0600 Subject: [PATCH 02/29] Replace ComboAgg with Aggregate/AggregateAll in the Python client (#3579) * Replace ComboAgg with Aggregate/AggregateAll * Address review comments * Fix a wrong flag value in agg percentile --- py/client/README.md | 12 +- py/client/docs/source/examples.rst | 13 +- py/client/pydeephaven/__init__.py | 1 - py/client/pydeephaven/_constants.py | 24 -- py/client/pydeephaven/_table_interface.py | 61 ++-- py/client/pydeephaven/_table_ops.py | 106 +++---- py/client/pydeephaven/agg.py | 356 ++++++++++++++++++++++ py/client/pydeephaven/combo_agg.py | 249 --------------- py/client/pydeephaven/query.py | 22 +- py/client/pydeephaven/session.py | 6 +- py/client/pydeephaven/updateby.py | 10 +- py/client/tests/test_query.py | 20 +- py/client/tests/test_table.py | 83 +++-- 13 files changed, 554 insertions(+), 409 deletions(-) delete mode 100644 py/client/pydeephaven/_constants.py create mode 100644 py/client/pydeephaven/agg.py delete mode 100644 py/client/pydeephaven/combo_agg.py diff --git a/py/client/README.md b/py/client/README.md index da5185c155f..66cfb0c3e94 100644 --- a/py/client/README.md +++ b/py/client/README.md @@ -181,22 +181,22 @@ table = table1.join(table2, on=["Group"]) session.bind_table(name="my_table", table=table) ``` -## Use a combo aggregation on a table +## Perform aggregations on a table -Combined aggregations can be executed on tables in the Python client. This example creates a combo aggregation that averages the `Count` column of a table, and aggregates it by the `Group` column. +Aggregations can be applied on tables in the Python client. This example creates an aggregation that averages +the `Count` column of a table, and aggregates it by the `Group` column. ``` -from pydeephaven import Session, ComboAggregation +from pydeephaven import Session, agg session = Session() table = session.empty_table(10) table = table.update(["Count = i", "Group = i % 2"]) -my_agg = ComboAggregation() -my_agg = my_agg.avg(["Count"]) +my_agg = agg.avg(["Count"]) -table = table.agg_by(my_agg, ["Group"]) +table = table.agg_by(aggs=[my_agg], by=["Group"]) session.bind_table(name="my_table", table=table) ``` diff --git a/py/client/docs/source/examples.rst b/py/client/docs/source/examples.rst index bf824c9bd8c..4cb70f07aa0 100644 --- a/py/client/docs/source/examples.rst +++ b/py/client/docs/source/examples.rst @@ -135,12 +135,13 @@ Join 2 tables session.bind_table(name="my_table", table=table) -Use a combo aggregation on a table +Perform aggregations on a table ################################## -Combined aggregations can be executed on tables in the Python client. This example creates a combo aggregation that averages the `Count` column of a table, and aggregates it by the `Group` column: +Aggregations can be applied on tables in the Python client. This example creates a aggregation that +averages the `Count` column of a table, and aggregates it by the `Group` column: - from pydeephaven import Session, ComboAggregation + from pydeephaven import Session, agg session = Session() @@ -148,11 +149,9 @@ Combined aggregations can be executed on tables in the Python client. This examp table = table.update(["Count = i", "Group = i % 2"]) - my_agg = ComboAggregation() + my_agg = agg.avg(["Count"]) - my_agg = my_agg.avg(["Count"]) - - table = table.agg_by(my_agg, ["Group"]) + table = table.agg_by(aggs=[my_agg], by=["Group"]) session.bind_table(name="my_table", table=table) diff --git a/py/client/pydeephaven/__init__.py b/py/client/pydeephaven/__init__.py index b2318fc556c..0b0fc7223d9 100644 --- a/py/client/pydeephaven/__init__.py +++ b/py/client/pydeephaven/__init__.py @@ -26,7 +26,6 @@ from .table import Table from .session import Session from .dherror import DHError -from .combo_agg import ComboAggregation from .constants import SortDirection, MatchRule from .query import Query diff --git a/py/client/pydeephaven/_constants.py b/py/client/pydeephaven/_constants.py deleted file mode 100644 index 7223d984149..00000000000 --- a/py/client/pydeephaven/_constants.py +++ /dev/null @@ -1,24 +0,0 @@ -# -# Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending -# - -from enum import Enum - -from pydeephaven.proto import table_pb2 - - -class AggType(Enum): - SUM = table_pb2.ComboAggregateRequest.AggType.SUM - ABS_SUM = table_pb2.ComboAggregateRequest.AggType.ABS_SUM - GROUP = table_pb2.ComboAggregateRequest.AggType.GROUP - AVG = table_pb2.ComboAggregateRequest.AggType.AVG - COUNT = table_pb2.ComboAggregateRequest.AggType.COUNT - FIRST = table_pb2.ComboAggregateRequest.AggType.FIRST - LAST = table_pb2.ComboAggregateRequest.AggType.LAST - MIN = table_pb2.ComboAggregateRequest.AggType.MIN - MAX = table_pb2.ComboAggregateRequest.AggType.MAX - MEDIAN = table_pb2.ComboAggregateRequest.AggType.MEDIAN - PERCENTILE = table_pb2.ComboAggregateRequest.AggType.PERCENTILE - STD = table_pb2.ComboAggregateRequest.AggType.STD - VAR = table_pb2.ComboAggregateRequest.AggType.VAR - WEIGHTED_AVG = table_pb2.ComboAggregateRequest.AggType.WEIGHTED_AVG \ No newline at end of file diff --git a/py/client/pydeephaven/_table_interface.py b/py/client/pydeephaven/_table_interface.py index e5b6f7cddce..bd632acdcfb 100644 --- a/py/client/pydeephaven/_table_interface.py +++ b/py/client/pydeephaven/_table_interface.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending +# Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending # from __future__ import annotations @@ -7,12 +7,13 @@ from abc import ABC, abstractmethod from typing import List, Any -from pydeephaven._constants import AggType +from pydeephaven import agg from pydeephaven._table_ops import UpdateOp, LazyUpdateOp, ViewOp, UpdateViewOp, SelectOp, DropColumnsOp, \ SelectDistinctOp, SortOp, UnstructuredFilterOp, HeadOp, TailOp, HeadByOp, TailByOp, UngroupOp, NaturalJoinOp, \ - ExactJoinOp, CrossJoinOp, AsOfJoinOp, DedicatedAggOp, ComboAggOp, UpdateByOp, SnapshotTableOp, SnapshotWhenTableOp -from pydeephaven.combo_agg import ComboAggregation + ExactJoinOp, CrossJoinOp, AsOfJoinOp, UpdateByOp, SnapshotTableOp, SnapshotWhenTableOp, AggregateOp, AggregateAllOp +from pydeephaven.agg import Aggregation, _AggregationColumns from pydeephaven.constants import MatchRule, SortDirection +from pydeephaven.dherror import DHError from pydeephaven.updateby import UpdateByOperation @@ -347,7 +348,7 @@ def group_by(self, by: List[str] = []): Raises: DHError """ - table_op = DedicatedAggOp(AggType.GROUP, column_names=by) + table_op = AggregateAllOp(agg=agg.group(), by=by) return self.table_op_handler(table_op) def ungroup(self, cols: List[str] = [], null_fill: bool = True): @@ -381,7 +382,7 @@ def first_by(self, by: List[str] = []): Raises: DHError """ - table_op = DedicatedAggOp(AggType.FIRST, column_names=by) + table_op = AggregateAllOp(agg=agg.first(), by=by) return self.table_op_handler(table_op) def last_by(self, by: List[str] = []): @@ -397,7 +398,7 @@ def last_by(self, by: List[str] = []): Raises: DHError """ - table_op = DedicatedAggOp(AggType.LAST, column_names=by) + table_op = AggregateAllOp(agg=agg.last(), by=by) return self.table_op_handler(table_op) def sum_by(self, by: List[str] = []): @@ -413,7 +414,7 @@ def sum_by(self, by: List[str] = []): Raises: DHError """ - table_op = DedicatedAggOp(AggType.SUM, column_names=by) + table_op = AggregateAllOp(agg=agg.sum_(), by=by) return self.table_op_handler(table_op) def avg_by(self, by: List[str] = []): @@ -429,7 +430,7 @@ def avg_by(self, by: List[str] = []): Raises: DHError """ - table_op = DedicatedAggOp(AggType.AVG, column_names=by) + table_op = AggregateAllOp(agg=agg.avg(), by=by) return self.table_op_handler(table_op) def std_by(self, by: List[str] = []): @@ -445,7 +446,7 @@ def std_by(self, by: List[str] = []): Raises: DHError """ - table_op = DedicatedAggOp(AggType.STD, column_names=by) + table_op = AggregateAllOp(agg=agg.std(), by=by) return self.table_op_handler(table_op) def var_by(self, by: List[str] = []): @@ -461,7 +462,7 @@ def var_by(self, by: List[str] = []): Raises: DHError """ - table_op = DedicatedAggOp(AggType.VAR, column_names=by) + table_op = AggregateAllOp(agg=agg.var(), by=by) return self.table_op_handler(table_op) def median_by(self, by: List[str] = []): @@ -477,7 +478,7 @@ def median_by(self, by: List[str] = []): Raises: DHError """ - table_op = DedicatedAggOp(AggType.MEDIAN, column_names=by) + table_op = AggregateAllOp(agg=agg.median(), by=by) return self.table_op_handler(table_op) def min_by(self, by: List[str] = []): @@ -493,7 +494,7 @@ def min_by(self, by: List[str] = []): Raises: DHError """ - table_op = DedicatedAggOp(AggType.MIN, column_names=by) + table_op = AggregateAllOp(agg=agg.min_(), by=by) return self.table_op_handler(table_op) def max_by(self, by: List[str] = []): @@ -509,7 +510,7 @@ def max_by(self, by: List[str] = []): Raises: DHError """ - table_op = DedicatedAggOp(AggType.MAX, column_names=by) + table_op = AggregateAllOp(agg=agg.max_(), by=by) return self.table_op_handler(table_op) def count_by(self, col: str, by: List[str] = []): @@ -526,15 +527,16 @@ def count_by(self, col: str, by: List[str] = []): Raises: DHError """ - table_op = DedicatedAggOp(AggType.COUNT, column_names=by, count_column=col) + table_op = AggregateOp(aggs=[agg.count_(col=col)], by=by) return self.table_op_handler(table_op) - def count(self, col: str): - """ Count the number of values in the specified column on the table and return the result in a table with one row - and one column. + def agg_by(self, aggs: List[Aggregation], by: List[str]): + """ Create a new table containing grouping columns and grouped data. The resulting grouped data is defined by + the aggregations specified. Args: - col (str): the name of the column whose values to be counted + aggs (List[Aggregation]): the aggregations to be applied + by (List[str]): the group-by column names Returns: a Table object @@ -542,14 +544,22 @@ def count(self, col: str): Raises: DHError """ - table_op = DedicatedAggOp(AggType.COUNT, count_column=col) + for agg in aggs: + if hasattr(agg, 'cols') and not agg.cols: + raise DHError(message="No columns specified for the aggregation operation {agg}.") + + table_op = AggregateOp(aggs=aggs, by=by) return self.table_op_handler(table_op) - def agg_by(self, agg: ComboAggregation, by: List[str]): - """ Perform a Combined Aggregation operation on the table and return the result table. + def agg_all_by(self, agg: Aggregation, by: List[str]): + """ Create a new table containing grouping columns and grouped data. The resulting grouped data is defined by + the aggregation specified. + + Note, because agg_all_by applies the aggregation to all the columns of the table, it will ignore + any column names specified for the aggregation. Args: - agg (ComboAggregation): the combined aggregation definition + agg (Aggregation): the aggregation to be applied by (List[str]): the group-by column names Returns: @@ -558,7 +568,10 @@ def agg_by(self, agg: ComboAggregation, by: List[str]): Raises: DHError """ - table_op = ComboAggOp(column_names=by, combo_aggregation=agg) + if not isinstance(agg, _AggregationColumns): + raise DHError(f"unsupported aggregation {agg}.") + + table_op = AggregateAllOp(agg=agg, by=by) return self.table_op_handler(table_op) def update_by(self, ops: List[UpdateByOperation], by: List[str]): diff --git a/py/client/pydeephaven/_table_ops.py b/py/client/pydeephaven/_table_ops.py index a723a24ca81..15439348158 100644 --- a/py/client/pydeephaven/_table_ops.py +++ b/py/client/pydeephaven/_table_ops.py @@ -4,8 +4,7 @@ from abc import ABC, abstractmethod from typing import List, Any -from pydeephaven._constants import AggType -from pydeephaven.combo_agg import ComboAggregation +from pydeephaven.agg import Aggregation from pydeephaven.constants import SortDirection, MatchRule from pydeephaven.proto import table_pb2, table_pb2_grpc from pydeephaven.updateby import UpdateByOperation @@ -448,58 +447,6 @@ def make_grpc_request_for_batch(self, result_id, source_id): flatten=self.make_grpc_request(result_id=result_id, source_id=source_id)) -class DedicatedAggOp(TableOp): - def __init__(self, agg_type: AggType, column_names: List[str] = [], count_column: str = None): - self.agg_type = agg_type - self.column_names = column_names - self.count_column = count_column - - @classmethod - def get_stub_func(cls, table_service_stub: table_pb2_grpc.TableServiceStub): - return table_service_stub.ComboAggregate - - def make_grpc_request(self, result_id, source_id): - aggregates = [] - if self.agg_type == AggType.COUNT and self.count_column: - agg = table_pb2.ComboAggregateRequest.Aggregate(type=self.agg_type.value, column_name=self.count_column) - else: - agg = table_pb2.ComboAggregateRequest.Aggregate(type=self.agg_type.value) - aggregates.append(agg) - - return table_pb2.ComboAggregateRequest(result_id=result_id, - source_id=source_id, - aggregates=aggregates, - group_by_columns=self.column_names) - - def make_grpc_request_for_batch(self, result_id, source_id): - return table_pb2.BatchTableRequest.Operation( - combo_aggregate=self.make_grpc_request(result_id=result_id, source_id=source_id)) - - -class ComboAggOp(TableOp): - def __init__(self, column_names: List[str], combo_aggregation: ComboAggregation): - self.column_names = column_names - self.combo_aggregation = combo_aggregation - - @classmethod - def get_stub_func(cls, table_service_stub: table_pb2_grpc.TableServiceStub): - return table_service_stub.ComboAggregate - - def make_grpc_request(self, result_id, source_id): - aggregates = [] - for agg in self.combo_aggregation.aggregates: - aggregates.append(agg.make_grpc_request()) - - return table_pb2.ComboAggregateRequest(result_id=result_id, - source_id=source_id, - aggregates=aggregates, - group_by_columns=self.column_names) - - def make_grpc_request_for_batch(self, result_id, source_id): - return table_pb2.BatchTableRequest.Operation( - combo_aggregate=self.make_grpc_request(result_id=result_id, source_id=source_id)) - - class FetchTableOp(TableOp): @classmethod def get_stub_func(cls, table_service_stub: table_pb2_grpc.TableServiceStub): @@ -523,7 +470,7 @@ def get_stub_func(cls, table_service_stub: table_pb2_grpc.TableServiceStub): return table_service_stub.UpdateBy def make_grpc_request(self, result_id, source_id=None): - operations = [op.make_grpc_request() for op in self.operations] + operations = [op.make_grpc_message() for op in self.operations] return table_pb2.UpdateByRequest(result_id=result_id, source_id=source_id, operations=operations, group_by_columns=self.by) @@ -563,13 +510,50 @@ def make_grpc_request(self, result_id, source_id=None): base_id = source_id trigger_id = table_pb2.TableReference(ticket=self.trigger_table.ticket) return table_pb2.SnapshotWhenTableRequest(result_id=result_id, - base_id=base_id, - trigger_id=trigger_id, - initial=self.initial, - incremental=self.incremental, - history=self.history, - stamp_columns=self.stamp_cols) + base_id=base_id, + trigger_id=trigger_id, + initial=self.initial, + incremental=self.incremental, + history=self.history, + stamp_columns=self.stamp_cols) def make_grpc_request_for_batch(self, result_id, source_id): return table_pb2.BatchTableRequest.Operation( snapshot_when=self.make_grpc_request(result_id=result_id, source_id=source_id)) + + +class AggregateOp(TableOp): + def __init__(self, aggs: List[Aggregation], by: List[str]): + self.aggs = aggs + self.by = by + + @classmethod + def get_stub_func(cls, table_service_stub: table_pb2_grpc.TableServiceStub): + return table_service_stub.Aggregate + + def make_grpc_request(self, result_id, source_id=None): + aggregations = [agg.make_grpc_message() for agg in self.aggs] + return table_pb2.AggregateRequest(result_id=result_id, source_id=source_id, aggregations=aggregations, + group_by_columns=self.by) + + def make_grpc_request_for_batch(self, result_id, source_id): + return table_pb2.BatchTableRequest.Operation( + aggregate=self.make_grpc_request(result_id=result_id, source_id=source_id)) + + +class AggregateAllOp(TableOp): + def __init__(self, agg: Aggregation, by: List[str]): + self.agg_spec = agg.agg_spec + self.by = by + + @classmethod + def get_stub_func(cls, table_service_stub: table_pb2_grpc.TableServiceStub): + return table_service_stub.AggregateAll + + def make_grpc_request(self, result_id, source_id=None): + return table_pb2.AggregateAllRequest(result_id=result_id, source_id=source_id, spec=self.agg_spec, + group_by_columns=self.by) + + def make_grpc_request_for_batch(self, result_id, source_id): + return table_pb2.BatchTableRequest.Operation( + aggregate_all=self.make_grpc_request(result_id=result_id, source_id=source_id)) diff --git a/py/client/pydeephaven/agg.py b/py/client/pydeephaven/agg.py new file mode 100644 index 00000000000..00963fce05b --- /dev/null +++ b/py/client/pydeephaven/agg.py @@ -0,0 +1,356 @@ +# +# Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending +# + +from abc import ABC, abstractmethod +from dataclasses import dataclass +from typing import List + +from pydeephaven.proto import table_pb2 + +_GrpcAggregation = table_pb2.Aggregation +_GrpcAggregationColumns = _GrpcAggregation.AggregationColumns +_GrpcAggregationCount = _GrpcAggregation.AggregationCount +_GrpcAggregationPartition = _GrpcAggregation.AggregationPartition +_GrpcAggSpec = table_pb2.AggSpec + + +class Aggregation(ABC): + """An Aggregation object represents an aggregation operation. + + Note: It should not be instantiated directly by user code but rather through the factory functions in the module. + """ + + @abstractmethod + def make_grpc_message(self): + pass + + +@dataclass +class _AggregationColumns(Aggregation): + agg_spec: _GrpcAggSpec + cols: List[str] + + def make_grpc_message(self) -> _GrpcAggregation: + agg_columns = _GrpcAggregationColumns(spec=self.agg_spec, match_pairs=self.cols) + return _GrpcAggregation(columns=agg_columns) + + +@dataclass +class _AggregationCount(Aggregation): + col: str + + def make_grpc_message(self) -> _GrpcAggregation: + agg_count = _GrpcAggregationCount(column_name=self.col) + return _GrpcAggregation(count=agg_count) + + +@dataclass +class _AggregationPartition(Aggregation): + col: str + include_by_columns: bool + + def make_grpc_message(self) -> _GrpcAggregation: + agg_count = _GrpcAggregationPartition(column_name=self.col, include_group_by_columns=self.include_by_columns) + return _GrpcAggregation(partition=agg_count) + + +def sum_(cols: List[str] = None) -> Aggregation: + """Create a Sum aggregation. + + Args: + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(sum=_GrpcAggSpec.AggSpecSum()) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def abs_sum(cols: List[str] = None) -> Aggregation: + """Create an Absolute-sum aggregation. + + Args: + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(abs_sum=_GrpcAggSpec.AggSpecAbsSum()) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def group(cols: List[str] = None) -> Aggregation: + """Create a Group aggregation. + + Args: + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(group=_GrpcAggSpec.AggSpecGroup()) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def avg(cols: List[str] = None) -> Aggregation: + """Create an Average aggregation. + + Args: + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(avg=_GrpcAggSpec.AggSpecAvg()) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def count_(col: str) -> Aggregation: + """Create a Count aggregation. This is not supported in 'Table.agg_all_by'. + + Args: + col (str): the column to hold the counts of each distinct group + + Returns: + an aggregation + """ + return _AggregationCount(col=col) + + +def partition(col: str, include_by_columns: bool = True) -> Aggregation: + """Create a Partition aggregation. This is not supported in 'Table.agg_all_by'. + + Args: + col (str): the column to hold the sub tables + include_by_columns (bool): whether to include the group by columns in the result, default is True + + Returns: + an aggregation + """ + return _AggregationPartition(col=col, include_by_columns=include_by_columns) + + +def count_distinct(cols: List[str] = None) -> Aggregation: + """Create a Count Distinct aggregation. + + Args: + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(count_distinct=_GrpcAggSpec.AggSpecCountDistinct(False)) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def first(cols: List[str] = None) -> Aggregation: + """Create a First aggregation. + + Args: + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(first=_GrpcAggSpec.AggSpecFirst()) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def formula(formula: str, formula_param: str, cols: List[str] = None) -> Aggregation: + """Create a user defined formula aggregation. + + Args: + formula (str): the user defined formula to apply to each group + formula_param (str): the parameter name within the formula + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(formula=_GrpcAggSpec.AggSpecFormula(formula=formula, param_token=formula_param)) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def last(cols: List[str] = None) -> Aggregation: + """Create a Last aggregation. + + Args: + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(last=_GrpcAggSpec.AggSpecLast()) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def min_(cols: List[str] = None) -> Aggregation: + """Create a Min aggregation. + + Args: + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(min=_GrpcAggSpec.AggSpecMin()) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def max_(cols: List[str] = None) -> Aggregation: + """Create a Max aggregation. + + Args: + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(max=_GrpcAggSpec.AggSpecMax()) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def median(cols: List[str] = None) -> Aggregation: + """Create a Median aggregation. + + Args: + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(median=_GrpcAggSpec.AggSpecMedian(average_evenly_divided=True)) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def pct(percentile: float, cols: List[str] = None) -> Aggregation: + """Create a Percentile aggregation. + + Args: + percentile (float): the percentile used for calculation + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(percentile=_GrpcAggSpec.AggSpecPercentile(percentile=percentile, + average_evenly_divided=False)) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def sorted_first(order_by: str, cols: List[str] = None) -> Aggregation: + """Create a SortedFirst aggregation. + + Args: + order_by (str): the column to sort by + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + sorted_column = _GrpcAggSpec.AggSpecSortedColumn(column_name=order_by) + agg_spec = _GrpcAggSpec(sorted_first=_GrpcAggSpec.AggSpecSorted(columns=[sorted_column])) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def sorted_last(order_by: str, cols: List[str] = None) -> Aggregation: + """Create a SortedLast aggregation. + + Args: + order_by (str): the column to sort by + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + sorted_column = _GrpcAggSpec.AggSpecSortedColumn(column_name=order_by) + agg_spec = _GrpcAggSpec(sorted_last=_GrpcAggSpec.AggSpecSorted(columns=[sorted_column])) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def std(cols: List[str] = None) -> Aggregation: + """Create a Std (standard deviation) aggregation. + + Args: + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(std=_GrpcAggSpec.AggSpecStd()) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def unique(cols: List[str] = None) -> Aggregation: + """Create a Unique aggregation. + + Args: + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(unique=_GrpcAggSpec.AggSpecUnique(include_nulls=False, non_unique_sentinel=None)) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def var(cols: List[str] = None) -> Aggregation: + """Create a Variance aggregation. + + Args: + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(var=_GrpcAggSpec.AggSpecVar()) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def weighted_avg(wcol: str, cols: List[str] = None) -> Aggregation: + """Create a Weighted-average aggregation. + + Args: + wcol (str): the name of the weight column + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(weighted_avg=_GrpcAggSpec.AggSpecWeighted(weight_column=wcol)) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) + + +def weighted_sum(wcol: str, cols: List[str] = None) -> Aggregation: + """Create a Weighted-sum aggregation. + + Args: + wcol (str): the name of the weight column + cols (List[str]): the column(s) to aggregate on, can be renaming expressions, i.e. "new_col = col"; + default is None, only valid when used in Table agg_all_by operation + + Returns: + an aggregation + """ + agg_spec = _GrpcAggSpec(weighted_sum=_GrpcAggSpec.AggSpecWeighted(weight_column=wcol)) + return _AggregationColumns(agg_spec=agg_spec, cols=cols) diff --git a/py/client/pydeephaven/combo_agg.py b/py/client/pydeephaven/combo_agg.py deleted file mode 100644 index e82ce0bd115..00000000000 --- a/py/client/pydeephaven/combo_agg.py +++ /dev/null @@ -1,249 +0,0 @@ -# -# Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending -# - -from abc import ABC, abstractmethod -from dataclasses import dataclass -from typing import List - -from pydeephaven._constants import AggType -from pydeephaven.proto import table_pb2 - - -@dataclass -class AggBase(ABC): - @abstractmethod - def make_grpc_request(self): - ... - - -@dataclass() -class CommonAgg(AggBase): - agg_type: AggType - match_pairs: List[str] - - def make_grpc_request(self): - return table_pb2.ComboAggregateRequest.Aggregate(type=self.agg_type.value, match_pairs=self.match_pairs) - - -@dataclass() -class WeightedAvgAgg(CommonAgg): - weight_column: str - - def __init__(self, weight_column, match_pairs): - super().__init__(AggType.WEIGHTED_AVG, match_pairs=match_pairs) - self.weight_column = weight_column - - def make_grpc_request(self): - return table_pb2.ComboAggregateRequest.Aggregate(type=self.agg_type.value, match_pairs=self.match_pairs, - column_name=self.weight_column) - - -@dataclass() -class PctAgg(CommonAgg): - percentile: float - - def __init__(self, percentile, match_pairs): - super().__init__(AggType.PERCENTILE, match_pairs=match_pairs) - self.percentile = percentile - - def make_grpc_request(self): - return table_pb2.ComboAggregateRequest.Aggregate(type=self.agg_type.value, match_pairs=self.match_pairs, - percentile=self.percentile) - - -@dataclass() -class CountAgg(AggBase): - count_column: str - - def __init__(self, count_column): - super().__init__(AggType.COUNT) - self.count_column = count_column - - def make_grpc_request(self): - return table_pb2.ComboAggregateRequest.Aggregate(type=self.agg_type.value, column_name=self.count_column) - - -class ComboAggregation: - """ A ComboAggregation object defines a list of aggregations operations that can be evaluated in one single call to - the server, as compared to multiple round trips if individual aggregate method is called on a table. - - Note, a ComboAggregation object is not bound to any table, thus can be reused on tables with the same schema. - """ - - def __init__(self): - self._aggregates = [] - - @property - def aggregates(self): - return self._aggregates - - def sum(self, cols: List[str]): - """ Add a Sum aggregation to the ComboAggregation object. - - Args: - cols (List[str]): the columns to aggregate on, can be renaming expressions, i.e. "new_col = col" - - Returns: - self - """ - self._aggregates.append(CommonAgg(agg_type=AggType.SUM, match_pairs=cols)) - return self - - def abs_sum(self, cols: List[str]): - """ Add an Absolute-sum aggregation to the ComboAggregation object. - - Args: - cols (List[str]): the columns to aggregate on, can be renaming expressions, i.e. "new_col = col" - - Returns: - self - """ - self._aggregates.append(CommonAgg(agg_type=AggType.ABS_SUM, match_pairs=cols)) - return self - - def group(self, cols: List[str]): - """ Add a group aggregation to the ComboAggregation object. - - Args: - cols (List[str]): the columns to aggregate on, can be renaming expressions, i.e. "new_col = col" - - Returns: - self - """ - self._aggregates.append(CommonAgg(agg_type=AggType.GROUP, match_pairs=cols)) - return self - - def avg(self, cols: List[str]): - """ Add an Average aggregation to the ComboAggregation object. - - Args: - cols (List[str]): the columns to aggregate on, can be renaming expressions, i.e. "new_col = col" - - Returns: - self - """ - self._aggregates.append(CommonAgg(agg_type=AggType.AVG, match_pairs=cols)) - return self - - def count(self, col: str): - """ Add a Count aggregation to the ComboAggregation object. - - Args: - col (str): the column to hold the counts of each distinct group - - Returns: - self - """ - self._aggregates.append(CountAgg(count_column=col)) - return self - - def first(self, cols: List[str]): - """ Add a First aggregation to the ComboAggregation object. - - Args: - cols (List[str]): the columns to aggregate on, can be renaming expressions, i.e. "new_col = col" - - Returns: - self - """ - self._aggregates.append(CommonAgg(agg_type=AggType.FIRST, match_pairs=cols)) - return self - - def last(self, cols: List[str]): - """ Add a Last aggregation to the ComboAggregation object. - - Args: - cols (List[str]): the columns to aggregate on, can be renaming expressions, i.e. "new_col = col" - - Returns: - self - """ - self._aggregates.append(CommonAgg(agg_type=AggType.LAST, match_pairs=cols)) - return self - - def min(self, cols: List[str]): - """ Add a Min aggregation to the ComboAggregation object. - - Args: - cols (List[str]): the columns to aggregate on, can be renaming expressions, i.e. "new_col = col" - - Returns: - self - """ - self._aggregates.append(CommonAgg(agg_type=AggType.MIN, match_pairs=cols)) - return self - - def max(self, cols: List[str]): - """ Add a Max aggregation to the ComboAggregation object. - - Args: - cols (List[str]): the columns to aggregate on, can be renaming expressions, i.e. "new_col = col" - - Returns: - self - """ - self._aggregates.append(CommonAgg(agg_type=AggType.MAX, match_pairs=cols)) - return self - - def median(self, cols: List[str]): - """ Add a Median aggregation to the ComboAggregation object. - - Args: - cols (List[str]): the columns to aggregate on, can be renaming expressions, i.e. "new_col = col" - - Returns: - self - """ - self._aggregates.append(CommonAgg(agg_type=AggType.MEDIAN, match_pairs=cols)) - return self - - def pct(self, percentile: float, cols: List[str]): - """ Add a Percentile aggregation to the ComboAggregation object. - - Args: - percentile (float): the percentile used for calculation - cols (List[str]): the columns to aggregate on, can be renaming expressions, i.e. "new_col = col" - - Returns: - self - """ - self._aggregates.append((PctAgg(percentile=percentile, match_pairs=cols))) - return self - - def std(self, cols: List[str]): - """ Add a Std aggregation to the ComboAggregation object. - - Args: - cols (List[str]): the columns to aggregate on, can be renaming expressions, i.e. "new_col = col" - - Returns: - self - """ - self._aggregates.append(CommonAgg(agg_type=AggType.STD, match_pairs=cols)) - return self - - def var(self, cols: List[str]): - """ Add a Var aggregation to the ComboAggregation object. - - Args: - cols (List[str]): the columns to aggregate on, can be renaming expressions, i.e. "new_col = col" - - Returns: - self - """ - self._aggregates.append(CommonAgg(agg_type=AggType.VAR, match_pairs=cols)) - return self - - def weighted_avg(self, wcol: str, cols: List[str]): - """ Add a Weighted-avg aggregation to the ComboAggregation object. - - Args: - wcol (str): the name of the weight column - cols (List[str]): the columns to aggregate on, can be renaming expressions, i.e. "new_col = col" - - Returns: - self - """ - self._aggregates.append(WeightedAvgAgg(weight_column=wcol, match_pairs=cols)) - return self diff --git a/py/client/pydeephaven/query.py b/py/client/pydeephaven/query.py index 1716a614c58..16729fc5a9a 100644 --- a/py/client/pydeephaven/query.py +++ b/py/client/pydeephaven/query.py @@ -3,9 +3,9 @@ # from pydeephaven import Table +from pydeephaven._table_interface import TableInterface from pydeephaven._table_ops import * from pydeephaven.dherror import DHError -from pydeephaven._table_interface import TableInterface class Query(TableInterface): @@ -412,17 +412,29 @@ def count(self, col: str): """ return super().count(col) - def agg_by(self, agg: ComboAggregation, by: List[str]): - """ Add a Combined Aggregation operation to the query. + def agg_by(self, aggs: List[Aggregation], by: List[str]): + """ Add an Aggregate operation to the query. + + Args: + by (List[str]): the group-by column names + aggs (List[Aggregation]): the aggregations to be applied + + Returns: + self + """ + return super().agg_by(aggs=aggs, by=by) + + def agg_all_by(self, agg: Aggregation, by: List[str]): + """ Add an AggregateAll operation to the query. Args: + agg (Aggregation): the aggregation to be applied by (List[str]): the group-by column names - agg (ComboAggregation): the combined aggregation definition Returns: self """ - return super().agg_by(agg, by) + return super().agg_all_by(agg=agg, by=by) def update_by(self, ops: List[UpdateByOperation], by: List[str]): """ Add an update-by operation to the query. diff --git a/py/client/pydeephaven/session.py b/py/client/pydeephaven/session.py index b6b47e04abf..ac16635bddf 100644 --- a/py/client/pydeephaven/session.py +++ b/py/client/pydeephaven/session.py @@ -22,6 +22,7 @@ from pydeephaven.query import Query from pydeephaven.table import Table + class Session: """ A Session object represents a connection to the Deephaven data server. It contains a number of convenience methods for asking the server to create tables, import Arrow data into tables, merge tables, run Python scripts, and @@ -86,7 +87,8 @@ def __exit__(self, exc_type, exc_val, exc_tb): def tables(self): with self._r_lock: fields = self._fetch_fields() - return [field.field_name for field in fields if field.application_id == 'scope' and field.typed_ticket.type == 'Table'] + return [field.field_name for field in fields if + field.application_id == 'scope' and field.typed_ticket.type == 'Table'] @property def grpc_metadata(self): @@ -216,7 +218,6 @@ def run_script(self, script: str) -> None: Raises: DHError """ - with self._r_lock: response = self.console_service.run_script(script) if response.error_message != '': @@ -252,7 +253,6 @@ def open_table(self, name: str) -> Table: faketable.ticket = None faketable.schema = None - def bind_table(self, name: str, table: Table) -> None: """ Bind a table to the given name on the server so that it can be referenced by that name. diff --git a/py/client/pydeephaven/updateby.py b/py/client/pydeephaven/updateby.py index fd112a01ba7..bcd679311df 100644 --- a/py/client/pydeephaven/updateby.py +++ b/py/client/pydeephaven/updateby.py @@ -21,7 +21,7 @@ class _UpdateByBase(ABC): @abstractmethod - def make_grpc_request(self): + def make_grpc_message(self): ... @@ -76,7 +76,7 @@ def __init__(self, on_null: BadDataBehavior = BadDataBehavior.SKIP, self.on_nan = on_nan self.big_value_context = big_value_context - def make_grpc_request(self): + def make_grpc_message(self): return _GrpcUpdateByEmaOptions(on_null_value=self.on_null.value, on_nan_value=self.on_nan.value, big_value_context=_GrpcMathContext(precision=self.big_value_context.value[0], rounding_mode=self.big_value_context.value[1])) @@ -88,7 +88,7 @@ class UpdateByOperation(_UpdateByBase): def __init__(self, ub_column): self.ub_column = ub_column - def make_grpc_request(self): + def make_grpc_message(self): return _GrpcUpdateByOperation(column=self.ub_column) @@ -197,7 +197,7 @@ def ema_tick_decay(time_scale_ticks: int, cols: List[str], """ try: timescale = _GrpcUpdateByEmaTimescale(ticks=_GrpcUpdateByEmaTicks(ticks=time_scale_ticks)) - ub_ema = _GrpcUpdateByEma(options=op_control.make_grpc_request() if op_control else None, timescale=timescale) + ub_ema = _GrpcUpdateByEma(options=op_control.make_grpc_message() if op_control else None, timescale=timescale) ub_spec = _GrpcUpdateBySpec(ema=ub_ema) ub_column = _GrpcUpdateByColumn(spec=ub_spec, match_pairs=cols) return UpdateByOperation(ub_column=ub_column) @@ -231,7 +231,7 @@ def ema_time_decay(ts_col: str, time_scale: int, cols: List[str], """ try: timescale = _GrpcUpdateByEmaTimescale(time=_GrpcUpdateByEmaTime(column=ts_col, period_nanos=time_scale)) - ub_ema = _GrpcUpdateByEma(options=op_control.make_grpc_request() if op_control else None, timescale=timescale) + ub_ema = _GrpcUpdateByEma(options=op_control.make_grpc_message() if op_control else None, timescale=timescale) ub_spec = _GrpcUpdateBySpec(ema=ub_ema) ub_column = _GrpcUpdateByColumn(spec=ub_spec, match_pairs=cols) diff --git a/py/client/tests/test_query.py b/py/client/tests/test_query.py index ef771a5bb29..220a2df57b1 100644 --- a/py/client/tests/test_query.py +++ b/py/client/tests/test_query.py @@ -7,7 +7,7 @@ from pyarrow import csv -from pydeephaven import DHError +from pydeephaven import DHError, agg from pydeephaven.updateby import ema_tick_decay, cum_prod from tests.testbase import BaseTestCase @@ -86,6 +86,24 @@ def test_snapshot_when(self): result_table = query.exec() self.assertEqual(len(result_table.schema), len(source_table.schema) + 1) + def test_agg_by(self): + pa_table = csv.read_csv(self.csv_file) + table = self.session.import_table(pa_table) + query = self.session.query(table).agg_by(aggs=[agg.avg(cols=["a"])], by=["b"])\ + .update(formulas=["Col1 = i + 1"]) \ + .tail(5).update(formulas=["Col2=i*i"]) + result_table = query.exec() + self.assertEqual(5, result_table.size) + + def test_agg_all_by(self): + pa_table = csv.read_csv(self.csv_file) + table = self.session.import_table(pa_table) + query = self.session.query(table).agg_all_by(agg=agg.avg(), by=["b"])\ + .update(formulas=["Col1 = i + 1"]) \ + .tail(5).update(formulas=["Col2=i*i"]) + result_table = query.exec() + self.assertEqual(5, result_table.size) + if __name__ == '__main__': unittest.main() diff --git a/py/client/tests/test_table.py b/py/client/tests/test_table.py index 1cccab9d5f7..265d48cfbab 100644 --- a/py/client/tests/test_table.py +++ b/py/client/tests/test_table.py @@ -7,15 +7,14 @@ from pyarrow import csv -from pydeephaven import ComboAggregation, SortDirection +from pydeephaven import SortDirection from pydeephaven import DHError +from pydeephaven.agg import sum_, avg, pct, weighted_avg, count_, partition from pydeephaven.table import Table -from pydeephaven.updateby import cum_sum, cum_prod, cum_min, cum_max, forward_fill from tests.testbase import BaseTestCase class TableTestCase(BaseTestCase): - def test_close(self): pa_table = csv.read_csv(self.csv_file) table = self.session.import_table(pa_table) @@ -188,26 +187,6 @@ def test_count_by(self): result_table = test_table.count_by(col="b", by=["a"]) self.assertEqual(result_table.size, num_distinct_a) - def test_count(self): - pa_table = csv.read_csv(self.csv_file) - test_table = self.session.import_table(pa_table) - df = test_table.count(col="a").to_arrow().to_pandas() - self.assertEqual(df.iloc[0]["a"], test_table.size) - - def test_combo_agg(self): - pa_table = csv.read_csv(self.csv_file) - test_table = self.session.import_table(pa_table) - num_distinct_a = test_table.select_distinct(cols=["a"]).size - - combo_agg = (ComboAggregation() - .sum(cols=["SumC=c"]) - .avg(cols=["AvgB = b", "AvgD = d"]) - .pct(percentile=0.5, cols=["PctC = c"]) - .weighted_avg(wcol="d", cols=["WavGD = d"])) - - result_table = test_table.agg_by(agg=combo_agg, by=["a"]) - self.assertEqual(result_table.size, num_distinct_a) - def test_snapshot(self): pa_table = csv.read_csv(self.csv_file) test_table = self.session.import_table(pa_table) @@ -236,6 +215,64 @@ def test_snapshot_when(self): result_table = source_table.snapshot_when(trigger_table=trigger_table, stamp_cols=["Timestamp"], initial=True, incremental=False, history=True) + def test_agg_by(self): + pa_table = csv.read_csv(self.csv_file) + test_table = self.session.import_table(pa_table) + num_distinct_a = test_table.select_distinct(cols=["a"]).size + + aggs = [sum_(cols=["SumC=c"]), + avg(cols=["AvgB = b", "AvgD = d"]), + pct(percentile=0.5, cols=["PctC = c"]), + weighted_avg(wcol="d", cols=["WavGD = d"]), + count_(col="ca"), + partition(col="aggPartition"), + ] + + result_table = test_table.agg_by(aggs=aggs, by=["a"]) + self.assertEqual(result_table.size, num_distinct_a) + + aggs = [sum_(), + avg(), + pct(percentile=0.5), + weighted_avg(wcol="d"), + ] + + with self.assertRaises(DHError) as cm: + test_table.agg_by(aggs=aggs, by=["a"]) + + def test_agg_all_by(self): + pa_table = csv.read_csv(self.csv_file) + test_table = self.session.import_table(pa_table) + num_distinct_a = test_table.select_distinct(cols=["a"]).size + + aggs = [sum_(), + avg(), + pct(percentile=0.5), + weighted_avg(wcol="d"), + ] + for agg in aggs: + with self.subTest(agg): + result_table = test_table.agg_all_by(agg=agg, by=["a"]) + self.assertEqual(result_table.size, num_distinct_a) + + # cols will be ignored + aggs = [sum_(cols=["SumC=c"]), + avg(cols=["AvgB = b", "AvgD = d"]), + pct(percentile=0.5, cols=["PctC = c"]), + weighted_avg(wcol="d", cols=["WavGD = d"]), + ] + + for agg in aggs: + with self.subTest(agg): + result_table = test_table.agg_all_by(agg=agg, by=["a"]) + self.assertEqual(result_table.size, num_distinct_a) + + with self.subTest("unsupported aggregations"): + with self.assertRaises(DHError) as cm: + test_table.agg_all_by(agg=partition(col="aggPartition"), by=["a"]) + with self.assertRaises(DHError) as cm: + test_table.agg_all_by(agg=count_(col="ca"), by=["a"]) + if __name__ == '__main__': unittest.main() From 3fc5acb4fe7c8c5985d6fa43774ba488fdb0f7bc Mon Sep 17 00:00:00 2001 From: Cristian Ferretti <37232625+jcferretti@users.noreply.github.com> Date: Wed, 29 Mar 2023 19:40:36 -0400 Subject: [PATCH 03/29] Provide the ability to list available Kafka topics from the console (#3619) * Add the ability to list available Kafka topics from the console. * Fixed a few issues. --- .../java/io/deephaven/kafka/KafkaTools.java | 18 +++++++++++ py/server/deephaven/jcompat.py | 9 +++++- py/server/deephaven/stream/kafka/__init__.py | 30 +++++++++++++++++++ py/server/deephaven/stream/kafka/producer.py | 4 ++- py/server/tests/test_kafka_producer.py | 17 +++++++---- 5 files changed, 71 insertions(+), 7 deletions(-) diff --git a/extensions/kafka/src/main/java/io/deephaven/kafka/KafkaTools.java b/extensions/kafka/src/main/java/io/deephaven/kafka/KafkaTools.java index 05dded10395..ce86e8977e9 100644 --- a/extensions/kafka/src/main/java/io/deephaven/kafka/KafkaTools.java +++ b/extensions/kafka/src/main/java/io/deephaven/kafka/KafkaTools.java @@ -57,6 +57,8 @@ import org.apache.avro.generic.GenericRecord; import org.apache.commons.lang3.mutable.MutableInt; import org.apache.commons.lang3.mutable.MutableObject; +import org.apache.kafka.clients.admin.Admin; +import org.apache.kafka.clients.admin.ListTopicsResult; import org.apache.kafka.clients.consumer.ConsumerConfig; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.clients.producer.ProducerConfig; @@ -71,6 +73,7 @@ import java.io.Serializable; import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.ExecutionException; import java.util.function.*; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -2184,4 +2187,19 @@ public void acceptFailure(@NotNull Throwable cause) { streamToTableAdapter.acceptFailure(cause); } } + + public static Set topics(@NotNull final Properties kafkaProperties) { + try (final Admin admin = Admin.create(kafkaProperties)) { + final ListTopicsResult result = admin.listTopics(); + return result.names().get(); + } catch (InterruptedException | ExecutionException e) { + throw new RuntimeException("Failed to list Kafka Topics for " + kafkaProperties, e); + } + } + + public static String[] listTopics(@NotNull final Properties kafkaProperties) { + final Set topics = topics(kafkaProperties); + final String[] r = new String[topics.size()]; + return topics.toArray(r); + } } diff --git a/py/server/deephaven/jcompat.py b/py/server/deephaven/jcompat.py index d6a843ff226..9bb53cff4d5 100644 --- a/py/server/deephaven/jcompat.py +++ b/py/server/deephaven/jcompat.py @@ -5,7 +5,7 @@ """ This module provides Java compatibility support including convenience functions to create some widely used Java data structures from corresponding Python ones in order to be able to call Java methods. """ -from typing import Any, Iterable, Dict, Set, TypeVar, Callable, Union, Sequence +from typing import Any, Callable, Dict, Iterable, List, Sequence, Set, TypeVar, Union import jpy @@ -72,6 +72,13 @@ def j_map_to_dict(m) -> Dict[Any, Any]: return {e.getKey(): wrap_j_object(e.getValue()) for e in m.entrySet().toArray()} +def j_list_to_list(jlist) -> List[Any]: + """Converts a java list to a python list.""" + if not jlist: + return [] + + return [wrap_j_object(jlist.get(i)) for i in range(jlist.size())] + T = TypeVar("T") R = TypeVar("R") diff --git a/py/server/deephaven/stream/kafka/__init__.py b/py/server/deephaven/stream/kafka/__init__.py index 34698c78e4e..52919884ca7 100644 --- a/py/server/deephaven/stream/kafka/__init__.py +++ b/py/server/deephaven/stream/kafka/__init__.py @@ -3,3 +3,33 @@ # """ The kafka module provides the utilities to both consume and produce Kakfa streams. """ + +from typing import Dict, List + +import jpy + +from deephaven import DHError +from deephaven.jcompat import j_list_to_list, j_properties + +_JKafkaTools = jpy.get_type("io.deephaven.kafka.KafkaTools") + +def topics(kafka_config: Dict) -> List[str]: + """Returns a list of topic names available from Kafka. + + Args: + kafka_config (Dict): configuration for the associated Kafka consumer. + The content is used to call the constructor of org.apache.kafka.clients.Admin; + pass any Admin specific desired configuration here + + Returns: + a list of topic names + + Raises: + DHError + """ + try: + kafka_config = j_properties(kafka_config) + jtopics = _JKafkaTools.listTopics(kafka_config) + return list(jtopics) + except Exception as e: + raise DHError(e, "failed to list Kafka topics") from e diff --git a/py/server/deephaven/stream/kafka/producer.py b/py/server/deephaven/stream/kafka/producer.py index ecb13974e50..35b51a7af6f 100644 --- a/py/server/deephaven/stream/kafka/producer.py +++ b/py/server/deephaven/stream/kafka/producer.py @@ -43,7 +43,9 @@ def produce( Args: table (Table): the source table to publish to Kafka - kafka_config (Dict): configuration for the associated kafka producer + kafka_config (Dict): configuration for the associated kafka producer. + This is used to call the constructor of org.apache.kafka.clients.producer.KafkaProducer; + pass any KafkaProducer specific desired configuration here topic (str): the topic name key_spec (KeyValueSpec): specifies how to map table column(s) to the Key field in produced Kafka messages. This should be the result of calling one of the functions simple_spec(), avro_spec() or json_spec() in this diff --git a/py/server/tests/test_kafka_producer.py b/py/server/tests/test_kafka_producer.py index 1cef4452168..f8542b3b421 100644 --- a/py/server/tests/test_kafka_producer.py +++ b/py/server/tests/test_kafka_producer.py @@ -7,6 +7,7 @@ from deephaven import kafka_producer as pk, new_table from deephaven.column import string_col, int_col, double_col +from deephaven.stream import kafka from deephaven.stream.kafka.producer import KeyValueSpec from tests.testbase import BaseTestCase @@ -116,14 +117,16 @@ def test_avro_spec(self): r = os.system(sys_str) self.assertEqual(0, r) + kafka_config = { + 'bootstrap.servers': 'redpanda:29092', + 'schema.registry.url': 'http://redpanda:8081' + } + topic = 'share_price_timestamped' t = table_helper() cleanup = pk.produce( t, - { - 'bootstrap.servers': 'redpanda:29092', - 'schema.registry.url': 'http://redpanda:8081' - }, - 'share_price_timestamped', + kafka_config, + topic, key_spec=KeyValueSpec.IGNORE, value_spec=pk.avro_spec( 'share_price_timestamped_record', @@ -132,6 +135,10 @@ def test_avro_spec(self): last_by_key_columns=False ) + topics = kafka.topics(kafka_config) + self.assertTrue(len(topics) > 0) + self.assertIn(topic, topics) + self.assertIsNotNone(cleanup) cleanup() From e90dd604babcf3bccbe1f985f9f2c79ea99b0e43 Mon Sep 17 00:00:00 2001 From: Cristian Ferretti <37232625+jcferretti@users.noreply.github.com> Date: Thu, 30 Mar 2023 00:34:38 -0400 Subject: [PATCH 04/29] Improve the level of detail logged for kafka ingestion rates (#3628) * Improve the level of detail logged for kafka ingestion rates: add calls to poll and bytes ingested per period stats * Improve the log message format. * Followup to review comments. * Remove unused include. --- .../java/io/deephaven/kafka/KafkaTools.java | 5 +- .../deephaven/kafka/StreamPublisherImpl.java | 10 ++-- ...onsumerRecordToStreamPublisherAdapter.java | 3 +- .../deephaven/kafka/ingest/KafkaIngester.java | 46 +++++++++++++------ .../kafka/ingest/KafkaStreamConsumer.java | 13 +++++- .../kafka/ingest/KafkaStreamPublisher.java | 17 +++++-- 6 files changed, 68 insertions(+), 26 deletions(-) diff --git a/extensions/kafka/src/main/java/io/deephaven/kafka/KafkaTools.java b/extensions/kafka/src/main/java/io/deephaven/kafka/KafkaTools.java index ce86e8977e9..607b9b86a0d 100644 --- a/extensions/kafka/src/main/java/io/deephaven/kafka/KafkaTools.java +++ b/extensions/kafka/src/main/java/io/deephaven/kafka/KafkaTools.java @@ -2174,11 +2174,12 @@ public SimpleKafkaStreamConsumer(ConsumerRecordToStreamPublisherAdapter adapter, } @Override - public void accept(List> consumerRecords) { + public long consume(List> consumerRecords) { try { - adapter.consumeRecords(consumerRecords); + return adapter.consumeRecords(consumerRecords); } catch (Exception e) { acceptFailure(e); + return 0; } } diff --git a/extensions/kafka/src/main/java/io/deephaven/kafka/StreamPublisherImpl.java b/extensions/kafka/src/main/java/io/deephaven/kafka/StreamPublisherImpl.java index 6357bd0b8b9..9d3f2ae7d50 100644 --- a/extensions/kafka/src/main/java/io/deephaven/kafka/StreamPublisherImpl.java +++ b/extensions/kafka/src/main/java/io/deephaven/kafka/StreamPublisherImpl.java @@ -10,6 +10,7 @@ import org.jetbrains.annotations.NotNull; import java.util.function.IntFunction; +import java.util.function.LongSupplier; import java.util.function.Supplier; public class StreamPublisherImpl implements StreamPublisher { @@ -62,11 +63,12 @@ public synchronized void flush() { } /** - * Run the provided Runnable under our lock, preventing flush from taking our chunks while filling them. + * Run the provided LongSupplier under our lock, preventing flush from taking our chunks while filling them. * - * @param runnable the runnable to run + * @param fun the LongSupplier to run + * @return the return of the execution of the provided LongSupplier. */ - public synchronized void doLocked(Runnable runnable) { - runnable.run(); + public synchronized long doLocked(LongSupplier fun) { + return fun.getAsLong(); } } diff --git a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/ConsumerRecordToStreamPublisherAdapter.java b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/ConsumerRecordToStreamPublisherAdapter.java index 560887ccf24..8771bd6e713 100644 --- a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/ConsumerRecordToStreamPublisherAdapter.java +++ b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/ConsumerRecordToStreamPublisherAdapter.java @@ -18,7 +18,8 @@ public interface ConsumerRecordToStreamPublisherAdapter { * Consume a List of Kafka records, producing zero or more rows in the output. * * @param records the records received from {@link org.apache.kafka.clients.consumer.KafkaConsumer#poll(Duration)}. + * @return the number of bytes processed * @throws IOException if there was an error writing to the output table */ - void consumeRecords(List> records) throws IOException; + long consumeRecords(List> records) throws IOException; } diff --git a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/KafkaIngester.java b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/KafkaIngester.java index 9c7c432b3f0..a9f80358b59 100644 --- a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/KafkaIngester.java +++ b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/KafkaIngester.java @@ -49,8 +49,12 @@ public int getIntKey(@NotNull final TopicPartition topicPartition) { }); private final String logPrefix; private long messagesProcessed = 0; + private long bytesProcessed = 0; + private long pollCalls = 0; private long messagesWithErr = 0; - private long lastProcessed = 0; + private long lastMessages = 0; + private long lastBytes = 0; + private long lastPollCalls = 0; private volatile boolean needsAssignment; private volatile boolean done; @@ -156,7 +160,7 @@ public String toString() { * @param topic The topic to replicate * @param partitionToStreamConsumer A function implementing a mapping from partition to its consumer of records. The * function will be invoked once per partition at construction; implementations should internally defer - * resource allocation until first call to {@link KafkaStreamConsumer#accept(Object)} or + * resource allocation until first call to {@link KafkaStreamConsumer#consume(Object)} or * {@link KafkaStreamConsumer#acceptFailure(Throwable)} if appropriate. * @param partitionToInitialSeekOffset A function implementing a mapping from partition to its initial seek offset, * or -1 if seek to beginning is intended. @@ -185,7 +189,7 @@ public KafkaIngester(final Logger log, * @param partitionFilter A predicate indicating which partitions we should replicate * @param partitionToStreamConsumer A function implementing a mapping from partition to its consumer of records. The * function will be invoked once per partition at construction; implementations should internally defer - * resource allocation until first call to {@link KafkaStreamConsumer#accept(Object)} or + * resource allocation until first call to {@link KafkaStreamConsumer#consume(Object)} or * {@link KafkaStreamConsumer#acceptFailure(Throwable)} if appropriate. * @param partitionToInitialSeekOffset A function implementing a mapping from partition to its initial seek offset, * or -1 if seek to beginning is intended. @@ -254,21 +258,24 @@ public void start() { t.start(); } - private static double msgPerSec(final long msgs, final long nanos) { - return 1000.0 * 1000.0 * 1000.0 * msgs / nanos; + private static double unitsPerSec(final long units, final long nanos) { + if (nanos <= 0) { + return 0; + } + return 1000.0 * 1000.0 * 1000.0 * units / nanos; } private void consumerLoop() { final long reportIntervalNanos = REPORT_INTERVAL_MS * 1_000_000L; long lastReportNanos = System.nanoTime(); - final DecimalFormat rateFormat = new DecimalFormat("#.0000"); + long nextReport = lastReportNanos + reportIntervalNanos; + final DecimalFormat rateFormat = new DecimalFormat("#.###"); while (!done) { while (needsAssignment) { needsAssignment = false; assign(); } final long beforePoll = System.nanoTime(); - final long nextReport = lastReportNanos + reportIntervalNanos; final long remainingNanos = beforePoll > nextReport ? 0 : (nextReport - beforePoll); boolean more = pollOnce(Duration.ofNanos(remainingNanos)); if (!more) { @@ -280,15 +287,25 @@ private void consumerLoop() { } final long afterPoll = System.nanoTime(); if (afterPoll > nextReport) { - final long intervalMessages = messagesProcessed - lastProcessed; - final long intervalNanos = afterPoll - lastReportNanos; + final long periodMessages = messagesProcessed - lastMessages; + final long periodBytes = bytesProcessed - lastBytes; + final long periodPolls = pollCalls - lastPollCalls; + final long periodNanos = afterPoll - lastReportNanos; log.info().append(logPrefix) - .append("Processed ").append(intervalMessages).append(" in ") - .append(intervalNanos / 1000_000L).append("ms, ") - .append(rateFormat.format(msgPerSec(intervalMessages, intervalNanos))).append(" msgs/sec") + .append("ingestion period summary") + .append(": polls=").append(periodPolls) + .append(", messages=").append(periodMessages) + .append(", bytes=").append(periodBytes) + .append(", time=").append(periodNanos / 1000_000L).append("ms") + .append(", polls/sec=").append(rateFormat.format(unitsPerSec(periodPolls, periodNanos))) + .append(", msgs/sec=").append(rateFormat.format(unitsPerSec(periodMessages, periodNanos))) + .append(", bytes/sec=").append(rateFormat.format(unitsPerSec(periodBytes, periodNanos))) .endl(); lastReportNanos = afterPoll; - lastProcessed = messagesProcessed; + nextReport = lastReportNanos + reportIntervalNanos; + lastMessages = messagesProcessed; + lastBytes = bytesProcessed; + lastPollCalls = pollCalls; } } log.info().append(logPrefix).append("Closing Kafka consumer").endl(); @@ -302,6 +319,7 @@ private void consumerLoop() { private boolean pollOnce(final Duration timeout) { final ConsumerRecords records; try { + ++pollCalls; records = kafkaConsumer.poll(timeout); } catch (WakeupException we) { // we interpret a wakeup as a signal to stop /this/ poll. @@ -329,7 +347,7 @@ private boolean pollOnce(final Duration timeout) { } try { - streamConsumer.accept(partitionRecords); + bytesProcessed += streamConsumer.consume(partitionRecords); } catch (Throwable ex) { ++messagesWithErr; log.error().append(logPrefix).append("Exception while processing Kafka message:").append(ex).endl(); diff --git a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/KafkaStreamConsumer.java b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/KafkaStreamConsumer.java index fda3c0d6674..43840209788 100644 --- a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/KafkaStreamConsumer.java +++ b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/KafkaStreamConsumer.java @@ -7,11 +7,20 @@ import org.apache.kafka.clients.consumer.ConsumerRecord; import java.util.List; -import java.util.function.Consumer; /** * Consumer for lists of ConsumerRecords coming from Kafka. The StreamFailureConsumer is extended so that we can report * errors emanating from our consumer thread. */ -public interface KafkaStreamConsumer extends Consumer>>, StreamFailureConsumer { +public interface KafkaStreamConsumer extends StreamFailureConsumer { + /** + * Consume a list of ConsumerRecords coming from Kafka. + * + * @param records the records to consume + * @return the total number of message bytes processed, according whether any key and/or value fields were + * processed, and the corresponding values for + * {@code org.apache.kafka.clients.consumer.ConsumerRecord.serializedKeySize} + * {@code org.apache.kafka.clients.consumer.ConsumerRecord.serializedValueSize} + */ + long consume(List> records); } diff --git a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/KafkaStreamPublisher.java b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/KafkaStreamPublisher.java index 2b53f5c3b27..74583105eb0 100644 --- a/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/KafkaStreamPublisher.java +++ b/extensions/kafka/src/main/java/io/deephaven/kafka/ingest/KafkaStreamPublisher.java @@ -149,8 +149,8 @@ private static Pair getProcessorAndSimpleIndex(int } @Override - public void consumeRecords(List> records) { - publisher.doLocked(() -> doConsumeRecords(records)); + public long consumeRecords(List> records) { + return publisher.doLocked(() -> doConsumeRecords(records)); } private boolean haveKey() { @@ -162,13 +162,15 @@ private boolean haveValue() { } @SuppressWarnings("unchecked") - private void doConsumeRecords(List> records) { + // returns the number of bytes processed. + private long doConsumeRecords(List> records) { WritableChunk[] chunks = publisher.getChunks(); checkChunkSizes(chunks); int remaining = chunks[0].capacity() - chunks[0].size(); final int chunkSize = Math.min(records.size(), chunks[0].capacity()); + long bytesProcessed = 0; try (final WritableObjectChunk keyChunkCloseable = haveKey() ? WritableObjectChunk.makeWritableChunk(chunkSize) : null; @@ -263,9 +265,17 @@ private void doConsumeRecords(List> records) { if (keyChunk != null) { keyChunk.add(keyToChunkObjectMapper.apply(record.key())); + final int keyBytes = record.serializedKeySize(); + if (keyBytes > 0) { + bytesProcessed += keyBytes; + } } if (valueChunk != null) { valueChunk.add(valueToChunkObjectMapper.apply(record.value())); + final int valueBytes = record.serializedValueSize(); + if (valueBytes > 0) { + bytesProcessed += valueBytes; + } } } if (keyChunk != null) { @@ -277,6 +287,7 @@ private void doConsumeRecords(List> records) { checkChunkSizes(chunks); } + return bytesProcessed; } private void checkChunkSizes(WritableChunk[] chunks) { From 7e5f662680ff9e074b833226b2788fded545ec38 Mon Sep 17 00:00:00 2001 From: Jianfeng Mao <4297243+jmao-denver@users.noreply.github.com> Date: Thu, 30 Mar 2023 10:10:29 -0600 Subject: [PATCH 05/29] Migrate to flight auth (#3589) --- py/client/pydeephaven/_app_service.py | 5 +- .../pydeephaven/_arrow_flight_service.py | 10 +- py/client/pydeephaven/_config_service.py | 22 ++++ py/client/pydeephaven/_session_service.py | 22 +--- py/client/pydeephaven/session.py | 120 +++++++++++++++--- py/client/tests/test_session.py | 6 +- 6 files changed, 140 insertions(+), 45 deletions(-) create mode 100644 py/client/pydeephaven/_config_service.py diff --git a/py/client/pydeephaven/_app_service.py b/py/client/pydeephaven/_app_service.py index b125ad0815a..0d73fb539e9 100644 --- a/py/client/pydeephaven/_app_service.py +++ b/py/client/pydeephaven/_app_service.py @@ -1,10 +1,11 @@ # -# Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending +# Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending # from pydeephaven.dherror import DHError from pydeephaven.proto import application_pb2_grpc, application_pb2 + class AppService: def __init__(self, session): self.session = session @@ -18,4 +19,4 @@ def list_fields(self): ) return fields except Exception as e: - raise DHError("failed to list fields.") from e \ No newline at end of file + raise DHError("failed to list fields.") from e diff --git a/py/client/pydeephaven/_arrow_flight_service.py b/py/client/pydeephaven/_arrow_flight_service.py index 2dfd6a6b251..a9f68653ac4 100644 --- a/py/client/pydeephaven/_arrow_flight_service.py +++ b/py/client/pydeephaven/_arrow_flight_service.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending +# Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending # import pyarrow @@ -62,11 +62,11 @@ def _map_arrow_type(arrow_type): class ArrowFlightService: - def __init__(self, session): + def __init__(self, session, flight_client): self.session = session - self._flight_client = paflight.connect((session.host, session.port)) + self._flight_client = flight_client - def import_table(self, data:pyarrow.Table): + def import_table(self, data: pyarrow.Table): try: options = paflight.FlightCallOptions(headers=self.session.grpc_metadata) if not isinstance(data, (pa.Table, pa.RecordBatch)): @@ -87,7 +87,7 @@ def import_table(self, data:pyarrow.Table): except Exception as e: raise DHError("failed to create a Deephaven table from Arrow data.") from e - def do_get_table(self, table:Table): + def do_get_table(self, table: Table): try: options = paflight.FlightCallOptions(headers=self.session.grpc_metadata) flight_ticket = paflight.Ticket(table.ticket.ticket) diff --git a/py/client/pydeephaven/_config_service.py b/py/client/pydeephaven/_config_service.py new file mode 100644 index 00000000000..a01a024e8b7 --- /dev/null +++ b/py/client/pydeephaven/_config_service.py @@ -0,0 +1,22 @@ +# +# Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending +# +from typing import Any, Dict + +from pydeephaven.dherror import DHError +from pydeephaven.proto import config_pb2, config_pb2_grpc + + +class ConfigService: + def __init__(self, session): + self.session = session + self._grpc_app_stub = config_pb2_grpc.ConfigServiceStub(session.grpc_channel) + + def get_configuration_constants(self) -> Dict[str, Any]: + try: + response = self._grpc_app_stub.GetConfigurationConstants(config_pb2.ConfigurationConstantsRequest(), + metadata=self.session.grpc_metadata + ) + return dict(response.config_values) + except Exception as e: + raise DHError("failed to get the configuration constants.") from e diff --git a/py/client/pydeephaven/_session_service.py b/py/client/pydeephaven/_session_service.py index 4f142de4497..ecdbac2f476 100644 --- a/py/client/pydeephaven/_session_service.py +++ b/py/client/pydeephaven/_session_service.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending +# Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending # import grpc @@ -16,28 +16,12 @@ def __init__(self, session): def connect(self): grpc_channel = grpc.insecure_channel(":".join([self.session.host, str(self.session.port)])) self._grpc_session_stub = session_pb2_grpc.SessionServiceStub(grpc_channel) - - try: - response = self._grpc_session_stub.NewSession( - session_pb2.HandshakeRequest(auth_protocol=1, payload=b'hello pydeephaven')) - return grpc_channel, response.session_token, response.token_expiration_delay_millis - except Exception as e: - grpc_channel.close() - raise DHError("failed to connect to the server.") from e - - def refresh_token(self): - try: - response = self._grpc_session_stub.RefreshSessionToken( - session_pb2.HandshakeRequest(auth_protocol=0, payload=self.session.session_token), - metadata=self.session.grpc_metadata) - return response.session_token, response.token_expiration_delay_millis - except Exception as e: - raise DHError("failed to refresh session token.") from e + return grpc_channel def close(self): try: self._grpc_session_stub.CloseSession( - session_pb2.HandshakeRequest(auth_protocol=0, payload=self.session.session_token), + session_pb2.HandshakeRequest(auth_protocol=0, payload=self.session._auth_token), metadata=self.session.grpc_metadata) except Exception as e: raise DHError("failed to close the session.") from e diff --git a/py/client/pydeephaven/session.py b/py/client/pydeephaven/session.py index ac16635bddf..5cfd816f2df 100644 --- a/py/client/pydeephaven/session.py +++ b/py/client/pydeephaven/session.py @@ -1,19 +1,22 @@ # -# Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending +# Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending # - +import base64 import os import threading from typing import List +import grpc import pyarrow +import pyarrow.flight as paflight from bitstring import BitArray +from pyarrow import ArrowNotImplementedError +from pyarrow._flight import ClientMiddlewareFactory, ClientMiddleware, ClientAuthHandler -import grpc - +from pydeephaven._app_service import AppService from pydeephaven._arrow_flight_service import ArrowFlightService +from pydeephaven._config_service import ConfigService from pydeephaven._console_service import ConsoleService -from pydeephaven._app_service import AppService from pydeephaven._session_service import SessionService from pydeephaven._table_ops import TimeTableOp, EmptyTableOp, MergeTablesOp, FetchTableOp from pydeephaven._table_service import TableService @@ -23,6 +26,50 @@ from pydeephaven.table import Table +class _DhClientAuthMiddlewareFactory(ClientMiddlewareFactory): + def __init__(self, session): + super().__init__() + self._session = session + + def start_call(self, info): + return _DhClientAuthMiddleware(self._session) + + +class _DhClientAuthMiddleware(ClientMiddleware): + def __init__(self, session): + super().__init__() + self._session = session + + def call_completed(self, exception): + super().call_completed(exception) + + def received_headers(self, headers): + super().received_headers(headers) + if headers: + auth_token = bytes(headers.get("authorization")[0], encoding='ascii') + if auth_token and auth_token != self._session._auth_token: + self._session._auth_token = auth_token + + def sending_headers(self): + return { + "authorization": self._session._auth_token + } + + +class _DhClientAuthHandler(ClientAuthHandler): + def __init__(self, session): + super().__init__() + self._session = session + self._token = b'' + + def authenticate(self, outgoing, incoming): + outgoing.write(self._session._auth_token) + self._token = incoming.read() + + def get_token(self): + return self._token + + class Session: """ A Session object represents a connection to the Deephaven data server. It contains a number of convenience methods for asking the server to create tables, import Arrow data into tables, merge tables, run Python scripts, and @@ -36,19 +83,26 @@ class Session: is_alive (bool): check if the session is still alive (may refresh the session) """ - def __init__(self, host: str = None, port: int = None, never_timeout: bool = True, session_type: str = 'python'): + def __init__(self, host: str = None, port: int = None, auth_type: str = "Anonymous", auth_token: str = "", + never_timeout: bool = True, session_type: str = 'python'): """ Initialize a Session object that connects to the Deephaven server Args: host (str): the host name or IP address of the remote machine, default is 'localhost' port (int): the port number that Deephaven server is listening on, default is 10000 + auth_type (str): the authentication type string, can be "Anonymous', 'Basic", or any custom-built + authenticator in the server, such as "io.deephaven.authentication.psk.PskAuthenticationHandler", + default is 'Anonymous'. + auth_token (str): the authentication token string. When auth_type is 'Basic', it must be + "user:password"; when auth_type is "Anonymous', it will be ignored; when auth_type is a custom-built + authenticator, it must conform to the specific requirement of the authenticator never_timeout (bool, optional): never allow the session to timeout, default is True session_type (str, optional): the Deephaven session type. Defaults to 'python' Raises: DHError """ - self._r_lock = threading.RLock() + self._r_lock = threading.RLock() # for thread-safety when accessing/changing session global state self._last_ticket = 0 self._ticket_bitarray = BitArray(1024) @@ -61,7 +115,15 @@ def __init__(self, host: str = None, port: int = None, never_timeout: bool = Tru self.port = int(os.environ.get("DH_PORT", 10000)) self.is_connected = False - self.session_token = None + + if auth_type == "Anonymous": + self._auth_token = auth_type + elif auth_type == "Basic": + auth_token_base64 = base64.b64encode(auth_token.encode("ascii")).decode("ascii") + self._auth_token = "Basic " + auth_token_base64 + else: + self._auth_token = str(auth_type) + " " + auth_token + self.grpc_channel = None self._session_service = None self._table_service = None @@ -72,6 +134,9 @@ def __init__(self, host: str = None, port: int = None, never_timeout: bool = Tru self._never_timeout = never_timeout self._keep_alive_timer = None self._session_type = session_type + self._flight_client = None + self._auth_handler = None + self._config_service = None self._connect() @@ -92,7 +157,7 @@ def tables(self): @property def grpc_metadata(self): - return [(b'authorization', self.session_token)] + return [(b'authorization', self._auth_token)] @property def table_service(self): @@ -115,7 +180,7 @@ def console_service(self): @property def flight_service(self): if not self._flight_service: - self._flight_service = ArrowFlightService(self) + self._flight_service = ArrowFlightService(self, self._flight_client) return self._flight_service @@ -126,6 +191,13 @@ def app_service(self): return self._app_service + @property + def config_service(self): + if not self._config_service: + self._config_service = ConfigService(self) + + return self._config_service + def make_ticket(self, ticket_no=None): if not ticket_no: ticket_no = self.get_ticket() @@ -155,12 +227,27 @@ def _fetch_fields(self): def _connect(self): with self._r_lock: - self.grpc_channel, self.session_token, self._timeout = self.session_service.connect() - self.is_connected = True + try: + self._flight_client = paflight.connect(location=(self.host, self.port), middleware=[ + _DhClientAuthMiddlewareFactory(self)]) + self._auth_handler = _DhClientAuthHandler(self) + self._flight_client.authenticate(self._auth_handler) + except Exception as e: + raise DHError("failed to connect to the server.") from e + + self.grpc_channel = self.session_service.connect() + + config_dict = self.config_service.get_configuration_constants() + session_duration = config_dict.get("http.session.durationMs") + if not session_duration: + raise DHError("server configuration is missing http.session.durationMs") + self._timeout = int(session_duration.string_value) if self._never_timeout: self._keep_alive() + self.is_connected = True + def _keep_alive(self): if self._keep_alive_timer: self._refresh_token() @@ -171,9 +258,10 @@ def _keep_alive(self): def _refresh_token(self): with self._r_lock: try: - self.session_token, self._timeout = self.session_service.refresh_token() - except DHError: + self._flight_client.authenticate(self._auth_handler) + except Exception as e: self.is_connected = False + raise DHError("failed to refresh auth token") from e @property def is_alive(self): @@ -185,7 +273,7 @@ def is_alive(self): return True try: - self.session_token = self.session_service.refresh_token() + self.session_service.refresh_token() return True except DHError as e: self.is_connected = False @@ -203,7 +291,7 @@ def close(self) -> None: self.grpc_channel.close() self.is_connected = False self._last_ticket = 0 - # self._executor.shutdown() + self._flight_client.close() def release(self, ticket): self.session_service.release(ticket) diff --git a/py/client/tests/test_session.py b/py/client/tests/test_session.py index 647902ac198..857276e862b 100644 --- a/py/client/tests/test_session.py +++ b/py/client/tests/test_session.py @@ -35,9 +35,9 @@ def test_connect_failure(self): def test_never_timeout(self): session = Session() for _ in range(2): - token1 = session.session_token + token1 = session._auth_token sleep(300) - token2 = session.session_token + token2 = session._auth_token self.assertNotEqual(token1, token2) session.close() @@ -67,7 +67,7 @@ def test_merge_tables(self): def test_multiple_sessions(self): sessions = [] - for i in range(100): + for i in range(10): sessions.append(Session()) tables = [] From 48c2a5d9ac34242f90ab57726b720042d81673a0 Mon Sep 17 00:00:00 2001 From: Jianfeng Mao <4297243+jmao-denver@users.noreply.github.com> Date: Thu, 30 Mar 2023 10:40:41 -0600 Subject: [PATCH 06/29] Add InputTable (#3612) --- py/client/README.md | 10 +-- py/client/docs/source/examples.rst | 10 +-- py/client/pydeephaven/_arrow.py | 65 +++++++++++++++++++ .../pydeephaven/_arrow_flight_service.py | 59 ++--------------- py/client/pydeephaven/_input_table_service.py | 31 +++++++++ py/client/pydeephaven/_table_ops.py | 43 ++++++++++++ py/client/pydeephaven/_table_service.py | 4 +- py/client/pydeephaven/session.py | 58 +++++++++++++---- py/client/pydeephaven/table.py | 56 +++++++++++++++- py/client/pydeephaven/utils.py | 8 +-- py/client/tests/test_session.py | 63 ++++++++++++++++++ 11 files changed, 321 insertions(+), 86 deletions(-) create mode 100644 py/client/pydeephaven/_arrow.py create mode 100644 py/client/pydeephaven/_input_table_service.py diff --git a/py/client/README.md b/py/client/README.md index 66cfb0c3e94..3ac7c02f628 100644 --- a/py/client/README.md +++ b/py/client/README.md @@ -205,19 +205,19 @@ session.bind_table(name="my_table", table=table) Deephaven natively supports [PyArrow tables](https://arrow.apache.org/docs/python/index.html). This example converts between a PyArrow table and a Deephaven table. ``` -import pyarrow +import pyarrow as pa from pydeephaven import Session session = Session() -arr = pyarrow.array([4,5,6], type=pyarrow.int32()) -pyarrow_table = pyarrow.Table.from_arrays([arr], names=["Integers"]) +arr = pa.array([4,5,6], type=pa.int32()) +pa_table = pa.Table.from_arrays([arr], names=["Integers"]) -table = session.import_table(pyarrow_table) +table = session.import_table(pa_table) session.bind_table(name="my_table", table=table) #Convert the Deephaven table back to a pyarrow table -pyarrow_table = table.to_arrow() +pa_table = table.to_arrow() ``` ## Execute a script server side diff --git a/py/client/docs/source/examples.rst b/py/client/docs/source/examples.rst index 4cb70f07aa0..a37cc0c8600 100644 --- a/py/client/docs/source/examples.rst +++ b/py/client/docs/source/examples.rst @@ -160,23 +160,23 @@ Convert a PyArrow table to a Deephaven table Deephaven natively supports PyArrow tables. This example converts between a PyArrow table and a Deephaven table: - import pyarrow + import pyarrow as pa from pydeephaven import Session session = Session() - arr = pyarrow.array([4,5,6], type=pyarrow.int32()) + arr = pa.array([4,5,6], type=pa.int32()) - pyarrow_table = pyarrow.Table.from_arrays([arr], names=["Integers"]) + pa_table = pa.Table.from_arrays([arr], names=["Integers"]) - table = session.import_table(pyarrow_table) + table = session.import_table(pa_table) session.bind_table(name="my_table", table=table) #Convert the Deephaven table back to a pyarrow table - pyarrow_table = table.to_arrow() + pa_table = table.to_arrow() Execute a script server side ############################ diff --git a/py/client/pydeephaven/_arrow.py b/py/client/pydeephaven/_arrow.py new file mode 100644 index 00000000000..7e65301d6af --- /dev/null +++ b/py/client/pydeephaven/_arrow.py @@ -0,0 +1,65 @@ +# +# Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending +# +from typing import Dict + +import pyarrow as pa +from .dherror import DHError + +_ARROW_DH_DATA_TYPE_MAPPING = { + pa.null(): '', + pa.bool_(): 'java.lang.Boolean', + pa.int8(): 'byte', + pa.int16(): 'short', + pa.int32(): 'int', + pa.int64(): 'long', + pa.uint8(): '', + pa.uint16(): 'char', + pa.uint32(): '', + pa.uint64(): '', + pa.float16(): '', + pa.float32(): 'float', + pa.float64(): 'double', + pa.time32('s'): '', + pa.time32('ms'): '', + pa.time64('us'): '', + pa.time64('ns'): '', + pa.timestamp('s'): '', + pa.timestamp('ms'): '', + pa.timestamp('us'): '', + pa.timestamp('ns'): 'io.deephaven.time.DateTime', + pa.date32(): '', + pa.date64(): '', + pa.duration('s'): '', + pa.duration('ms'): '', + pa.duration('us'): '', + pa.duration('ns'): '', + pa.month_day_nano_interval(): '', + pa.binary(): '', + pa.string(): 'java.lang.String', + pa.utf8(): 'java.lang.String', + pa.large_binary(): '', + pa.large_string(): '', + pa.large_utf8(): '', + # decimal128(int precision, int scale=0) + # list_(value_type, int list_size=-1) + # large_list(value_type) + # map_(key_type, item_type[, keys_sorted]) + # struct(fields) + # dictionary(index_type, value_type, …) +} + + +def map_arrow_type(arrow_type) -> Dict[str, str]: + """Maps an Arrow type to the corresponding Deephaven column data type.""" + dh_type = _ARROW_DH_DATA_TYPE_MAPPING.get(arrow_type) + if not dh_type: + # if this is a case of timestamp with tz specified + if isinstance(arrow_type, pa.TimestampType): + dh_type = "io.deephaven.time.DateTime" + + if not dh_type: + raise DHError(message=f'unsupported arrow data type : {arrow_type}, refer to ' + f'deephaven.arrow.SUPPORTED_ARROW_TYPES for the list of supported Arrow types.') + + return {"deephaven:type": dh_type} diff --git a/py/client/pydeephaven/_arrow_flight_service.py b/py/client/pydeephaven/_arrow_flight_service.py index a9f68653ac4..66d6f2ef39f 100644 --- a/py/client/pydeephaven/_arrow_flight_service.py +++ b/py/client/pydeephaven/_arrow_flight_service.py @@ -2,71 +2,20 @@ # Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending # -import pyarrow import pyarrow as pa import pyarrow.flight as paflight + +from pydeephaven._arrow import map_arrow_type from pydeephaven.dherror import DHError from pydeephaven.table import Table -def _map_arrow_type(arrow_type): - arrow_to_dh = { - pa.null(): '', - pa.bool_(): '', - pa.int8(): 'byte', - pa.int16(): 'short', - pa.int32(): 'int', - pa.int64(): 'long', - pa.uint8(): '', - pa.uint16(): 'char', - pa.uint32(): '', - pa.uint64(): '', - pa.float16(): '', - pa.float32(): 'float', - pa.float64(): 'double', - pa.time32('s'): '', - pa.time32('ms'): '', - pa.time64('us'): '', - pa.time64('ns'): 'io.deephaven.time.DateTime', - pa.timestamp('us', tz=None): '', - pa.timestamp('ns', tz=None): '', - pa.date32(): 'java.time.LocalDate', - pa.date64(): 'java.time.LocalDate', - pa.binary(): '', - pa.string(): 'java.lang.String', - pa.utf8(): 'java.lang.String', - pa.large_binary(): '', - pa.large_string(): '', - pa.large_utf8(): '', - # decimal128(int precision, int scale=0) - # list_(value_type, int list_size=-1) - # large_list(value_type) - # map_(key_type, item_type[, keys_sorted]) - # struct(fields) - # dictionary(index_type, value_type, …) - # field(name, type, bool nullable = True[, metadata]) - # schema(fields[, metadata]) - # from_numpy_dtype(dtype) - } - - dh_type = arrow_to_dh.get(arrow_type) - if not dh_type: - # if this is a case of timestamp with tz specified - if isinstance(arrow_type, pa.TimestampType): - dh_type = "io.deephaven.time.DateTime" - - if not dh_type: - raise DHError(f'unsupported arrow data type : {arrow_type}') - - return {"deephaven:type": dh_type} - - class ArrowFlightService: def __init__(self, session, flight_client): self.session = session self._flight_client = flight_client - def import_table(self, data: pyarrow.Table): + def import_table(self, data: pa.Table): try: options = paflight.FlightCallOptions(headers=self.session.grpc_metadata) if not isinstance(data, (pa.Table, pa.RecordBatch)): @@ -74,7 +23,7 @@ def import_table(self, data: pyarrow.Table): ticket = self.session.get_ticket() dh_fields = [] for f in data.schema: - dh_fields.append(pa.field(name=f.name, type=f.type, metadata=_map_arrow_type(f.type))) + dh_fields.append(pa.field(name=f.name, type=f.type, metadata=map_arrow_type(f.type))) dh_schema = pa.schema(dh_fields) writer, reader = self._flight_client.do_put( diff --git a/py/client/pydeephaven/_input_table_service.py b/py/client/pydeephaven/_input_table_service.py new file mode 100644 index 00000000000..b4518620aca --- /dev/null +++ b/py/client/pydeephaven/_input_table_service.py @@ -0,0 +1,31 @@ +# +# Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending +# +from pydeephaven import Table +from pydeephaven.dherror import DHError +from pydeephaven.proto import inputtable_pb2, inputtable_pb2_grpc +from pydeephaven.table import InputTable + + +class InputTableService: + def __init__(self, session): + self.session = session + self._grpc_input_table_stub = inputtable_pb2_grpc.InputTableServiceStub(session.grpc_channel) + + def add(self, input_table: InputTable, table: Table): + try: + response = self._grpc_input_table_stub.AddTableToInputTable( + inputtable_pb2.AddTableRequest(input_table=input_table.ticket, + table_to_add=table.ticket), + metadata=self.session.grpc_metadata) + except Exception as e: + raise DHError("failed to add to InputTable") from e + + def delete(self, input_table: InputTable, table: Table): + try: + response = self._grpc_input_table_stub.DeleteTableFromInputTable( + inputtable_pb2.DeleteTableRequest(input_table=input_table.ticket, + table_to_remove=table.ticket), + metadata=self.session.grpc_metadata) + except Exception as e: + raise DHError("failed to delete from InputTable") from e diff --git a/py/client/pydeephaven/_table_ops.py b/py/client/pydeephaven/_table_ops.py index 15439348158..4375386c66c 100644 --- a/py/client/pydeephaven/_table_ops.py +++ b/py/client/pydeephaven/_table_ops.py @@ -4,6 +4,9 @@ from abc import ABC, abstractmethod from typing import List, Any +import pyarrow as pa + +from pydeephaven._arrow import map_arrow_type from pydeephaven.agg import Aggregation from pydeephaven.constants import SortDirection, MatchRule from pydeephaven.proto import table_pb2, table_pb2_grpc @@ -557,3 +560,43 @@ def make_grpc_request(self, result_id, source_id=None): def make_grpc_request_for_batch(self, result_id, source_id): return table_pb2.BatchTableRequest.Operation( aggregate_all=self.make_grpc_request(result_id=result_id, source_id=source_id)) + + +class CreateInputTableOp(TableOp): + def __init__(self, schema: pa.schema, init_table: Any, key_cols: List[str] = None): + self.schema = schema + self.init_table = init_table + self.key_cols = key_cols + + @classmethod + def get_stub_func(cls, table_service_stub: table_pb2_grpc.TableServiceStub): + return table_service_stub.CreateInputTable + + def make_grpc_request(self, result_id, source_id=None): + if self.key_cols: + key_backed = table_pb2.CreateInputTableRequest.InputTableKind.InMemoryKeyBacked( + key_columns=self.key_cols) + input_table_kind = table_pb2.CreateInputTableRequest.InputTableKind(in_memory_key_backed=key_backed) + else: + append_only = table_pb2.CreateInputTableRequest.InputTableKind.InMemoryAppendOnly() + input_table_kind = table_pb2.CreateInputTableRequest.InputTableKind(in_memory_append_only=append_only) + + if self.schema: + dh_fields = [] + for f in self.schema: + dh_fields.append(pa.field(name=f.name, type=f.type, metadata=map_arrow_type(f.type))) + dh_schema = pa.schema(dh_fields) + + schema = dh_schema.serialize().to_pybytes() + return table_pb2.CreateInputTableRequest(result_id=result_id, + schema=schema, + kind=input_table_kind) + else: + source_table_id = table_pb2.TableReference(ticket=self.init_table.ticket) + return table_pb2.CreateInputTableRequest(result_id=result_id, + source_table_id=source_table_id, + kind=input_table_kind) + + def make_grpc_request_for_batch(self, result_id, source_id): + return table_pb2.BatchTableRequest.Operation( + create_input_table=self.make_grpc_request(result_id=result_id, source_id=source_id)) diff --git a/py/client/pydeephaven/_table_service.py b/py/client/pydeephaven/_table_service.py index 332477c8ace..9cb45db797e 100644 --- a/py/client/pydeephaven/_table_service.py +++ b/py/client/pydeephaven/_table_service.py @@ -35,7 +35,7 @@ def batch(self, ops): except Exception as e: raise DHError("failed to finish the table batch operation.") from e - def grpc_table_op(self, table: Table, op: TableOp): + def grpc_table_op(self, table: Table, op: TableOp, table_class: type = Table): try: result_id = self.session.make_ticket() if table: @@ -47,7 +47,7 @@ def grpc_table_op(self, table: Table, op: TableOp): metadata=self.session.grpc_metadata) if response.success: - return Table(self.session, ticket=response.result_id.ticket, + return table_class(self.session, ticket=response.result_id.ticket, schema_header=response.schema_header, size=response.size, is_static=response.is_static) diff --git a/py/client/pydeephaven/session.py b/py/client/pydeephaven/session.py index 5cfd816f2df..96ac7e85d3c 100644 --- a/py/client/pydeephaven/session.py +++ b/py/client/pydeephaven/session.py @@ -7,23 +7,23 @@ from typing import List import grpc -import pyarrow +import pyarrow as pa import pyarrow.flight as paflight from bitstring import BitArray -from pyarrow import ArrowNotImplementedError from pyarrow._flight import ClientMiddlewareFactory, ClientMiddleware, ClientAuthHandler from pydeephaven._app_service import AppService from pydeephaven._arrow_flight_service import ArrowFlightService from pydeephaven._config_service import ConfigService from pydeephaven._console_service import ConsoleService +from pydeephaven._input_table_service import InputTableService from pydeephaven._session_service import SessionService -from pydeephaven._table_ops import TimeTableOp, EmptyTableOp, MergeTablesOp, FetchTableOp +from pydeephaven._table_ops import TimeTableOp, EmptyTableOp, MergeTablesOp, FetchTableOp, CreateInputTableOp from pydeephaven._table_service import TableService from pydeephaven.dherror import DHError from pydeephaven.proto import ticket_pb2 from pydeephaven.query import Query -from pydeephaven.table import Table +from pydeephaven.table import Table, InputTable class _DhClientAuthMiddlewareFactory(ClientMiddlewareFactory): @@ -131,6 +131,7 @@ def __init__(self, host: str = None, port: int = None, auth_type: str = "Anonymo self._console_service = None self._flight_service = None self._app_service = None + self._input_table_service = None self._never_timeout = never_timeout self._keep_alive_timer = None self._session_type = session_type @@ -160,32 +161,32 @@ def grpc_metadata(self): return [(b'authorization', self._auth_token)] @property - def table_service(self): + def table_service(self) -> TableService: if not self._table_service: self._table_service = TableService(self) return self._table_service @property - def session_service(self): + def session_service(self) -> SessionService: if not self._session_service: self._session_service = SessionService(self) return self._session_service @property - def console_service(self): + def console_service(self) -> ConsoleService: if not self._console_service: self._console_service = ConsoleService(self) return self._console_service @property - def flight_service(self): + def flight_service(self) -> ArrowFlightService: if not self._flight_service: self._flight_service = ArrowFlightService(self, self._flight_client) return self._flight_service @property - def app_service(self): + def app_service(self) -> AppService: if not self._app_service: self._app_service = AppService(self) @@ -198,6 +199,13 @@ def config_service(self): return self._config_service + @property + def input_table_service(self) -> InputTableService: + if not self._input_table_service: + self._input_table_service = InputTableService(self) + + return self._input_table_service + def make_ticket(self, ticket_no=None): if not ticket_no: ticket_no = self.get_ticket() @@ -371,7 +379,7 @@ def time_table(self, period: int, start_time: int = None) -> Table: return self.table_service.grpc_table_op(None, table_op) def empty_table(self, size: int) -> Table: - """ create an empty table on the server. + """ Create an empty table on the server. Args: size (int): the size of the empty table in number of rows @@ -385,14 +393,14 @@ def empty_table(self, size: int) -> Table: table_op = EmptyTableOp(size=size) return self.table_service.grpc_table_op(None, table_op) - def import_table(self, data: pyarrow.Table) -> Table: + def import_table(self, data: pa.Table) -> Table: """ Import the pyarrow table as a new Deephaven table on the server. Deephaven supports most of the Arrow data types. However, if the pyarrow table contains any field with a data type not supported by Deephaven, the import operation will fail. Args: - data (pyarrow.Table): a pyarrow Table object + data (pa.Table): a pyarrow Table object Returns: a Table object @@ -431,3 +439,29 @@ def query(self, table: Table) -> Query: DHError """ return Query(self, table) + + def input_table(self, schema: pa.Schema = None, init_table: Table = None, + key_cols: List[str] = None) -> InputTable: + """ Create an InputTable from either Arrow schema or initial table. When key columns are + provided, the InputTable will be keyed, otherwise it will be append-only. + + Args: + schema (pa.Schema): the schema for the InputTable + init_table (Table): the initial table + key_cols (Union[str, Sequence[str]): the name(s) of the key column(s) + + Returns: + an InputTable + + Raises: + DHError, ValueError + """ + if schema is None and init_table is None: + raise ValueError("either arrow schema or init table should be provided.") + elif schema and init_table: + raise ValueError("both arrow schema and init table are provided.") + + table_op = CreateInputTableOp(schema=schema, init_table=init_table, key_cols=key_cols) + input_table = self.table_service.grpc_table_op(None, table_op, table_class=InputTable) + input_table.key_cols = key_cols + return input_table diff --git a/py/client/pydeephaven/table.py b/py/client/pydeephaven/table.py index b0bb3b0705e..5b4077796ad 100644 --- a/py/client/pydeephaven/table.py +++ b/py/client/pydeephaven/table.py @@ -4,7 +4,9 @@ from __future__ import annotations -import pyarrow +from typing import List + +import pyarrow as pa from pydeephaven.dherror import DHError from pydeephaven._table_interface import TableInterface @@ -67,10 +69,10 @@ def _parse_schema(self, schema_header): if not schema_header: return - reader = pyarrow.ipc.open_stream(schema_header) + reader = pa.ipc.open_stream(schema_header) self.schema = reader.schema - def to_arrow(self) -> pyarrow.Table: + def to_arrow(self) -> pa.Table: """ Take a snapshot of the table and return a pyarrow Table. Returns: @@ -80,3 +82,51 @@ def to_arrow(self) -> pyarrow.Table: DHError """ return self.session.flight_service.do_get_table(self) + + +class InputTable(Table): + """InputTable is a subclass of Table that allows the users to dynamically add/delete/modify data in it. There are two + types of InputTable - append-only and keyed. + + The append-only input table is not keyed, all rows are added to the end of the table, and deletions and edits are + not permitted. + + The keyed input tablet has keys for each row and supports addition/deletion/modification of rows by the keys. + """ + + def __init__(self, session, ticket, schema_header=b'', size=None, is_static=None, schema=None): + super().__init__(session=session, ticket=ticket, schema_header=schema_header, size=size, + is_static=is_static, schema=schema) + self.key_cols: List[str] = None + + def add(self, table: Table) -> None: + """Write rows from the provided table to this input table. If this is a keyed input table, added rows with keys + that match existing rows will replace those rows. + + Args: + table (Table): the table that provides the rows to write + + Raises: + DHError + """ + try: + self.session.input_table_service.add(self, table) + except Exception as e: + raise DHError("add to InputTable failed.") from e + + def delete(self, table: Table) -> None: + """Delete the keys contained in the provided table from this keyed input table. If this method is called on an + append-only input table, a PermissionError will be raised. + + Args: + table (Table): the table with the keys to delete + + Raises: + DHError, PermissionError + """ + if not self.key_cols: + raise PermissionError("deletion on an append-only input table is not allowed.") + try: + self.session.input_table_service.delete(self, table) + except Exception as e: + raise DHError("delete data in the InputTable failed.") from e diff --git a/py/client/pydeephaven/utils.py b/py/client/pydeephaven/utils.py index cf433ea7635..e4b6097de52 100644 --- a/py/client/pydeephaven/utils.py +++ b/py/client/pydeephaven/utils.py @@ -2,16 +2,16 @@ # Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending # -import pyarrow +import pyarrow as pa from .dherror import DHError -from ._arrow_flight_service import _map_arrow_type +from ._arrow import map_arrow_type -def is_deephaven_compatible(data_type: pyarrow.DataType) -> bool: +def is_deephaven_compatible(data_type: pa.DataType) -> bool: """ check if the arrow data type is supported by Deephaven. """ try: - dh_type = _map_arrow_type(data_type) + dh_type = map_arrow_type(data_type) return True except DHError: return False diff --git a/py/client/tests/test_session.py b/py/client/tests/test_session.py index 857276e862b..12829057fcd 100644 --- a/py/client/tests/test_session.py +++ b/py/client/tests/test_session.py @@ -6,6 +6,7 @@ from time import sleep import pyarrow as pa +import pandas as pd from pyarrow import csv from pydeephaven import DHError @@ -186,6 +187,68 @@ def test_import_table_dates(self): self.assertEqual(0, len(exception_list)) + def test_input_table(self): + pa_types = [ + pa.bool_(), + pa.int8(), + pa.int16(), + pa.int32(), + pa.int64(), + # Skip due to https://github.com/deephaven/deephaven-core/issues/3605 + # pa.timestamp('ns'), + # pa.timestamp('ns', tz='MST'), + pa.float32(), + pa.float64(), + pa.string(), + ] + pa_data = [ + pa.array([True, False]), + pa.array([2 ** 7 - 1, -2 ** 7 + 1]), + pa.array([2 ** 15 - 1, -2 ** 15 + 1]), + pa.array([2 ** 31 - 1, -2 ** 31 + 1]), + pa.array([2 ** 63 - 1, -2 ** 63 + 1]), + # pa.array([pd.Timestamp('2017-01-01T12:01:01', tz='UTC'), + # pd.Timestamp('2017-01-01T11:01:01', tz='Europe/Paris')]), + # pa.array([pd.Timestamp('2017-01-01T2:01:01', tz='UTC'), + # pd.Timestamp('2017-01-01T1:01:01', tz='Europe/Paris')]), + pa.array([1.1, 2.2], pa.float32()), + pa.array([1.1, 2.2], pa.float64()), + pa.array(["foo", "bar"]), + ] + fields = [pa.field(f"f{i}", ty) for i, ty in enumerate(pa_types)] + schema = pa.schema(fields) + pa_table = pa.table(pa_data, schema=schema) + dh_table = self.session.import_table(pa_table) + + with self.subTest("Create Input Table"): + keyed_input_t = self.session.input_table(schema=schema, key_cols=["f1"]) + pa_table = keyed_input_t.to_arrow() + self.assertEqual(schema, pa_table.schema) + + append_input_t = self.session.input_table(init_table=keyed_input_t) + pa_table = append_input_t.to_arrow() + self.assertEqual(schema, pa_table.schema) + + with self.assertRaises(ValueError): + self.session.input_table(schema=schema, init_table=append_input_t) + with self.assertRaises(ValueError): + self.session.input_table(key_cols=["f0"]) + + with self.subTest("InputTable ops"): + keyed_input_t.add(dh_table) + self.assertEqual(keyed_input_t.snapshot().size, dh_table.size) + keyed_input_t.add(dh_table) + self.assertEqual(keyed_input_t.snapshot().size, dh_table.size) + keyed_input_t.delete(dh_table.select(["f1"])) + self.assertEqual(keyed_input_t.snapshot().size, 0) + + append_input_t.add(dh_table) + self.assertEqual(append_input_t.snapshot().size, dh_table.size) + append_input_t.add(dh_table) + self.assertEqual(append_input_t.snapshot().size, dh_table.size * 2) + with self.assertRaises(PermissionError): + append_input_t.delete(dh_table) + if __name__ == '__main__': unittest.main() From cbc3a11021a599ade96505ce90073845dce5c4ee Mon Sep 17 00:00:00 2001 From: Larry Booker Date: Thu, 30 Mar 2023 11:00:51 -0700 Subject: [PATCH 07/29] Add python support for Rolling `UpdateBy` operators (#3618) * Adding new Rolling operators to python server. * Consolidated rolling ops into a single reusable list. --- py/server/deephaven/updateby.py | 411 ++++++++++++++++++++++++++++++- py/server/tests/test_updateby.py | 140 +++++++---- 2 files changed, 500 insertions(+), 51 deletions(-) diff --git a/py/server/deephaven/updateby.py b/py/server/deephaven/updateby.py index 8cfa1221b22..1d6d5ad9d5d 100644 --- a/py/server/deephaven/updateby.py +++ b/py/server/deephaven/updateby.py @@ -330,7 +330,7 @@ def rolling_sum_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i following the current row timestamp (inclusive), this is a purely forwards looking window Args: - ts_col (str): + ts_col (str): the timestamp column for determining the window cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, i.e. "new_col = col"; when empty, update_by perform the rolling sum operation on all columns. rev_time (int): the look-behind window size, can be expressed as an integer in nanoseconds or a time @@ -351,3 +351,412 @@ def rolling_sum_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[i return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingSum(ts_col, rev_time, fwd_time, *cols)) except Exception as e: raise DHError(e, "failed to create a rolling sum (time) UpdateByOperation.") from e + +def rolling_group_tick(cols: Union[str, List[str]], rev_ticks: int, fwd_ticks: int = 0) -> UpdateByOperation: + """Creates a rolling group UpdateByOperation for the supplied column names, using ticks as the windowing unit. Ticks + are row counts, and you may specify the reverse and forward window in number of rows to include. The current row + is considered to belong to the reverse window but not the forward window. Also, negative values are allowed and + can be used to generate completely forward or completely reverse windows. + + Here are some examples of window values: + rev_ticks = 1, fwd_ticks = 0 - contains only the current row + rev_ticks = 10, fwd_ticks = 0 - contains 9 previous rows and the current row + rev_ticks = 0, fwd_ticks = 10 - contains the following 10 rows, excludes the current row + rev_ticks = 10, fwd_ticks = 10 - contains the previous 9 rows, the current row and the 10 rows following + rev_ticks = 10, fwd_ticks = -5 - contains 5 rows, beginning at 9 rows before, ending at 5 rows before the + current row (inclusive) + rev_ticks = 11, fwd_ticks = -1 - contains 10 rows, beginning at 10 rows before, ending at 1 row before the + current row (inclusive) + rev_ticks = -5, fwd_ticks = 10 - contains 5 rows, beginning 5 rows following, ending at 10 rows following the + current row (inclusive) + + + Args: + cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, + i.e. "new_col = col"; when empty, update_by perform the rolling group operation on all columns. + rev_ticks (int): the look-behind window size (in rows/ticks) + fwd_ticks (int): the look-forward window size (int rows/ticks), default is 0 + + Returns: + an UpdateByOperation + + Raises: + DHError + """ + try: + cols = to_sequence(cols) + return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingGroup(rev_ticks, fwd_ticks, *cols)) + except Exception as e: + raise DHError(e, "failed to create a rolling group (tick) UpdateByOperation.") from e + + +def rolling_group_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[int, str], + fwd_time: Union[int, str] = 0) -> UpdateByOperation: + """Creates a rolling group UpdateByOperation for the supplied column names, using time as the windowing unit. This + function accepts nanoseconds or time strings as the reverse and forward window parameters. Negative values are + allowed and can be used to generate completely forward or completely reverse windows. A row containing a null in + the timestamp column belongs to no window and will not have a value computed or be considered in the windows of + other rows. + + Here are some examples of window values: + rev_time = 0, fwd_time = 0 - contains rows that exactly match the current row timestamp + rev_time = "00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( + inclusive) + rev_time = 0, fwd_time = 600_000_000_000 - contains rows from the current row through 10m following the + current row timestamp (inclusive) + rev_time = "00:10:00", fwd_time = "00:10:00" - contains rows from 10m before through 10m following + the current row timestamp (inclusive) + rev_time = "00:10:00", fwd_time = "-00:05:00" - contains rows from 10m before through 5m before the + current row timestamp (inclusive), this is a purely backwards looking window + rev_time = "-00:05:00", fwd_time = "00:10:00"} - contains rows from 5m following through 10m + following the current row timestamp (inclusive), this is a purely forwards looking window + + Args: + ts_col (str): the timestamp column for determining the window + cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, + i.e. "new_col = col"; when empty, update_by perform the rolling group operation on all columns. + rev_time (int): the look-behind window size, can be expressed as an integer in nanoseconds or a time + interval string, e.g. "00:00:00.001" + fwd_time (int): the look-ahead window size, can be expressed as an integer in nanoseconds or a time + interval string, e.g. "00:00:00.001", default is 0 + + Returns: + an UpdateByOperation + + Raises: + DHError + """ + try: + cols = to_sequence(cols) + rev_time = _JDateTimeUtils.expressionToNanos(rev_time) if isinstance(rev_time, str) else rev_time + fwd_time = _JDateTimeUtils.expressionToNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time + return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingGroup(ts_col, rev_time, fwd_time, *cols)) + except Exception as e: + raise DHError(e, "failed to create a rolling group (time) UpdateByOperation.") from e + +def rolling_avg_tick(cols: Union[str, List[str]], rev_ticks: int, fwd_ticks: int = 0) -> UpdateByOperation: + """Creates a rolling average UpdateByOperation for the supplied column names, using ticks as the windowing unit. Ticks + are row counts, and you may specify the reverse and forward window in number of rows to include. The current row + is considered to belong to the reverse window but not the forward window. Also, negative values are allowed and + can be used to generate completely forward or completely reverse windows. + + Here are some examples of window values: + rev_ticks = 1, fwd_ticks = 0 - contains only the current row + rev_ticks = 10, fwd_ticks = 0 - contains 9 previous rows and the current row + rev_ticks = 0, fwd_ticks = 10 - contains the following 10 rows, excludes the current row + rev_ticks = 10, fwd_ticks = 10 - contains the previous 9 rows, the current row and the 10 rows following + rev_ticks = 10, fwd_ticks = -5 - contains 5 rows, beginning at 9 rows before, ending at 5 rows before the + current row (inclusive) + rev_ticks = 11, fwd_ticks = -1 - contains 10 rows, beginning at 10 rows before, ending at 1 row before the + current row (inclusive) + rev_ticks = -5, fwd_ticks = 10 - contains 5 rows, beginning 5 rows following, ending at 10 rows following the + current row (inclusive) + + + Args: + cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, + i.e. "new_col = col"; when empty, update_by perform the rolling average operation on all columns. + rev_ticks (int): the look-behind window size (in rows/ticks) + fwd_ticks (int): the look-forward window size (int rows/ticks), default is 0 + + Returns: + an UpdateByOperation + + Raises: + DHError + """ + try: + cols = to_sequence(cols) + return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingAvg(rev_ticks, fwd_ticks, *cols)) + except Exception as e: + raise DHError(e, "failed to create a rolling average (tick) UpdateByOperation.") from e + + +def rolling_avg_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[int, str], + fwd_time: Union[int, str] = 0) -> UpdateByOperation: + """Creates a rolling average UpdateByOperation for the supplied column names, using time as the windowing unit. This + function accepts nanoseconds or time strings as the reverse and forward window parameters. Negative values are + allowed and can be used to generate completely forward or completely reverse windows. A row containing a null in + the timestamp column belongs to no window and will not have a value computed or be considered in the windows of + other rows. + + Here are some examples of window values: + rev_time = 0, fwd_time = 0 - contains rows that exactly match the current row timestamp + rev_time = "00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( + inclusive) + rev_time = 0, fwd_time = 600_000_000_000 - contains rows from the current row through 10m following the + current row timestamp (inclusive) + rev_time = "00:10:00", fwd_time = "00:10:00" - contains rows from 10m before through 10m following + the current row timestamp (inclusive) + rev_time = "00:10:00", fwd_time = "-00:05:00" - contains rows from 10m before through 5m before the + current row timestamp (inclusive), this is a purely backwards looking window + rev_time = "-00:05:00", fwd_time = "00:10:00"} - contains rows from 5m following through 10m + following the current row timestamp (inclusive), this is a purely forwards looking window + + Args: + ts_col (str): the timestamp column for determining the window + cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, + i.e. "new_col = col"; when empty, update_by perform the rolling average operation on all columns. + rev_time (int): the look-behind window size, can be expressed as an integer in nanoseconds or a time + interval string, e.g. "00:00:00.001" + fwd_time (int): the look-ahead window size, can be expressed as an integer in nanoseconds or a time + interval string, e.g. "00:00:00.001", default is 0 + + Returns: + an UpdateByOperation + + Raises: + DHError + """ + try: + cols = to_sequence(cols) + rev_time = _JDateTimeUtils.expressionToNanos(rev_time) if isinstance(rev_time, str) else rev_time + fwd_time = _JDateTimeUtils.expressionToNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time + return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingAvg(ts_col, rev_time, fwd_time, *cols)) + except Exception as e: + raise DHError(e, "failed to create a rolling average (time) UpdateByOperation.") from e + +def rolling_min_tick(cols: Union[str, List[str]], rev_ticks: int, fwd_ticks: int = 0) -> UpdateByOperation: + """Creates a rolling minimum UpdateByOperation for the supplied column names, using ticks as the windowing unit. Ticks + are row counts, and you may specify the reverse and forward window in number of rows to include. The current row + is considered to belong to the reverse window but not the forward window. Also, negative values are allowed and + can be used to generate completely forward or completely reverse windows. + + Here are some examples of window values: + rev_ticks = 1, fwd_ticks = 0 - contains only the current row + rev_ticks = 10, fwd_ticks = 0 - contains 9 previous rows and the current row + rev_ticks = 0, fwd_ticks = 10 - contains the following 10 rows, excludes the current row + rev_ticks = 10, fwd_ticks = 10 - contains the previous 9 rows, the current row and the 10 rows following + rev_ticks = 10, fwd_ticks = -5 - contains 5 rows, beginning at 9 rows before, ending at 5 rows before the + current row (inclusive) + rev_ticks = 11, fwd_ticks = -1 - contains 10 rows, beginning at 10 rows before, ending at 1 row before the + current row (inclusive) + rev_ticks = -5, fwd_ticks = 10 - contains 5 rows, beginning 5 rows following, ending at 10 rows following the + current row (inclusive) + + + Args: + cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, + i.e. "new_col = col"; when empty, update_by perform the rolling minimum operation on all columns. + rev_ticks (int): the look-behind window size (in rows/ticks) + fwd_ticks (int): the look-forward window size (int rows/ticks), default is 0 + + Returns: + an UpdateByOperation + + Raises: + DHError + """ + try: + cols = to_sequence(cols) + return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingMin(rev_ticks, fwd_ticks, *cols)) + except Exception as e: + raise DHError(e, "failed to create a rolling minimum (tick) UpdateByOperation.") from e + + +def rolling_min_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[int, str], + fwd_time: Union[int, str] = 0) -> UpdateByOperation: + """Creates a rolling minimum UpdateByOperation for the supplied column names, using time as the windowing unit. This + function accepts nanoseconds or time strings as the reverse and forward window parameters. Negative values are + allowed and can be used to generate completely forward or completely reverse windows. A row containing a null in + the timestamp column belongs to no window and will not have a value computed or be considered in the windows of + other rows. + + Here are some examples of window values: + rev_time = 0, fwd_time = 0 - contains rows that exactly match the current row timestamp + rev_time = "00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( + inclusive) + rev_time = 0, fwd_time = 600_000_000_000 - contains rows from the current row through 10m following the + current row timestamp (inclusive) + rev_time = "00:10:00", fwd_time = "00:10:00" - contains rows from 10m before through 10m following + the current row timestamp (inclusive) + rev_time = "00:10:00", fwd_time = "-00:05:00" - contains rows from 10m before through 5m before the + current row timestamp (inclusive), this is a purely backwards looking window + rev_time = "-00:05:00", fwd_time = "00:10:00"} - contains rows from 5m following through 10m + following the current row timestamp (inclusive), this is a purely forwards looking window + + Args: + ts_col (str): the timestamp column for determining the window + cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, + i.e. "new_col = col"; when empty, update_by perform the rolling minimum operation on all columns. + rev_time (int): the look-behind window size, can be expressed as an integer in nanoseconds or a time + interval string, e.g. "00:00:00.001" + fwd_time (int): the look-ahead window size, can be expressed as an integer in nanoseconds or a time + interval string, e.g. "00:00:00.001", default is 0 + + Returns: + an UpdateByOperation + + Raises: + DHError + """ + try: + cols = to_sequence(cols) + rev_time = _JDateTimeUtils.expressionToNanos(rev_time) if isinstance(rev_time, str) else rev_time + fwd_time = _JDateTimeUtils.expressionToNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time + return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingMin(ts_col, rev_time, fwd_time, *cols)) + except Exception as e: + raise DHError(e, "failed to create a rolling minimum (time) UpdateByOperation.") from e + +def rolling_max_tick(cols: Union[str, List[str]], rev_ticks: int, fwd_ticks: int = 0) -> UpdateByOperation: + """Creates a rolling maximum UpdateByOperation for the supplied column names, using ticks as the windowing unit. Ticks + are row counts, and you may specify the reverse and forward window in number of rows to include. The current row + is considered to belong to the reverse window but not the forward window. Also, negative values are allowed and + can be used to generate completely forward or completely reverse windows. + + Here are some examples of window values: + rev_ticks = 1, fwd_ticks = 0 - contains only the current row + rev_ticks = 10, fwd_ticks = 0 - contains 9 previous rows and the current row + rev_ticks = 0, fwd_ticks = 10 - contains the following 10 rows, excludes the current row + rev_ticks = 10, fwd_ticks = 10 - contains the previous 9 rows, the current row and the 10 rows following + rev_ticks = 10, fwd_ticks = -5 - contains 5 rows, beginning at 9 rows before, ending at 5 rows before the + current row (inclusive) + rev_ticks = 11, fwd_ticks = -1 - contains 10 rows, beginning at 10 rows before, ending at 1 row before the + current row (inclusive) + rev_ticks = -5, fwd_ticks = 10 - contains 5 rows, beginning 5 rows following, ending at 10 rows following the + current row (inclusive) + + + Args: + cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, + i.e. "new_col = col"; when empty, update_by perform the rolling maximum operation on all columns. + rev_ticks (int): the look-behind window size (in rows/ticks) + fwd_ticks (int): the look-forward window size (int rows/ticks), default is 0 + + Returns: + an UpdateByOperation + + Raises: + DHError + """ + try: + cols = to_sequence(cols) + return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingMax(rev_ticks, fwd_ticks, *cols)) + except Exception as e: + raise DHError(e, "failed to create a rolling maximum (tick) UpdateByOperation.") from e + + +def rolling_max_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[int, str], + fwd_time: Union[int, str] = 0) -> UpdateByOperation: + """Creates a rolling maximum UpdateByOperation for the supplied column names, using time as the windowing unit. This + function accepts nanoseconds or time strings as the reverse and forward window parameters. Negative values are + allowed and can be used to generate completely forward or completely reverse windows. A row containing a null in + the timestamp column belongs to no window and will not have a value computed or be considered in the windows of + other rows. + + Here are some examples of window values: + rev_time = 0, fwd_time = 0 - contains rows that exactly match the current row timestamp + rev_time = "00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( + inclusive) + rev_time = 0, fwd_time = 600_000_000_000 - contains rows from the current row through 10m following the + current row timestamp (inclusive) + rev_time = "00:10:00", fwd_time = "00:10:00" - contains rows from 10m before through 10m following + the current row timestamp (inclusive) + rev_time = "00:10:00", fwd_time = "-00:05:00" - contains rows from 10m before through 5m before the + current row timestamp (inclusive), this is a purely backwards looking window + rev_time = "-00:05:00", fwd_time = "00:10:00"} - contains rows from 5m following through 10m + following the current row timestamp (inclusive), this is a purely forwards looking window + + Args: + ts_col (str): the timestamp column for determining the window + cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, + i.e. "new_col = col"; when empty, update_by perform the rolling maximum operation on all columns. + rev_time (int): the look-behind window size, can be expressed as an integer in nanoseconds or a time + interval string, e.g. "00:00:00.001" + fwd_time (int): the look-ahead window size, can be expressed as an integer in nanoseconds or a time + interval string, e.g. "00:00:00.001", default is 0 + + Returns: + an UpdateByOperation + + Raises: + DHError + """ + try: + cols = to_sequence(cols) + rev_time = _JDateTimeUtils.expressionToNanos(rev_time) if isinstance(rev_time, str) else rev_time + fwd_time = _JDateTimeUtils.expressionToNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time + return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingMax(ts_col, rev_time, fwd_time, *cols)) + except Exception as e: + raise DHError(e, "failed to create a rolling maximum (time) UpdateByOperation.") from e + +def rolling_prod_tick(cols: Union[str, List[str]], rev_ticks: int, fwd_ticks: int = 0) -> UpdateByOperation: + """Creates a rolling product UpdateByOperation for the supplied column names, using ticks as the windowing unit. Ticks + are row counts, and you may specify the reverse and forward window in number of rows to include. The current row + is considered to belong to the reverse window but not the forward window. Also, negative values are allowed and + can be used to generate completely forward or completely reverse windows. + + Here are some examples of window values: + rev_ticks = 1, fwd_ticks = 0 - contains only the current row + rev_ticks = 10, fwd_ticks = 0 - contains 9 previous rows and the current row + rev_ticks = 0, fwd_ticks = 10 - contains the following 10 rows, excludes the current row + rev_ticks = 10, fwd_ticks = 10 - contains the previous 9 rows, the current row and the 10 rows following + rev_ticks = 10, fwd_ticks = -5 - contains 5 rows, beginning at 9 rows before, ending at 5 rows before the + current row (inclusive) + rev_ticks = 11, fwd_ticks = -1 - contains 10 rows, beginning at 10 rows before, ending at 1 row before the + current row (inclusive) + rev_ticks = -5, fwd_ticks = 10 - contains 5 rows, beginning 5 rows following, ending at 10 rows following the + current row (inclusive) + + + Args: + cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, + i.e. "new_col = col"; when empty, update_by perform the rolling product operation on all columns. + rev_ticks (int): the look-behind window size (in rows/ticks) + fwd_ticks (int): the look-forward window size (int rows/ticks), default is 0 + + Returns: + an UpdateByOperation + + Raises: + DHError + """ + try: + cols = to_sequence(cols) + return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingProduct(rev_ticks, fwd_ticks, *cols)) + except Exception as e: + raise DHError(e, "failed to create a rolling product (tick) UpdateByOperation.") from e + +def rolling_prod_time(ts_col: str, cols: Union[str, List[str]], rev_time: Union[int, str], + fwd_time: Union[int, str] = 0) -> UpdateByOperation: + """Creates a rolling product UpdateByOperation for the supplied column names, using time as the windowing unit. This + function accepts nanoseconds or time strings as the reverse and forward window parameters. Negative values are + allowed and can be used to generate completely forward or completely reverse windows. A row containing a null in + the timestamp column belongs to no window and will not have a value computed or be considered in the windows of + other rows. + + Here are some examples of window values: + rev_time = 0, fwd_time = 0 - contains rows that exactly match the current row timestamp + rev_time = "00:10:00", fwd_time = "0" - contains rows from 10m before through the current row timestamp ( + inclusive) + rev_time = 0, fwd_time = 600_000_000_000 - contains rows from the current row through 10m following the + current row timestamp (inclusive) + rev_time = "00:10:00", fwd_time = "00:10:00" - contains rows from 10m before through 10m following + the current row timestamp (inclusive) + rev_time = "00:10:00", fwd_time = "-00:05:00" - contains rows from 10m before through 5m before the + current row timestamp (inclusive), this is a purely backwards looking window + rev_time = "-00:05:00", fwd_time = "00:10:00"} - contains rows from 5m following through 10m + following the current row timestamp (inclusive), this is a purely forwards looking window + + Args: + ts_col (str): the timestamp column for determining the window + cols (Union[str, List[str]]): the column(s) to be operated on, can include expressions to rename the output, + i.e. "new_col = col"; when empty, update_by perform the rolling product operation on all columns. + rev_time (int): the look-behind window size, can be expressed as an integer in nanoseconds or a time + interval string, e.g. "00:00:00.001" + fwd_time (int): the look-ahead window size, can be expressed as an integer in nanoseconds or a time + interval string, e.g. "00:00:00.001", default is 0 + + Returns: + an UpdateByOperation + + Raises: + DHError + """ + try: + cols = to_sequence(cols) + rev_time = _JDateTimeUtils.expressionToNanos(rev_time) if isinstance(rev_time, str) else rev_time + fwd_time = _JDateTimeUtils.expressionToNanos(fwd_time) if isinstance(fwd_time, str) else fwd_time + return UpdateByOperation(j_updateby_op=_JUpdateByOperation.RollingProduct(ts_col, rev_time, fwd_time, *cols)) + except Exception as e: + raise DHError(e, "failed to create a rolling product (time) UpdateByOperation.") from e \ No newline at end of file diff --git a/py/server/tests/test_updateby.py b/py/server/tests/test_updateby.py index 4519a3f104d..162b9b0c2e7 100644 --- a/py/server/tests/test_updateby.py +++ b/py/server/tests/test_updateby.py @@ -6,7 +6,9 @@ from deephaven import read_csv, time_table, ugp from deephaven.updateby import ema_tick_decay, BadDataBehavior, MathContext, OperationControl, ema_time_decay, cum_sum, \ - cum_prod, cum_min, cum_max, forward_fill, rolling_sum_tick, rolling_sum_time + cum_prod, cum_min, cum_max, forward_fill, rolling_sum_tick, rolling_sum_time, \ + rolling_group_tick, rolling_group_time, rolling_avg_tick, rolling_avg_time, rolling_min_tick, rolling_min_time, \ + rolling_max_tick, rolling_max_time, rolling_prod_tick, rolling_prod_time from tests.testbase import BaseTestCase @@ -44,6 +46,31 @@ def test_ema(self): with ugp.exclusive_lock(): self.assertEqual(rt.size, t.size) + def test_ema_proxy(self): + op_ctrl = OperationControl(on_null=BadDataBehavior.THROW, + on_nan=BadDataBehavior.RESET, + big_value_context=MathContext.UNLIMITED) + + ops = [ema_tick_decay(time_scale_ticks=100, cols="ema_a = a"), + ema_tick_decay(time_scale_ticks=100, cols="ema_a = a", op_control=op_ctrl), + ema_time_decay(ts_col="Timestamp", time_scale=10, cols="ema_a = a"), + ema_time_decay(ts_col="Timestamp", time_scale=100, cols="ema_c = c", + op_control=op_ctrl), + ] + pt_proxies = [self.static_table.partition_by("b").proxy(), + self.ticking_table.partition_by("b").proxy(), + ] + + for op in ops: + with self.subTest(op): + for pt_proxy in pt_proxies: + rt_proxy = pt_proxy.update_by(op, by="e") + for ct, rct in zip(pt_proxy.target.constituent_tables, rt_proxy.target.constituent_tables): + self.assertTrue(rct.is_refreshing is ct.is_refreshing) + self.assertEqual(len(rct.columns), 1 + len(ct.columns)) + with ugp.exclusive_lock(): + self.assertEqual(ct.size, rct.size) + def test_simple_ops(self): op_builders = [cum_sum, cum_prod, cum_min, cum_max, forward_fill] pairs = ["UA=a", "UB=b"] @@ -77,43 +104,65 @@ def test_simple_ops_proxy(self): with ugp.exclusive_lock(): self.assertEqual(ct.size, rct.size) - def test_ema_proxy(self): - op_ctrl = OperationControl(on_null=BadDataBehavior.THROW, - on_nan=BadDataBehavior.RESET, - big_value_context=MathContext.UNLIMITED) - - ops = [ema_tick_decay(time_scale_ticks=100, cols="ema_a = a"), - ema_tick_decay(time_scale_ticks=100, cols="ema_a = a", op_control=op_ctrl), - ema_time_decay(ts_col="Timestamp", time_scale=10, cols="ema_a = a"), - ema_time_decay(ts_col="Timestamp", time_scale=100, cols="ema_c = c", - op_control=op_ctrl), - ] - pt_proxies = [self.static_table.partition_by("b").proxy(), - self.ticking_table.partition_by("b").proxy(), - ] - - for op in ops: - with self.subTest(op): - for pt_proxy in pt_proxies: - rt_proxy = pt_proxy.update_by(op, by="e") - for ct, rct in zip(pt_proxy.target.constituent_tables, rt_proxy.target.constituent_tables): - self.assertTrue(rct.is_refreshing is ct.is_refreshing) - self.assertEqual(len(rct.columns), 1 + len(ct.columns)) - with ugp.exclusive_lock(): - self.assertEqual(ct.size, rct.size) - - def test_rolling_sum(self): - ops = [ - rolling_sum_tick(cols=["rsum_a = a", "rsum_d = d"], rev_ticks=10), - rolling_sum_tick(cols=["rsum_a = a", "rsum_d = d"], rev_ticks=10, fwd_ticks=10), - rolling_sum_time(ts_col="Timestamp", cols=["rsum_b = b", "rsum_e = e"], rev_time="00:00:10"), - rolling_sum_time(ts_col="Timestamp", cols=["rsum_b = b", "rsum_e = e"], rev_time=10_000_000_000, - fwd_time=-10_000_000_00), - rolling_sum_time(ts_col="Timestamp", cols=["rsum_b = b", "rsum_e = e"], rev_time="00:00:30", - fwd_time="-00:00:20"), - ] - - for op in ops: + # Rolling Operators list shared with test_rolling_ops / test_rolling_ops_proxy + rolling_ops = [ + # rolling sum + rolling_sum_tick(cols=["rsum_a = a", "rsum_d = d"], rev_ticks=10), + rolling_sum_tick(cols=["rsum_a = a", "rsum_d = d"], rev_ticks=10, fwd_ticks=10), + rolling_sum_time(ts_col="Timestamp", cols=["rsum_b = b", "rsum_e = e"], rev_time="00:00:10"), + rolling_sum_time(ts_col="Timestamp", cols=["rsum_b = b", "rsum_e = e"], rev_time=10_000_000_000, + fwd_time=-10_000_000_00), + rolling_sum_time(ts_col="Timestamp", cols=["rsum_b = b", "rsum_e = e"], rev_time="00:00:30", + fwd_time="-00:00:20"), + + # rolling group + rolling_group_tick(cols=["rgroup_a = a", "rgroup_d = d"], rev_ticks=10), + rolling_group_tick(cols=["rgroup_a = a", "rgroup_d = d"], rev_ticks=10, fwd_ticks=10), + rolling_group_time(ts_col="Timestamp", cols=["rgroup_b = b", "rgroup_e = e"], rev_time="00:00:10"), + rolling_group_time(ts_col="Timestamp", cols=["rgroup_b = b", "rgroup_e = e"], rev_time=10_000_000_000, + fwd_time=-10_000_000_00), + rolling_group_time(ts_col="Timestamp", cols=["rgroup_b = b", "rgroup_e = e"], rev_time="00:00:30", + fwd_time="-00:00:20"), + + # rolling average + rolling_avg_tick(cols=["ravg_a = a", "ravg_d = d"], rev_ticks=10), + rolling_avg_tick(cols=["ravg_a = a", "ravg_d = d"], rev_ticks=10, fwd_ticks=10), + rolling_avg_time(ts_col="Timestamp", cols=["ravg_b = b", "ravg_e = e"], rev_time="00:00:10"), + rolling_avg_time(ts_col="Timestamp", cols=["ravg_b = b", "ravg_e = e"], rev_time=10_000_000_000, + fwd_time=-10_000_000_00), + rolling_avg_time(ts_col="Timestamp", cols=["ravg_b = b", "ravg_e = e"], rev_time="00:00:30", + fwd_time="-00:00:20"), + + # rolling minimum + rolling_min_tick(cols=["rmin_a = a", "rmin_d = d"], rev_ticks=10), + rolling_min_tick(cols=["rmin_a = a", "rmin_d = d"], rev_ticks=10, fwd_ticks=10), + rolling_min_time(ts_col="Timestamp", cols=["rmin_b = b", "rmin_e = e"], rev_time="00:00:10"), + rolling_min_time(ts_col="Timestamp", cols=["rmin_b = b", "rmin_e = e"], rev_time=10_000_000_000, + fwd_time=-10_000_000_00), + rolling_min_time(ts_col="Timestamp", cols=["rmin_b = b", "rmin_e = e"], rev_time="00:00:30", + fwd_time="-00:00:20"), + + # rolling maximum + rolling_max_tick(cols=["rmax_a = a", "rmax_d = d"], rev_ticks=10), + rolling_max_tick(cols=["rmax_a = a", "rmax_d = d"], rev_ticks=10, fwd_ticks=10), + rolling_max_time(ts_col="Timestamp", cols=["rmax_b = b", "rmax_e = e"], rev_time="00:00:10"), + rolling_max_time(ts_col="Timestamp", cols=["rmax_b = b", "rmax_e = e"], rev_time=10_000_000_000, + fwd_time=-10_000_000_00), + rolling_max_time(ts_col="Timestamp", cols=["rmax_b = b", "rmax_e = e"], rev_time="00:00:30", + fwd_time="-00:00:20"), + + # rolling product + rolling_prod_tick(cols=["rprod_a = a", "rprod_d = d"], rev_ticks=10), + rolling_prod_tick(cols=["rprod_a = a", "rprod_d = d"], rev_ticks=10, fwd_ticks=10), + rolling_prod_time(ts_col="Timestamp", cols=["rprod_b = b", "rprod_e = e"], rev_time="00:00:10"), + rolling_prod_time(ts_col="Timestamp", cols=["rprod_b = b", "rprod_e = e"], rev_time=10_000_000_000, + fwd_time=-10_000_000_00), + rolling_prod_time(ts_col="Timestamp", cols=["rprod_b = b", "rprod_e = e"], rev_time="00:00:30", + fwd_time="-00:00:20"), + ] + + def test_rolling_ops(self): + for op in self.rolling_ops: with self.subTest(op): for t in (self.static_table, self.ticking_table): rt = t.update_by(ops=op, by="c") @@ -122,20 +171,12 @@ def test_rolling_sum(self): with ugp.exclusive_lock(): self.assertEqual(rt.size, t.size) - def test_rolling_sum_proxy(self): - ops = [ - rolling_sum_tick(cols=["rsum_a = a", "rsum_d = d"], rev_ticks=10), - rolling_sum_tick(cols=["rsum_a = a", "rsum_d = d"], rev_ticks=10, fwd_ticks=10), - rolling_sum_time(ts_col="Timestamp", cols=["rsum_b = b", "rsum_e = e"], rev_time="00:00:10"), - rolling_sum_time(ts_col="Timestamp", cols=["rsum_b = b", "rsum_e = e"], rev_time="00:00:10", - fwd_time=-10_000_000_00), - ] - + def test_rolling_ops_proxy(self): pt_proxies = [self.static_table.partition_by("b").proxy(), self.ticking_table.partition_by("b").proxy(), ] - for op in ops: + for op in self.rolling_ops: with self.subTest(op): for pt_proxy in pt_proxies: rt_proxy = pt_proxy.update_by(op, by="c") @@ -143,8 +184,7 @@ def test_rolling_sum_proxy(self): self.assertTrue(rct.is_refreshing is ct.is_refreshing) self.assertEqual(len(rct.columns), 2 + len(ct.columns)) with ugp.exclusive_lock(): - self.assertEqual(ct.size, rct.size) - + self.assertEqual(ct.size, rct.size) if __name__ == '__main__': unittest.main() From 2446a5cdcace0757f5dd3150cf28a8fdf279b82c Mon Sep 17 00:00:00 2001 From: Jianfeng Mao <4297243+jmao-denver@users.noreply.github.com> Date: Thu, 30 Mar 2023 15:38:58 -0600 Subject: [PATCH 08/29] Add where_in/where_not_in in the Py client API (#3615) --- py/client/pydeephaven/_table_interface.py | 37 ++++++++++++++++++++++- py/client/pydeephaven/_table_ops.py | 24 +++++++++++++++ py/client/pydeephaven/query.py | 16 ++++++++++ py/client/tests/test_query.py | 30 ++++++++++++++++-- py/client/tests/test_table.py | 18 ++++++++++- 5 files changed, 121 insertions(+), 4 deletions(-) diff --git a/py/client/pydeephaven/_table_interface.py b/py/client/pydeephaven/_table_interface.py index bd632acdcfb..eec349b201f 100644 --- a/py/client/pydeephaven/_table_interface.py +++ b/py/client/pydeephaven/_table_interface.py @@ -10,7 +10,8 @@ from pydeephaven import agg from pydeephaven._table_ops import UpdateOp, LazyUpdateOp, ViewOp, UpdateViewOp, SelectOp, DropColumnsOp, \ SelectDistinctOp, SortOp, UnstructuredFilterOp, HeadOp, TailOp, HeadByOp, TailByOp, UngroupOp, NaturalJoinOp, \ - ExactJoinOp, CrossJoinOp, AsOfJoinOp, UpdateByOp, SnapshotTableOp, SnapshotWhenTableOp, AggregateOp, AggregateAllOp + ExactJoinOp, CrossJoinOp, AsOfJoinOp, UpdateByOp, SnapshotTableOp, SnapshotWhenTableOp, WhereInTableOp, \ + AggregateAllOp, AggregateOp from pydeephaven.agg import Aggregation, _AggregationColumns from pydeephaven.constants import MatchRule, SortDirection from pydeephaven.dherror import DHError @@ -633,3 +634,37 @@ def snapshot_when(self, trigger_table: Any, stamp_cols: List[str] = None, initia table_op = SnapshotWhenTableOp(trigger_table=trigger_table, stamp_cols=stamp_cols, initial=initial, incremental=incremental, history=history) return self.table_op_handler(table_op) + + def where_in(self, filter_table: Any, cols: List[str]): + """The where_in method creates a new table containing rows from the source table, where the rows match + values in the filter table. + + Args: + filter_table (Table): the table containing the set of values to filter on + cols (List[str]]): the column name(s) + + Returns: + a new table + + Raises: + DHError + """ + table_op = WhereInTableOp(filter_table=filter_table, cols=cols, inverted=False) + return self.table_op_handler(table_op) + + def where_not_in(self, filter_table: Any, cols: List[str]): + """The where_not_in method creates a new table containing rows from the source table, where the rows do not + match values in the filter table. + + Args: + filter_table (Table): the table containing the set of values to filter on + cols (List[str]]): the column name(s) + + Returns: + a new table + + Raises: + DHError + """ + table_op = WhereInTableOp(filter_table=filter_table, cols=cols, inverted=True) + return self.table_op_handler(table_op) diff --git a/py/client/pydeephaven/_table_ops.py b/py/client/pydeephaven/_table_ops.py index 4375386c66c..c3d2fbccb18 100644 --- a/py/client/pydeephaven/_table_ops.py +++ b/py/client/pydeephaven/_table_ops.py @@ -600,3 +600,27 @@ def make_grpc_request(self, result_id, source_id=None): def make_grpc_request_for_batch(self, result_id, source_id): return table_pb2.BatchTableRequest.Operation( create_input_table=self.make_grpc_request(result_id=result_id, source_id=source_id)) + + +class WhereInTableOp(TableOp): + + def __init__(self, filter_table: Any, cols: List[str], inverted: bool): + self.filter_table = filter_table + self.cols = cols + self.inverted = inverted + + @classmethod + def get_stub_func(cls, table_service_stub: table_pb2_grpc.TableServiceStub): + return table_service_stub.WhereIn + + def make_grpc_request(self, result_id, source_id=None): + right_id = table_pb2.TableReference(ticket=self.filter_table.ticket) + return table_pb2.WhereInRequest(result_id=result_id, + left_id=source_id, + right_id=right_id, + inverted=self.inverted, + columns_to_match=self.cols) + + def make_grpc_request_for_batch(self, result_id, source_id): + return table_pb2.BatchTableRequest.Operation( + where_in=self.make_grpc_request(result_id=result_id, source_id=source_id)) diff --git a/py/client/pydeephaven/query.py b/py/client/pydeephaven/query.py index 16729fc5a9a..5106080a3ae 100644 --- a/py/client/pydeephaven/query.py +++ b/py/client/pydeephaven/query.py @@ -464,3 +464,19 @@ def snapshot_when(self, trigger_table: Any, stamp_cols: List[str] = None, initia self """ return super().snapshot_when(trigger_table, stamp_cols, initial, incremental, history) + + def where_in(self, filter_table: Any, cols: List[str]): + """ Add a where_in operation to the query. + + Returns: + self + """ + return super().where_in(filter_table, cols) + + def where_not_in(self, filter_table: Any, cols: List[str]): + """ Add a where_not_in operation to the query. + + Returns: + self + """ + return super().where_not_in(filter_table, cols) diff --git a/py/client/tests/test_query.py b/py/client/tests/test_query.py index 220a2df57b1..93fdd705641 100644 --- a/py/client/tests/test_query.py +++ b/py/client/tests/test_query.py @@ -89,7 +89,7 @@ def test_snapshot_when(self): def test_agg_by(self): pa_table = csv.read_csv(self.csv_file) table = self.session.import_table(pa_table) - query = self.session.query(table).agg_by(aggs=[agg.avg(cols=["a"])], by=["b"])\ + query = self.session.query(table).agg_by(aggs=[agg.avg(cols=["a"])], by=["b"]) \ .update(formulas=["Col1 = i + 1"]) \ .tail(5).update(formulas=["Col2=i*i"]) result_table = query.exec() @@ -98,12 +98,38 @@ def test_agg_by(self): def test_agg_all_by(self): pa_table = csv.read_csv(self.csv_file) table = self.session.import_table(pa_table) - query = self.session.query(table).agg_all_by(agg=agg.avg(), by=["b"])\ + query = self.session.query(table).agg_all_by(agg=agg.avg(), by=["b"]) \ .update(formulas=["Col1 = i + 1"]) \ .tail(5).update(formulas=["Col2=i*i"]) result_table = query.exec() self.assertEqual(5, result_table.size) + def test_where_in(self): + pa_table = csv.read_csv(self.csv_file) + test_table = self.session.import_table(pa_table) + + unique_table = test_table.head(num_rows=50).select_distinct( + cols=["a", "c"] + ) + + with self.subTest("where_in"): + query = self.session.query(test_table) + (query.drop_columns(cols=['b']) + .update(["f = a * 10"]) + .where_in(unique_table, cols=["c"]) + .where(["f == a * 10"])) + result_table = query.exec() + self.assertLessEqual(unique_table.size, result_table.size) + + with self.subTest("where_not_in"): + query = self.session.query(test_table) + (query.drop_columns(cols=['b']) + .update(["f = a * 10"]) + .where_not_in(unique_table, cols=["c"]) + .where(["f == a * 10"])) + result_table = query.exec() + self.assertGreaterEqual(test_table.size - unique_table.size, result_table.size) + if __name__ == '__main__': unittest.main() diff --git a/py/client/tests/test_table.py b/py/client/tests/test_table.py index 265d48cfbab..38ad3abb9d8 100644 --- a/py/client/tests/test_table.py +++ b/py/client/tests/test_table.py @@ -7,8 +7,8 @@ from pyarrow import csv -from pydeephaven import SortDirection from pydeephaven import DHError +from pydeephaven import SortDirection from pydeephaven.agg import sum_, avg, pct, weighted_avg, count_, partition from pydeephaven.table import Table from tests.testbase import BaseTestCase @@ -273,6 +273,22 @@ def test_agg_all_by(self): with self.assertRaises(DHError) as cm: test_table.agg_all_by(agg=count_(col="ca"), by=["a"]) + def test_where_in(self): + pa_table = csv.read_csv(self.csv_file) + test_table = self.session.import_table(pa_table) + + unique_table = test_table.head(num_rows=50).select_distinct( + cols=["a", "c"] + ) + + with self.subTest("where-in filter"): + result_table = test_table.where_in(unique_table, cols=["c"]) + self.assertLessEqual(unique_table.size, result_table.size) + + with self.subTest("where-not-in filter"): + result_table2 = test_table.where_not_in(unique_table, cols=["c"]) + self.assertEqual(result_table.size, test_table.size - result_table2.size) + if __name__ == '__main__': unittest.main() From 9edfc9ffa240f4b967cb183c3ce39edf5fd2d766 Mon Sep 17 00:00:00 2001 From: arman-ddl <122062464+arman-ddl@users.noreply.github.com> Date: Thu, 30 Mar 2023 15:36:47 -0700 Subject: [PATCH 09/29] Generalize internal table loggers (#3591) Replaces https://github.com/deephaven/deephaven-core/pull/3353 Any users setting the configuration property `.logQueueSize` will need to update to the new `` classnames. ## 03/30/2023 * Removed `TableLoggerWrapper` and am instead checking types from engine table logger interface clients * Renamed `EngineTableLoggerProvider` to `EngineTableLoggers` ## 03/23/2023 ### Summary * Created interfaces for loggers and changed `MemoryTableLogger` logic into implementation details; e.g. `QueryOperationPerformanceLogLoggerMemoryImpl` extends `MemoryTableLogger` and implements `QueryOperationPerformanceLogLogger` (`MemoryTableLogger` shouldn't be a wrapper because memory logger logic will not be needed for e.g. DnD implementation) * Created a `TableLoggerWrapper` class with `instanceof` logic to handle the leftover coupling on memory logger methods * DI via `EngineTableLoggerProvider`; defaults to memory loggers for DHC use cases * Rearranged data retrieval like for `initialSize` and `processUniqueId` for a more consistent internal table logger factory interface ### Questions * Is `TableLoggerWrapper` a sufficient bridge for memory logger coupling for this PR? * Between `UpdatePerformanceTracker`, `ServerStateTracker`, and `MemoryTableLoggers` being private constructor singletons outside of `DeephavenApiServerComponent`'s dependency graph, I'm not sure whether I should or how to leverage Dagger; advice? * Advice for better way to leverage `initialSize` and `processUniqueId` than current refactoring? --- .../impl/perf/UpdatePerformanceTracker.java | 23 +- ...ryTableLoggers.java => EngineMetrics.java} | 89 ++++---- .../table/impl/util/PerformanceQueries.java | 3 +- .../table/impl/util/ServerStateTracker.java | 13 +- .../engine/table/impl/util/TableLoggers.java | 8 +- .../tablelogger/EngineTableLoggers.java | 34 +++ .../tablelogger/ProcessInfoLogLogger.java | 103 +-------- .../tablelogger/ProcessMetricsLogLogger.java | 152 +------------ .../QueryOperationPerformanceLogLogger.java | 182 +-------------- .../QueryPerformanceLogLogger.java | 180 +-------------- .../tablelogger/ServerStateLogLogger.java | 28 +++ .../UpdatePerformanceLogLogger.java | 206 +---------------- .../EngineTableLoggersFactoryMemoryImpl.java | 44 ++++ .../impl/memory}/MemoryTableLogger.java | 46 ++-- .../ProcessInfoLogLoggerMemoryImpl.java | 111 ++++++++++ .../ProcessMetricsLogLoggerMemoryImpl.java | 154 +++++++++++++ ...erationPerformanceLogLoggerMemoryImpl.java | 189 ++++++++++++++++ .../QueryPerformanceLogLoggerMemoryImpl.java | 183 +++++++++++++++ .../ServerStateLogLoggerMemoryImpl.java} | 18 +- .../UpdatePerformanceLogLoggerMemoryImpl.java | 208 ++++++++++++++++++ .../process/StatsIntradayLoggerDBImpl.java | 2 +- .../barrage/BarragePerformanceLog.java | 16 +- .../BarrageSnapshotPerformanceLogger.java | 6 +- .../BarrageSubscriptionPerformanceLogger.java | 6 +- .../server/runner/DeephavenApiServer.java | 4 +- .../server/session/SessionState.java | 4 +- 26 files changed, 1122 insertions(+), 890 deletions(-) rename engine/table/src/main/java/io/deephaven/engine/table/impl/util/{MemoryTableLoggers.java => EngineMetrics.java} (50%) create mode 100644 engine/table/src/main/java/io/deephaven/engine/tablelogger/EngineTableLoggers.java create mode 100644 engine/table/src/main/java/io/deephaven/engine/tablelogger/ServerStateLogLogger.java create mode 100644 engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/EngineTableLoggersFactoryMemoryImpl.java rename engine/table/src/main/java/io/deephaven/engine/{table/impl/util => tablelogger/impl/memory}/MemoryTableLogger.java (52%) create mode 100644 engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/ProcessInfoLogLoggerMemoryImpl.java create mode 100644 engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/ProcessMetricsLogLoggerMemoryImpl.java create mode 100644 engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/QueryOperationPerformanceLogLoggerMemoryImpl.java create mode 100644 engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/QueryPerformanceLogLoggerMemoryImpl.java rename engine/table/src/main/java/io/deephaven/engine/tablelogger/{ServerStateLog.java => impl/memory/ServerStateLogLoggerMemoryImpl.java} (93%) create mode 100644 engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/UpdatePerformanceLogLoggerMemoryImpl.java diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/perf/UpdatePerformanceTracker.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/perf/UpdatePerformanceTracker.java index 855ae7967aa..0c52aad3d14 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/perf/UpdatePerformanceTracker.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/perf/UpdatePerformanceTracker.java @@ -5,11 +5,11 @@ import io.deephaven.configuration.Configuration; import io.deephaven.engine.table.*; +import io.deephaven.engine.tablelogger.EngineTableLoggers; import io.deephaven.engine.tablelogger.UpdatePerformanceLogLogger; +import io.deephaven.engine.tablelogger.impl.memory.MemoryTableLogger; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.table.impl.*; -import io.deephaven.engine.table.impl.util.MemoryTableLogger; -import io.deephaven.engine.table.impl.util.MemoryTableLoggers; import io.deephaven.internal.log.LoggerFactory; import io.deephaven.io.logger.Logger; import io.deephaven.util.QueryConstants; @@ -57,10 +57,7 @@ public static UpdatePerformanceTracker getInstance() { if (INSTANCE == null) { synchronized (UpdatePerformanceTracker.class) { if (INSTANCE == null) { - final TableDefinition tableDefinition = UpdatePerformanceLogLogger.getTableDefinition(); - final String processInfoId = MemoryTableLoggers.getInstance().getProcessInfo().getId().value(); - INSTANCE = new UpdatePerformanceTracker(processInfoId, - LoggerFactory.getLogger(UpdatePerformanceTracker.class), tableDefinition); + INSTANCE = new UpdatePerformanceTracker(LoggerFactory.getLogger(UpdatePerformanceTracker.class)); } } } @@ -68,18 +65,14 @@ public static UpdatePerformanceTracker getInstance() { } private final Logger logger; - private final MemoryTableLogger tableLogger; + private final UpdatePerformanceLogLogger tableLogger; private final AtomicInteger entryIdCounter = new AtomicInteger(1); private final Queue> entries = new LinkedBlockingDeque<>(); - private UpdatePerformanceTracker( - @NotNull final String processInfoId, - @NotNull final Logger logger, - @NotNull final TableDefinition logTableDefinition) { + private UpdatePerformanceTracker(@NotNull final Logger logger) { this.logger = logger; - tableLogger = new MemoryTableLogger<>( - logger, new UpdatePerformanceLogLogger(processInfoId), logTableDefinition); + tableLogger = EngineTableLoggers.get().updatePerformanceLogLogger(); } private void startThread() { @@ -202,7 +195,7 @@ private boolean logToMemory(final IntervalLevelDetails intervalLevelDetails, final boolean encounteredErrorLoggingToMemory) { if (!encounteredErrorLoggingToMemory) { try { - tableLogger.getTableLogger().log(intervalLevelDetails, entry); + tableLogger.log(intervalLevelDetails, entry); } catch (IOException e) { // Don't want to log this more than once in a report logger.error().append("Error sending UpdatePerformanceLog data to memory").append(e).endl(); @@ -241,6 +234,6 @@ public long getIntervalDurationNanos() { } public QueryTable getQueryTable() { - return tableLogger.getQueryTable(); + return MemoryTableLogger.maybeGetQueryTable(tableLogger); } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/MemoryTableLoggers.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/EngineMetrics.java similarity index 50% rename from engine/table/src/main/java/io/deephaven/engine/table/impl/util/MemoryTableLoggers.java rename to engine/table/src/main/java/io/deephaven/engine/table/impl/util/EngineMetrics.java index dd2481e38f0..7dd91a0fb4d 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/MemoryTableLoggers.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/EngineMetrics.java @@ -5,10 +5,12 @@ import io.deephaven.base.clock.Clock; import io.deephaven.configuration.Configuration; +import io.deephaven.engine.tablelogger.EngineTableLoggers; import io.deephaven.engine.tablelogger.ProcessInfoLogLogger; import io.deephaven.engine.tablelogger.ProcessMetricsLogLogger; import io.deephaven.engine.tablelogger.QueryOperationPerformanceLogLogger; import io.deephaven.engine.tablelogger.QueryPerformanceLogLogger; +import io.deephaven.engine.tablelogger.impl.memory.MemoryTableLogger; import io.deephaven.io.logger.Logger; import io.deephaven.stats.StatsIntradayLogger; import io.deephaven.engine.table.impl.QueryTable; @@ -21,92 +23,89 @@ import java.io.IOException; -public class MemoryTableLoggers { +public class EngineMetrics { private static final boolean STATS_LOGGING_ENABLED = Configuration.getInstance().getBooleanWithDefault( "statsLoggingEnabled", true); + private volatile static ProcessInfo processInfo; + private volatile static EngineMetrics INSTANCE; + + public static ProcessInfo getProcessInfo() { + if (processInfo == null) { + synchronized (EngineMetrics.class) { + try { + processInfo = ProcessInfoConfig.createForCurrentProcess(Configuration.getInstance()); + } catch (IOException e) { + throw new IllegalStateException("Failed to create process info.", e); + } + } + } + return processInfo; + } - private static final int DEFAULT_PROCESSS_INFO_LOG_SIZE = Configuration.getInstance().getIntegerWithDefault( - "defaultProcessInfoLogSize", 400); - - private volatile static MemoryTableLoggers INSTANCE; - - public static MemoryTableLoggers getInstance() { + public static EngineMetrics getInstance() { if (INSTANCE == null) { - synchronized (MemoryTableLoggers.class) { + synchronized (EngineMetrics.class) { if (INSTANCE == null) { - INSTANCE = new MemoryTableLoggers(); + INSTANCE = new EngineMetrics(); } } } return INSTANCE; } - private final ProcessInfo processInfo; - private final MemoryTableLogger qplLogger; - private final MemoryTableLogger qoplLogger; - private final MemoryTableLogger processInfoLogger; - private final MemoryTableLogger processMetricsLogger; + private final QueryPerformanceLogLogger qplLogger; + private final QueryOperationPerformanceLogLogger qoplLogger; + private final ProcessInfoLogLogger processInfoLogger; + private final ProcessMetricsLogLogger processMetricsLogger; private final StatsIntradayLogger statsLogger; - private MemoryTableLoggers() { - final Configuration configuration = Configuration.getInstance(); - final Logger log = LoggerFactory.getLogger(MemoryTableLoggers.class); + private EngineMetrics() { + EngineTableLoggers.Factory tableLoggerFactory = EngineTableLoggers.get(); + final Logger log = LoggerFactory.getLogger(EngineMetrics.class); ProcessInfo pInfo = null; - MemoryTableLogger pInfoLogger = null; + ProcessInfoLogLogger pInfoLogger = null; try { - pInfo = ProcessInfoConfig.createForCurrentProcess(configuration); - pInfoLogger = new MemoryTableLogger<>( - log, new ProcessInfoLogLogger(), ProcessInfoLogLogger.getTableDefinition(), - DEFAULT_PROCESSS_INFO_LOG_SIZE); - new ProcessInfoStoreDBImpl(pInfoLogger.getTableLogger()).put(pInfo); + pInfo = getProcessInfo(); + pInfoLogger = tableLoggerFactory.processInfoLogLogger(); + new ProcessInfoStoreDBImpl(pInfoLogger).put(pInfo); } catch (IOException e) { log.fatal().append("Failed to configure process info: ").append(e.toString()).endl(); } - processInfo = pInfo; processInfoLogger = pInfoLogger; - final String pInfoId = pInfo.getId().value(); - qplLogger = new MemoryTableLogger<>( - log, new QueryPerformanceLogLogger(pInfoId), QueryPerformanceLogLogger.getTableDefinition()); - qoplLogger = new MemoryTableLogger<>( - log, new QueryOperationPerformanceLogLogger(pInfoId), - QueryOperationPerformanceLogLogger.getTableDefinition()); + qplLogger = tableLoggerFactory.queryPerformanceLogLogger(); + qoplLogger = tableLoggerFactory.queryOperationPerformanceLogLogger(); if (STATS_LOGGING_ENABLED) { - processMetricsLogger = new MemoryTableLogger<>( - log, new ProcessMetricsLogLogger(), ProcessMetricsLogLogger.getTableDefinition()); - statsLogger = new StatsIntradayLoggerDBImpl(pInfo.getId(), processMetricsLogger.getTableLogger()); + processMetricsLogger = tableLoggerFactory.processMetricsLogLogger(); + statsLogger = new StatsIntradayLoggerDBImpl(pInfo.getId(), processMetricsLogger); } else { processMetricsLogger = null; statsLogger = null; } } - public ProcessInfo getProcessInfo() { - return processInfo; - } - public QueryTable getQplLoggerQueryTable() { - return qplLogger.getQueryTable(); + return MemoryTableLogger.maybeGetQueryTable(qplLogger); } public QueryTable getQoplLoggerQueryTable() { - return qoplLogger.getQueryTable(); + return MemoryTableLogger.maybeGetQueryTable(qoplLogger); } public QueryPerformanceLogLogger getQplLogger() { - return qplLogger.getTableLogger(); + return qplLogger; } public QueryOperationPerformanceLogLogger getQoplLogger() { - return qoplLogger.getTableLogger(); + return qoplLogger; } public QueryTable getProcessInfoQueryTable() { - return processInfoLogger.getQueryTable(); + return MemoryTableLogger.maybeGetQueryTable(processInfoLogger); } public QueryTable getProcessMetricsQueryTable() { if (processMetricsLogger != null) { - return processMetricsLogger.getQueryTable(); + return MemoryTableLogger.maybeGetQueryTable(processMetricsLogger); } return null; } @@ -116,12 +115,12 @@ private StatsIntradayLogger getStatsLogger() { } public static boolean maybeStartStatsCollection() { - if (!MemoryTableLoggers.STATS_LOGGING_ENABLED) { + if (!EngineMetrics.STATS_LOGGING_ENABLED) { return false; } final boolean fdStatsLoggingEnabled = Configuration.getInstance().getBooleanWithDefault( "fdStatsLoggingEnabled", false); - Driver.start(Clock.system(), MemoryTableLoggers.getInstance().getStatsLogger(), fdStatsLoggingEnabled); + Driver.start(Clock.system(), EngineMetrics.getInstance().getStatsLogger(), fdStatsLoggingEnabled); return true; } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/PerformanceQueries.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/PerformanceQueries.java index 554e0112978..9c6272166c6 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/PerformanceQueries.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/PerformanceQueries.java @@ -5,7 +5,6 @@ import io.deephaven.engine.table.Table; -import io.deephaven.engine.util.TableTools; import io.deephaven.util.QueryConstants; import io.deephaven.util.annotations.ScriptApi; @@ -329,7 +328,7 @@ private static Table formatColumnsAsPct(final Table t, final String... cols) { } private static long getWorkerHeapSizeBytes() { - final OptionalLong opt = MemoryTableLoggers.getInstance().getProcessInfo().getMemoryInfo().heap().max(); + final OptionalLong opt = EngineMetrics.getProcessInfo().getMemoryInfo().heap().max(); return opt.orElse(0); } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/ServerStateTracker.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/ServerStateTracker.java index cb411478d65..bf5c183f5fd 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/ServerStateTracker.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/ServerStateTracker.java @@ -4,8 +4,10 @@ package io.deephaven.engine.table.impl.util; import io.deephaven.configuration.Configuration; -import io.deephaven.engine.tablelogger.ServerStateLog; +import io.deephaven.engine.tablelogger.EngineTableLoggers; +import io.deephaven.engine.tablelogger.ServerStateLogLogger; import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.tablelogger.impl.memory.MemoryTableLogger; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.io.logger.Logger; import io.deephaven.internal.log.LoggerFactory; @@ -35,13 +37,12 @@ public static ServerStateTracker getInstance() { private final Logger logger; - private final MemoryTableLogger processMemLogger; + private final ServerStateLogLogger processMemLogger; private final UpdateGraphProcessor.AccumulatedCycleStats ugpAccumCycleStats; private ServerStateTracker() { logger = LoggerFactory.getLogger(ServerStateTracker.class); - processMemLogger = new MemoryTableLogger<>( - logger, new ServerStateLog(), ServerStateLog.getTableDefinition()); + processMemLogger = EngineTableLoggers.get().serverStateLogLogger(); ugpAccumCycleStats = new UpdateGraphProcessor.AccumulatedCycleStats(); } @@ -163,7 +164,7 @@ private void logProcessMem( final int ugpSafePoints, final long ugpSafePointTimeMillis) { try { - processMemLogger.getTableLogger().log( + processMemLogger.log( startMillis, deltaMillisToMicros(endMillis - startMillis), bytesToMiB(sample.totalMemory), @@ -181,6 +182,6 @@ private void logProcessMem( } public QueryTable getQueryTable() { - return processMemLogger.getQueryTable(); + return MemoryTableLogger.maybeGetQueryTable(processMemLogger); } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/TableLoggers.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/TableLoggers.java index 2dc6c3c2691..3e781e10a20 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/TableLoggers.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/TableLoggers.java @@ -29,7 +29,7 @@ public static QueryTable updatePerformanceLog() { */ @ScriptApi public static QueryTable queryPerformanceLog() { - return MemoryTableLoggers.getInstance().getQplLoggerQueryTable(); + return EngineMetrics.getInstance().getQplLoggerQueryTable(); } /** @@ -39,7 +39,7 @@ public static QueryTable queryPerformanceLog() { */ @ScriptApi public static QueryTable queryOperationPerformanceLog() { - return MemoryTableLoggers.getInstance().getQoplLoggerQueryTable(); + return EngineMetrics.getInstance().getQoplLoggerQueryTable(); } /** @@ -49,7 +49,7 @@ public static QueryTable queryOperationPerformanceLog() { */ @ScriptApi public static QueryTable processMetricsLog() { - return MemoryTableLoggers.getInstance().getProcessMetricsQueryTable(); + return EngineMetrics.getInstance().getProcessMetricsQueryTable(); } /** @@ -59,7 +59,7 @@ public static QueryTable processMetricsLog() { */ @ScriptApi public static QueryTable processInfoLog() { - return MemoryTableLoggers.getInstance().getProcessInfoQueryTable(); + return EngineMetrics.getInstance().getProcessInfoQueryTable(); } /** diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/EngineTableLoggers.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/EngineTableLoggers.java new file mode 100644 index 00000000000..c6e06b58711 --- /dev/null +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/EngineTableLoggers.java @@ -0,0 +1,34 @@ +package io.deephaven.engine.tablelogger; + +import io.deephaven.engine.tablelogger.impl.memory.EngineTableLoggersFactoryMemoryImpl; + +/** + * Provides the factory for providing engine table loggers. + */ +public class EngineTableLoggers { + private EngineTableLoggers() {} + + private static Factory factory = new EngineTableLoggersFactoryMemoryImpl(); + + public static Factory get() { + return factory; + } + + public static void set(final Factory factory) { + EngineTableLoggers.factory = factory; + } + + public interface Factory { + ProcessInfoLogLogger processInfoLogLogger(); + + ProcessMetricsLogLogger processMetricsLogLogger(); + + QueryOperationPerformanceLogLogger queryOperationPerformanceLogLogger(); + + QueryPerformanceLogLogger queryPerformanceLogLogger(); + + ServerStateLogLogger serverStateLogLogger(); + + UpdatePerformanceLogLogger updatePerformanceLogLogger(); + } +} diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/ProcessInfoLogLogger.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/ProcessInfoLogLogger.java index f6e7282c544..1d015101c03 100644 --- a/engine/table/src/main/java/io/deephaven/engine/tablelogger/ProcessInfoLogLogger.java +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/ProcessInfoLogLogger.java @@ -1,104 +1,19 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ package io.deephaven.engine.tablelogger; -import io.deephaven.engine.table.TableDefinition; -import io.deephaven.tablelogger.*; -import io.deephaven.engine.util.ColumnsSpecHelper; +import io.deephaven.tablelogger.Row; import java.io.IOException; -public class ProcessInfoLogLogger extends TableLoggerImpl2 { - - private static final String TABLE_NAME = "ProcessInfoLog"; - - public ProcessInfoLogLogger() { - super(TABLE_NAME); - } - - public static String getDefaultTableName() { - return TABLE_NAME; - } - - interface ISetter extends WritableRowContainer { - void log(Row.Flags flags, String id, String type, String key, String value) throws java.io.IOException; - } - - class DirectSetter extends BaseSetter implements ISetter { - RowSetter Id; - RowSetter Type; - RowSetter Key; - RowSetter Value; - - DirectSetter() { - Id = row.getSetter("Id", String.class); - Type = row.getSetter("Type", String.class); - Key = row.getSetter("Key", String.class); - Value = row.getSetter("Value", String.class); - } - - @Override - public void log(Row.Flags flags, String id, String type, String key, String value) throws java.io.IOException { - setRowFlags(flags); - this.Id.set(id); - this.Type.set(type); - this.Key.set(key); - this.Value.set(value); - } - } - - @Override - protected String threadName() { - return TABLE_NAME; - } - - private static final String[] columnNames; - private static final Class[] columnDbTypes; - - static { - final ColumnsSpecHelper cols = new ColumnsSpecHelper() - .add("Id", String.class) - .add("Type", String.class) - .add("Key", String.class) - .add("Value", String.class); - columnNames = cols.getColumnNames(); - columnDbTypes = cols.getTypes(); - } +import static io.deephaven.tablelogger.TableLogger.DEFAULT_INTRADAY_LOGGER_FLAGS; - @Override - protected ISetter createSetter() { - outstandingSetters.getAndIncrement(); - return new DirectSetter(); - } - - public void log(final String id, final String type, final String key, final String value) throws IOException { +/** + * Logs data that describes JVM parameters. This is useful to check a worker's configuration. + */ +public interface ProcessInfoLogLogger { + default void log(final String id, final String type, final String key, final String value) throws IOException { log(DEFAULT_INTRADAY_LOGGER_FLAGS, id, type, key, value); } - public void log( - final Row.Flags flags, final String id, final String type, final String key, final String value) - throws IOException { - verifyCondition(isInitialized(), "init() must be called before calling log()"); - verifyCondition(!isClosed, "cannot call log() after the logger is closed"); - verifyCondition(!isShuttingDown, "cannot call log() while the logger is shutting down"); - final ISetter setter = setterPool.take(); - try { - setter.log(flags, id, type, key, value); - } catch (Exception e) { - setterPool.give(setter); - throw e; - } - flush(setter); - } - - private static final TableDefinition TABLE_DEFINITION = TableDefinition.from(columnNames, columnDbTypes); - - public static TableDefinition getTableDefinition() { - return TABLE_DEFINITION; - } - - public static String[] getColumnNames() { - return columnNames; - } + void log(final Row.Flags flags, final String id, final String type, final String key, final String value) + throws IOException; } diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/ProcessMetricsLogLogger.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/ProcessMetricsLogLogger.java index 7eb2a3c3c27..1c2b6dea1cf 100644 --- a/engine/table/src/main/java/io/deephaven/engine/tablelogger/ProcessMetricsLogLogger.java +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/ProcessMetricsLogLogger.java @@ -1,151 +1,23 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ package io.deephaven.engine.tablelogger; -import io.deephaven.tablelogger.*; - -import io.deephaven.engine.table.TableDefinition; -import io.deephaven.engine.util.ColumnsSpecHelper; +import io.deephaven.tablelogger.Row; import java.io.IOException; -public class ProcessMetricsLogLogger - extends TableLoggerImpl2 { - - private static final String TABLE_NAME = "ProcessMetricsLog"; - - public ProcessMetricsLogLogger() { - super(TABLE_NAME); - } - - public static String getDefaultTableName() { - return TABLE_NAME; - } +import static io.deephaven.tablelogger.TableLogger.DEFAULT_INTRADAY_LOGGER_FLAGS; - interface ISetter extends WritableRowContainer { - void log(Row.Flags flags, long timestamp, String processUniqueId, String name, String interval, String type, - long n, long sum, long last, long min, long max, long avg, long sum2, long stdev) throws IOException; - } - - class DirectSetter extends BaseSetter implements ISetter { - RowSetter Timestamp; - RowSetter ProcessUniqueId; - RowSetter Name; - RowSetter Interval; - RowSetter Type; - RowSetter N; - RowSetter Sum; - RowSetter Last; - RowSetter Min; - RowSetter Max; - RowSetter Avg; - RowSetter Sum2; - RowSetter Stdev; - - DirectSetter() { - ProcessUniqueId = row.getSetter("ProcessUniqueId", String.class); - Timestamp = row.getSetter("Timestamp", Long.class); - Name = row.getSetter("Name", String.class); - Interval = row.getSetter("Interval", String.class); - Type = row.getSetter("Type", String.class); - N = row.getSetter("N", long.class); - Sum = row.getSetter("Sum", long.class); - Last = row.getSetter("Last", long.class); - Min = row.getSetter("Min", long.class); - Max = row.getSetter("Max", long.class); - Avg = row.getSetter("Avg", long.class); - Sum2 = row.getSetter("Sum2", long.class); - Stdev = row.getSetter("Stdev", long.class); - } - - @Override - public void log(final Row.Flags flags, final long timestamp, final String processUniqueId, final String name, - final String interval, final String type, - final long n, final long sum, final long last, final long min, final long max, final long avg, - final long sum2, final long stdev) throws IOException { - setRowFlags(flags); - this.ProcessUniqueId.set(processUniqueId); - this.Timestamp.set(timestamp); - this.Name.set(name); - this.Interval.set(interval); - this.Type.set(type); - this.N.setLong(n); - this.Sum.setLong(sum); - this.Last.setLong(last); - this.Min.setLong(min); - this.Max.setLong(max); - this.Avg.setLong(avg); - this.Sum2.setLong(sum2); - this.Stdev.setLong(stdev); - } - } - - @Override - protected String threadName() { - return TABLE_NAME; - } - - private static final String[] columnNames; - private static final Class[] columnDbTypes; - - static { - final ColumnsSpecHelper cols = new ColumnsSpecHelper() - .add("ProcessUniqueId", String.class) - .add("Timestamp", long.class) - .add("Name", String.class) - .add("Interval", String.class) - .add("Type", String.class) - .add("N", long.class) - .add("Sum", long.class) - .add("Last", long.class) - .add("Min", long.class) - .add("Max", long.class) - .add("Avg", long.class) - .add("Sum2", long.class) - .add("Stdev", long.class); - columnNames = cols.getColumnNames(); - columnDbTypes = cols.getTypes(); - } - - @Override - protected ISetter createSetter() { - outstandingSetters.getAndIncrement(); - return new DirectSetter(); - } - - public void log(final long timestamp, final String processId, final String name, final String interval, - final String type, - final long n, final long sum, final long last, final long min, final long max, final long avg, - final long sum2, final long stdev) throws IOException { +/** + * Logs data that gives insight to process statistics such as heap usage and page fault counts. + */ +public interface ProcessMetricsLogLogger { + default void log(final long timestamp, final String processId, final String name, final String interval, + final String type, final long n, final long sum, final long last, final long min, final long max, + final long avg, final long sum2, final long stdev) throws IOException { log(DEFAULT_INTRADAY_LOGGER_FLAGS, timestamp, processId, name, interval, type, n, sum, last, min, max, avg, sum2, stdev); } - public void log(final Row.Flags flags, final long timestamp, final String processId, final String name, - final String interval, final String type, - final long n, final long sum, final long last, final long min, final long max, final long avg, - final long sum2, final long stdev) throws IOException { - verifyCondition(isInitialized(), "init() must be called before calling log()"); - verifyCondition(!isClosed, "cannot call log() after the logger is closed"); - verifyCondition(!isShuttingDown, "cannot call log() while the logger is shutting down"); - final ISetter setter = setterPool.take(); - try { - setter.log(flags, timestamp, processId, name, interval, type, n, sum, last, min, max, avg, sum2, stdev); - } catch (Exception e) { - setterPool.give(setter); - throw e; - } - flush(setter); - } - - private static final TableDefinition TABLE_DEFINITION = TableDefinition.from(columnNames, columnDbTypes); - - public static TableDefinition getTableDefinition() { - return TABLE_DEFINITION; - } - - public static String[] getColumnNames() { - return columnNames; - } + void log(final Row.Flags flags, final long timestamp, final String processId, final String name, + final String interval, final String type, final long n, final long sum, final long last, final long min, + final long max, final long avg, final long sum2, final long stdev) throws IOException; } diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/QueryOperationPerformanceLogLogger.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/QueryOperationPerformanceLogLogger.java index 7639f9d89c4..460f85c83d4 100644 --- a/engine/table/src/main/java/io/deephaven/engine/tablelogger/QueryOperationPerformanceLogLogger.java +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/QueryOperationPerformanceLogLogger.java @@ -1,184 +1,20 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ package io.deephaven.engine.tablelogger; import io.deephaven.engine.table.impl.perf.QueryPerformanceNugget; -import io.deephaven.time.DateTime; -import io.deephaven.time.DateTimeUtils; -import io.deephaven.engine.util.ColumnsSpecHelper; -import io.deephaven.tablelogger.*; +import io.deephaven.tablelogger.Row; -import io.deephaven.engine.table.TableDefinition; -import io.deephaven.util.QueryConstants; import java.io.IOException; -public class QueryOperationPerformanceLogLogger - extends TableLoggerImpl2 { - - private static final String TABLE_NAME = "QueryOperationPerformanceLog"; - - private final String processUniqueId; - - public QueryOperationPerformanceLogLogger(final String processUniqueId) { - super(TABLE_NAME); - this.processUniqueId = processUniqueId; - } - - public static String getDefaultTableName() { - return TABLE_NAME; - } +import static io.deephaven.tablelogger.TableLogger.DEFAULT_INTRADAY_LOGGER_FLAGS; - interface ISetter extends WritableRowContainer { - void log(Row.Flags flags, int operationNumber, QueryPerformanceNugget nugget) throws IOException; - } - - class DirectSetter extends BaseSetter implements ISetter { - RowSetter ProcessUniqueId; - RowSetter EvaluationNumber; - RowSetter OperationNumber; - RowSetter Depth; - RowSetter Description; - RowSetter CallerLine; - RowSetter IsTopLevel; - RowSetter IsCompilation; - RowSetter StartTime; - RowSetter EndTime; - RowSetter DurationNanos; - RowSetter CpuNanos; - RowSetter UserCpuNanos; - RowSetter FreeMemoryChange; - RowSetter TotalMemoryChange; - RowSetter Collections; - RowSetter CollectionTimeNanos; - RowSetter AllocatedBytes; - RowSetter PoolAllocatedBytes; - RowSetter InputSizeLong; - RowSetter WasInterrupted; - - DirectSetter() { - ProcessUniqueId = row.getSetter("ProcessUniqueId", String.class); - EvaluationNumber = row.getSetter("EvaluationNumber", int.class); - OperationNumber = row.getSetter("OperationNumber", int.class); - Depth = row.getSetter("Depth", int.class); - Description = row.getSetter("Description", String.class); - CallerLine = row.getSetter("CallerLine", String.class); - IsTopLevel = row.getSetter("IsTopLevel", Boolean.class); - IsCompilation = row.getSetter("IsCompilation", Boolean.class); - StartTime = row.getSetter("StartTime", DateTime.class); - EndTime = row.getSetter("EndTime", DateTime.class); - DurationNanos = row.getSetter("DurationNanos", long.class); - CpuNanos = row.getSetter("CpuNanos", long.class); - UserCpuNanos = row.getSetter("UserCpuNanos", long.class); - FreeMemoryChange = row.getSetter("FreeMemoryChange", long.class); - TotalMemoryChange = row.getSetter("TotalMemoryChange", long.class); - Collections = row.getSetter("Collections", long.class); - CollectionTimeNanos = row.getSetter("CollectionTimeNanos", long.class); - AllocatedBytes = row.getSetter("AllocatedBytes", long.class); - PoolAllocatedBytes = row.getSetter("PoolAllocatedBytes", long.class); - InputSizeLong = row.getSetter("InputSizeLong", long.class); - WasInterrupted = row.getSetter("WasInterrupted", Boolean.class); - } - - @Override - public void log(final Row.Flags flags, final int operationNumber, final QueryPerformanceNugget nugget) - throws IOException { - setRowFlags(flags); - this.ProcessUniqueId.set(processUniqueId); - this.EvaluationNumber.setInt(nugget.getEvaluationNumber()); - this.OperationNumber.setInt(operationNumber); - this.Depth.setInt(nugget.getDepth()); - this.Description.set(nugget.getName()); - this.CallerLine.set(nugget.getCallerLine()); - this.IsTopLevel.setBoolean(nugget.isTopLevel()); - this.IsCompilation.setBoolean(nugget.getName().startsWith("Compile:")); - this.StartTime.set(DateTimeUtils.millisToTime(nugget.getStartClockTime())); - this.EndTime.set(nugget.getTotalTimeNanos() == null - ? null - : DateTimeUtils.millisToTime( - nugget.getStartClockTime() + DateTimeUtils.nanosToMillis(nugget.getTotalTimeNanos()))); - this.DurationNanos.setLong( - nugget.getTotalTimeNanos() == null ? QueryConstants.NULL_LONG : nugget.getTotalTimeNanos()); - this.CpuNanos.setLong(nugget.getCpuNanos()); - this.UserCpuNanos.setLong(nugget.getUserCpuNanos()); - this.FreeMemoryChange.setLong(nugget.getDiffFreeMemory()); - this.TotalMemoryChange.setLong(nugget.getDiffTotalMemory()); - this.Collections.setLong(nugget.getDiffCollections()); - this.CollectionTimeNanos.setLong(nugget.getDiffCollectionTimeNanos()); - this.AllocatedBytes.setLong(nugget.getAllocatedBytes()); - this.PoolAllocatedBytes.setLong(nugget.getPoolAllocatedBytes()); - this.InputSizeLong.setLong(nugget.getInputSize()); - this.WasInterrupted.setBoolean(nugget.wasInterrupted()); - } - } - - @Override - protected String threadName() { - return TABLE_NAME; - } - - private static final String[] columnNames; - private static final Class[] columnDbTypes; - - static { - final ColumnsSpecHelper cols = new ColumnsSpecHelper() - .add("ProcessUniqueId", String.class) - .add("EvaluationNumber", int.class) - .add("OperationNumber", int.class) - .add("Depth", int.class) - .add("Description", String.class) - .add("CallerLine", String.class) - .add("IsTopLevel", Boolean.class) - .add("IsCompilation", Boolean.class) - .add("StartTime", DateTime.class) - .add("EndTime", DateTime.class) - .add("DurationNanos", long.class) - .add("CpuNanos", long.class) - .add("UserCpuNanos", long.class) - .add("FreeMemoryChange", long.class) - .add("TotalMemoryChange", long.class) - .add("Collections", long.class) - .add("CollectionTimeNanos", long.class) - .add("AllocatedBytes", long.class) - .add("PoolAllocatedBytes", long.class) - .add("InputSizeLong", long.class) - .add("WasInterrupted", Boolean.class); - columnNames = cols.getColumnNames(); - columnDbTypes = cols.getTypes(); - } - - @Override - protected ISetter createSetter() { - outstandingSetters.getAndIncrement(); - return new DirectSetter(); - } - - public void log(final int operationNumber, final QueryPerformanceNugget nugget) throws IOException { +/** + * Logs data that describes performance details on initialization times and memory usage of specific operations within + * queries. + */ +public interface QueryOperationPerformanceLogLogger { + default void log(final int operationNumber, final QueryPerformanceNugget nugget) throws IOException { log(DEFAULT_INTRADAY_LOGGER_FLAGS, operationNumber, nugget); } - public void log(final Row.Flags flags, final int operationNumber, final QueryPerformanceNugget nugget) - throws IOException { - verifyCondition(isInitialized(), "init() must be called before calling log()"); - verifyCondition(!isClosed, "cannot call log() after the logger is closed"); - verifyCondition(!isShuttingDown, "cannot call log() while the logger is shutting down"); - final ISetter setter = setterPool.take(); - try { - setter.log(flags, operationNumber, nugget); - } catch (Exception e) { - setterPool.give(setter); - throw e; - } - flush(setter); - } - - private static final TableDefinition TABLE_DEFINITION = TableDefinition.from(columnNames, columnDbTypes); - - public static TableDefinition getTableDefinition() { - return TABLE_DEFINITION; - } - - public static String[] getColumnNames() { - return columnNames; - } + void log(final Row.Flags flags, final int operationNumber, final QueryPerformanceNugget nugget) throws IOException; } diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/QueryPerformanceLogLogger.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/QueryPerformanceLogLogger.java index f624324cc5c..0480a562065 100644 --- a/engine/table/src/main/java/io/deephaven/engine/tablelogger/QueryPerformanceLogLogger.java +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/QueryPerformanceLogLogger.java @@ -1,179 +1,23 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ package io.deephaven.engine.tablelogger; -import io.deephaven.time.DateTime; -import io.deephaven.time.DateTimeUtils; -import io.deephaven.tablelogger.*; -import io.deephaven.engine.table.TableDefinition; -import io.deephaven.engine.table.impl.perf.QueryProcessingResults; -import io.deephaven.engine.util.ColumnsSpecHelper; import io.deephaven.engine.table.impl.perf.QueryPerformanceNugget; -import io.deephaven.util.QueryConstants; -import java.io.IOException; - -public class QueryPerformanceLogLogger - extends TableLoggerImpl2 { - - private static final String TABLE_NAME = "QueryPerformanceLog"; - - private final String processUniqueId; - - public QueryPerformanceLogLogger(final String processUniqueId) { - super(TABLE_NAME); - this.processUniqueId = processUniqueId; - } - - public static String getDefaultTableName() { - return TABLE_NAME; - } - - interface ISetter extends WritableRowContainer { - void log(Row.Flags flags, final long evaluationNumber, - QueryProcessingResults queryProcessingResults, QueryPerformanceNugget nugget) throws IOException; - } - - class DirectSetter extends BaseSetter implements ISetter { - RowSetter ProcessUniqueId; - RowSetter EvaluationNumber; - RowSetter StartTime; - RowSetter EndTime; - RowSetter DurationNanos; - RowSetter CpuNanos; - RowSetter UserCpuNanos; - RowSetter FreeMemory; - RowSetter TotalMemory; - RowSetter FreeMemoryChange; - RowSetter TotalMemoryChange; - RowSetter Collections; - RowSetter CollectionTimeNanos; - RowSetter AllocatedBytes; - RowSetter PoolAllocatedBytes; - RowSetter WasInterrupted; - RowSetter IsReplayer; - RowSetter Exception; - - DirectSetter() { - ProcessUniqueId = row.getSetter("ProcessUniqueId", String.class); - EvaluationNumber = row.getSetter("EvaluationNumber", long.class); - StartTime = row.getSetter("StartTime", DateTime.class); - EndTime = row.getSetter("EndTime", DateTime.class); - DurationNanos = row.getSetter("DurationNanos", long.class); - CpuNanos = row.getSetter("CpuNanos", long.class); - UserCpuNanos = row.getSetter("UserCpuNanos", long.class); - FreeMemory = row.getSetter("FreeMemory", long.class); - TotalMemory = row.getSetter("TotalMemory", long.class); - FreeMemoryChange = row.getSetter("FreeMemoryChange", long.class); - TotalMemoryChange = row.getSetter("TotalMemoryChange", long.class); - Collections = row.getSetter("Collections", long.class); - CollectionTimeNanos = row.getSetter("CollectionTimeNanos", long.class); - AllocatedBytes = row.getSetter("AllocatedBytes", long.class); - PoolAllocatedBytes = row.getSetter("PoolAllocatedBytes", long.class); - WasInterrupted = row.getSetter("WasInterrupted", Boolean.class); - IsReplayer = row.getSetter("IsReplayer", Boolean.class); - Exception = row.getSetter("Exception", String.class); - } - - @Override - public void log( - final Row.Flags flags, final long evaluationNumber, - final QueryProcessingResults queryProcessingResults, final QueryPerformanceNugget nugget) - throws IOException { - setRowFlags(flags); - this.ProcessUniqueId.set(processUniqueId); - this.EvaluationNumber.setLong(evaluationNumber); - this.StartTime.set(DateTimeUtils.millisToTime(nugget.getStartClockTime())); - this.EndTime.set(nugget.getTotalTimeNanos() == null - ? null - : DateTimeUtils.millisToTime( - nugget.getStartClockTime() + DateTimeUtils.nanosToMillis(nugget.getTotalTimeNanos()))); - this.DurationNanos.setLong( - nugget.getTotalTimeNanos() == null ? QueryConstants.NULL_LONG : nugget.getTotalTimeNanos()); - this.CpuNanos.setLong(nugget.getCpuNanos()); - this.UserCpuNanos.setLong(nugget.getUserCpuNanos()); - this.FreeMemory.setLong(nugget.getEndFreeMemory()); - this.TotalMemory.setLong(nugget.getEndTotalMemory()); - this.FreeMemoryChange.setLong(nugget.getDiffFreeMemory()); - this.TotalMemoryChange.setLong(nugget.getDiffTotalMemory()); - this.Collections.setLong(nugget.getDiffCollections()); - this.CollectionTimeNanos.setLong(nugget.getDiffCollectionTimeNanos()); - this.AllocatedBytes.setLong(nugget.getAllocatedBytes()); - this.PoolAllocatedBytes.setLong(nugget.getPoolAllocatedBytes()); - this.WasInterrupted.setBoolean(nugget.wasInterrupted()); - this.IsReplayer.setBoolean(queryProcessingResults.isReplayer()); - this.Exception.set(queryProcessingResults.getException()); - } - } - - @Override - protected String threadName() { - return TABLE_NAME; - } - - private static final String[] columnNames; - private static final Class[] columnDbTypes; +import io.deephaven.engine.table.impl.perf.QueryProcessingResults; +import io.deephaven.tablelogger.Row; - static { - final ColumnsSpecHelper cols = new ColumnsSpecHelper() - .add("ProcessUniqueId", String.class) - .add("EvaluationNumber", long.class) - .add("StartTime", DateTime.class) - .add("EndTime", DateTime.class) - .add("DurationNanos", long.class) - .add("CpuNanos", long.class) - .add("UserCpuNanos", long.class) - .add("FreeMemory", long.class) - .add("TotalMemory", long.class) - .add("FreeMemoryChange", long.class) - .add("TotalMemoryChange", long.class) - .add("Collections", long.class) - .add("CollectionTimeNanos", long.class) - .add("AllocatedBytes", long.class) - .add("PoolAllocatedBytes", long.class) - .add("WasInterrupted", Boolean.class) - .add("IsReplayer", Boolean.class) - .add("Exception", String.class); - columnNames = cols.getColumnNames(); - columnDbTypes = cols.getTypes(); - } +import java.io.IOException; - @Override - protected ISetter createSetter() { - outstandingSetters.getAndIncrement(); - return new DirectSetter(); - } +/** + * Logs data that describes the query-level performance for each worker. A given worker may be running multiple queries; + * each will have its own set of query performance log entries. + */ +import static io.deephaven.tablelogger.TableLogger.DEFAULT_INTRADAY_LOGGER_FLAGS; - public void log(final long evaluationNumber, - final QueryProcessingResults queryProcessingResults, +public interface QueryPerformanceLogLogger { + default void log(final long evaluationNumber, final QueryProcessingResults queryProcessingResults, final QueryPerformanceNugget nugget) throws IOException { log(DEFAULT_INTRADAY_LOGGER_FLAGS, evaluationNumber, queryProcessingResults, nugget); } - public void log( - final Row.Flags flags, final long evaluationNumber, - final QueryProcessingResults queryProcessingResults, final QueryPerformanceNugget nugget) - throws IOException { - verifyCondition(isInitialized(), "init() must be called before calling log()"); - verifyCondition(!isClosed, "cannot call log() after the logger is closed"); - verifyCondition(!isShuttingDown, "cannot call log() while the logger is shutting down"); - final ISetter setter = setterPool.take(); - try { - setter.log(flags, evaluationNumber, queryProcessingResults, nugget); - } catch (Exception e) { - setterPool.give(setter); - throw e; - } - flush(setter); - } - - private static final TableDefinition TABLE_DEFINITION = TableDefinition.from(columnNames, columnDbTypes); - - public static TableDefinition getTableDefinition() { - return TABLE_DEFINITION; - } - - public static String[] getColumnNames() { - return columnNames; - } + void log(final Row.Flags flags, final long evaluationNumber, final QueryProcessingResults queryProcessingResults, + final QueryPerformanceNugget nugget) throws IOException; } diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/ServerStateLogLogger.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/ServerStateLogLogger.java new file mode 100644 index 00000000000..249a7b4379b --- /dev/null +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/ServerStateLogLogger.java @@ -0,0 +1,28 @@ +package io.deephaven.engine.tablelogger; + +import io.deephaven.tablelogger.Row; + +import java.io.IOException; + +import static io.deephaven.tablelogger.TableLogger.DEFAULT_INTRADAY_LOGGER_FLAGS; + +/** + * Logs data that describes the top-level view of the free and total memory available to the process. + */ +public interface ServerStateLogLogger { + default void log(final long intervalStartTime, final int intervalDurationMicros, final int totalMemoryMiB, + final int freeMemoryMiB, final short intervalCollections, final int intervalCollectionTimeMicros, + final short intervalUGPCyclesOnBudget, final int[] intervalUGPCyclesTimeMicros, + final short intervalUGPCyclesSafePoints, final int intervalUGPCyclesSafePointTimeMicros) + throws IOException { + log(DEFAULT_INTRADAY_LOGGER_FLAGS, intervalStartTime, intervalDurationMicros, totalMemoryMiB, freeMemoryMiB, + intervalCollections, intervalCollectionTimeMicros, intervalUGPCyclesOnBudget, + intervalUGPCyclesTimeMicros, intervalUGPCyclesSafePoints, intervalUGPCyclesSafePointTimeMicros); + } + + void log(final Row.Flags flags, final long intervalStartTime, final int intervalDurationMicros, + final int totalMemoryMiB, final int freeMemoryMiB, final short intervalCollections, + final int intervalCollectionTimeMicros, final short intervalUGPCyclesOnBudget, + final int[] intervalUGPCyclesTimeMicros, final short intervalUGPCyclesSafePoints, + final int intervalUGPCyclesSafePointTimeMicros) throws IOException; +} diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/UpdatePerformanceLogLogger.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/UpdatePerformanceLogLogger.java index 3700b1e5fd3..f5f0fc7f5c4 100644 --- a/engine/table/src/main/java/io/deephaven/engine/tablelogger/UpdatePerformanceLogLogger.java +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/UpdatePerformanceLogLogger.java @@ -1,204 +1,22 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ package io.deephaven.engine.tablelogger; -import java.io.IOException; -import io.deephaven.engine.table.TableDefinition; -import io.deephaven.time.DateTimeUtils; -import io.deephaven.engine.util.ColumnsSpecHelper; -import io.deephaven.time.DateTime; -import io.deephaven.tablelogger.*; - -import static io.deephaven.engine.table.impl.perf.UpdatePerformanceTracker.IntervalLevelDetails; - import io.deephaven.engine.table.impl.perf.PerformanceEntry; +import io.deephaven.engine.table.impl.perf.UpdatePerformanceTracker; +import io.deephaven.tablelogger.Row; -public class UpdatePerformanceLogLogger - extends TableLoggerImpl2 { - - private static final String TABLE_NAME = "UpdatePerformanceLog"; - - private final String processUniqueId; - - public UpdatePerformanceLogLogger(final String processUniqueId) { - super(TABLE_NAME); - this.processUniqueId = processUniqueId; - } - - interface ISetter extends WritableRowContainer { - void log(Row.Flags flags, IntervalLevelDetails intervalLevelDetails, PerformanceEntry performanceEntry) - throws IOException; - } - - public static String getDefaultTableName() { - return TABLE_NAME; - } - - class DirectSetter extends BaseSetter implements ISetter { - RowSetter ProcessUniqueId; - RowSetter EntryId; - RowSetter EvaluationNumber; - RowSetter OperationNumber; - RowSetter EntryDescription; - RowSetter EntryCallerLine; - RowSetter IntervalStartTime; - RowSetter IntervalEndTime; - RowSetter IntervalDurationNanos; - RowSetter EntryIntervalUsage; - RowSetter EntryIntervalCpuNanos; - RowSetter EntryIntervalUserCpuNanos; - RowSetter EntryIntervalAdded; - RowSetter EntryIntervalRemoved; - RowSetter EntryIntervalModified; - RowSetter EntryIntervalShifted; - RowSetter EntryIntervalInvocationCount; - RowSetter MinFreeMemory; - RowSetter MaxTotalMemory; - RowSetter Collections; - RowSetter CollectionTimeNanos; - RowSetter EntryIntervalAllocatedBytes; - RowSetter EntryIntervalPoolAllocatedBytes; - - DirectSetter() { - ProcessUniqueId = row.getSetter("ProcessUniqueId", String.class); - EntryId = row.getSetter("EntryId", int.class); - EvaluationNumber = row.getSetter("EvaluationNumber", int.class); - OperationNumber = row.getSetter("OperationNumber", int.class); - EntryDescription = row.getSetter("EntryDescription", String.class); - EntryCallerLine = row.getSetter("EntryCallerLine", String.class); - IntervalStartTime = row.getSetter("IntervalStartTime", DateTime.class); - IntervalEndTime = row.getSetter("IntervalEndTime", DateTime.class); - IntervalDurationNanos = row.getSetter("IntervalDurationNanos", long.class); - EntryIntervalUsage = row.getSetter("EntryIntervalUsage", long.class); - EntryIntervalCpuNanos = row.getSetter("EntryIntervalCpuNanos", long.class); - EntryIntervalUserCpuNanos = row.getSetter("EntryIntervalUserCpuNanos", long.class); - EntryIntervalAdded = row.getSetter("EntryIntervalAdded", long.class); - EntryIntervalRemoved = row.getSetter("EntryIntervalRemoved", long.class); - EntryIntervalModified = row.getSetter("EntryIntervalModified", long.class); - EntryIntervalShifted = row.getSetter("EntryIntervalShifted", long.class); - EntryIntervalInvocationCount = row.getSetter("EntryIntervalInvocationCount", long.class); - MinFreeMemory = row.getSetter("MinFreeMemory", long.class); - MaxTotalMemory = row.getSetter("MaxTotalMemory", long.class); - Collections = row.getSetter("Collections", long.class); - CollectionTimeNanos = row.getSetter("CollectionTimeNanos", long.class); - EntryIntervalAllocatedBytes = row.getSetter("EntryIntervalAllocatedBytes", long.class); - EntryIntervalPoolAllocatedBytes = row.getSetter("EntryIntervalPoolAllocatedBytes", long.class); - } - - @Override - public void log(final Row.Flags flags, final IntervalLevelDetails intervalLevelDetails, - final PerformanceEntry performanceEntry) throws IOException { - setRowFlags(flags); - this.ProcessUniqueId.set(processUniqueId); - this.EntryId.setInt(performanceEntry.getId()); - this.EvaluationNumber.setInt(performanceEntry.getEvaluationNumber()); - this.OperationNumber.setInt(performanceEntry.getOperationNumber()); - this.EntryDescription.set(performanceEntry.getDescription()); - this.EntryCallerLine.set(performanceEntry.getCallerLine()); - this.IntervalStartTime.set(DateTimeUtils.millisToTime(intervalLevelDetails.getIntervalStartTimeMillis())); - this.IntervalEndTime.set(DateTimeUtils.millisToTime(intervalLevelDetails.getIntervalEndTimeMillis())); - this.IntervalDurationNanos.setLong(intervalLevelDetails.getIntervalDurationNanos()); - this.EntryIntervalUsage.setLong(performanceEntry.getIntervalUsageNanos()); - this.EntryIntervalCpuNanos.setLong(performanceEntry.getIntervalCpuNanos()); - this.EntryIntervalUserCpuNanos.setLong(performanceEntry.getIntervalUserCpuNanos()); - this.EntryIntervalAdded.setLong(performanceEntry.getIntervalAdded()); - this.EntryIntervalRemoved.setLong(performanceEntry.getIntervalRemoved()); - this.EntryIntervalModified.setLong(performanceEntry.getIntervalModified()); - this.EntryIntervalShifted.setLong(performanceEntry.getIntervalShifted()); - this.EntryIntervalInvocationCount.setLong(performanceEntry.getIntervalInvocationCount()); - this.MinFreeMemory.setLong(performanceEntry.getMinFreeMemory()); - this.MaxTotalMemory.setLong(performanceEntry.getMaxTotalMemory()); - this.Collections.setLong(performanceEntry.getCollections()); - this.CollectionTimeNanos.setLong(performanceEntry.getCollectionTimeNanos()); - this.EntryIntervalAllocatedBytes.setLong(performanceEntry.getIntervalAllocatedBytes()); - this.EntryIntervalPoolAllocatedBytes.setLong(performanceEntry.getIntervalPoolAllocatedBytes()); - } - } - - @Override - protected String threadName() { - return TABLE_NAME; - } - - private static final String[] columnNames; - private static final Class[] columnDbTypes; - - static { - final ColumnsSpecHelper cols = new ColumnsSpecHelper() - .add("ProcessUniqueId", String.class) - .add("EntryId", int.class) - .add("EvaluationNumber", int.class) - .add("OperationNumber", int.class) - .add("EntryDescription", String.class) - .add("EntryCallerLine", String.class) - - .add("IntervalStartTime", DateTime.class) - .add("IntervalEndTime", DateTime.class) - - .add("IntervalDurationNanos", long.class) - .add("EntryIntervalUsage", long.class) - .add("EntryIntervalCpuNanos", long.class) - .add("EntryIntervalUserCpuNanos", long.class) - .add("EntryIntervalAdded", long.class) - .add("EntryIntervalRemoved", long.class) - .add("EntryIntervalModified", long.class) - .add("EntryIntervalShifted", long.class) - - .add("EntryIntervalInvocationCount", long.class) - .add("MinFreeMemory", long.class) - .add("MaxTotalMemory", long.class) - .add("Collections", long.class) - .add("CollectionTimeNanos", long.class) - .add("EntryIntervalAllocatedBytes", long.class) - .add("EntryIntervalPoolAllocatedBytes", long.class) - - ; +import java.io.IOException; - columnNames = cols.getColumnNames(); - columnDbTypes = cols.getTypes(); - } +import static io.deephaven.tablelogger.TableLogger.DEFAULT_INTRADAY_LOGGER_FLAGS; - @Override - protected ISetter createSetter() { - outstandingSetters.getAndIncrement(); - return new DirectSetter(); - } - - public void log( - final IntervalLevelDetails intervalLevelDetails, final PerformanceEntry performanceEntry) - throws IOException { +/** + * Logs data that describes what a worker spent time on during its data refresh cycle. + */ +public interface UpdatePerformanceLogLogger { + default void log(final UpdatePerformanceTracker.IntervalLevelDetails intervalLevelDetails, + final PerformanceEntry performanceEntry) throws IOException { log(DEFAULT_INTRADAY_LOGGER_FLAGS, intervalLevelDetails, performanceEntry); } - public void log( - final Row.Flags flags, final IntervalLevelDetails intervalLevelDetails, - final PerformanceEntry performanceEntry) - throws IOException { - verifyCondition(isInitialized(), "init() must be called before calling log()"); - verifyCondition(!isClosed, "cannot call log() after the logger is closed"); - verifyCondition(!isShuttingDown, "cannot call log() while the logger is shutting down"); - final ISetter setter = setterPool.take(); - try { - setter.log(flags, intervalLevelDetails, performanceEntry); - } catch (Exception e) { - setterPool.give(setter); - throw e; - } - flush(setter); - } - - private static final TableDefinition TABLE_DEFINITION = TableDefinition.from(columnNames, columnDbTypes); - - public static TableDefinition getTableDefinition() { - return TABLE_DEFINITION; - } - - public static Class[] getColumnDbTypes() { - return columnDbTypes; - } - - public static String[] getColumnNames() { - return columnNames; - } + void log(final Row.Flags flags, final UpdatePerformanceTracker.IntervalLevelDetails intervalLevelDetails, + final PerformanceEntry performanceEntry) throws IOException; } diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/EngineTableLoggersFactoryMemoryImpl.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/EngineTableLoggersFactoryMemoryImpl.java new file mode 100644 index 00000000000..cc25b78e607 --- /dev/null +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/EngineTableLoggersFactoryMemoryImpl.java @@ -0,0 +1,44 @@ +package io.deephaven.engine.tablelogger.impl.memory; + +import io.deephaven.engine.tablelogger.EngineTableLoggers; +import io.deephaven.engine.tablelogger.ProcessInfoLogLogger; +import io.deephaven.engine.tablelogger.ProcessMetricsLogLogger; +import io.deephaven.engine.tablelogger.QueryOperationPerformanceLogLogger; +import io.deephaven.engine.tablelogger.QueryPerformanceLogLogger; +import io.deephaven.engine.tablelogger.ServerStateLogLogger; +import io.deephaven.engine.tablelogger.UpdatePerformanceLogLogger; + +/** + * Provides memory table logger implementations for the engine table loggers. + */ +public class EngineTableLoggersFactoryMemoryImpl implements EngineTableLoggers.Factory { + @Override + public ProcessInfoLogLogger processInfoLogLogger() { + return new ProcessInfoLogLoggerMemoryImpl(); + } + + @Override + public ProcessMetricsLogLogger processMetricsLogLogger() { + return new ProcessMetricsLogLoggerMemoryImpl(); + } + + @Override + public QueryOperationPerformanceLogLogger queryOperationPerformanceLogLogger() { + return new QueryOperationPerformanceLogLoggerMemoryImpl(); + } + + @Override + public QueryPerformanceLogLogger queryPerformanceLogLogger() { + return new QueryPerformanceLogLoggerMemoryImpl(); + } + + @Override + public ServerStateLogLogger serverStateLogLogger() { + return new ServerStateLogLoggerMemoryImpl(); + } + + @Override + public UpdatePerformanceLogLogger updatePerformanceLogLogger() { + return new UpdatePerformanceLogLoggerMemoryImpl(); + } +} diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/MemoryTableLogger.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/MemoryTableLogger.java similarity index 52% rename from engine/table/src/main/java/io/deephaven/engine/table/impl/util/MemoryTableLogger.java rename to engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/MemoryTableLogger.java index 2d311ea240b..60205c6749e 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/MemoryTableLogger.java +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/MemoryTableLogger.java @@ -1,29 +1,36 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.engine.table.impl.util; +package io.deephaven.engine.tablelogger.impl.memory; import io.deephaven.configuration.Configuration; -import io.deephaven.io.logger.Logger; import io.deephaven.engine.table.TableDefinition; import io.deephaven.engine.table.impl.QueryTable; -import io.deephaven.tablelogger.TableLogger; -import org.jetbrains.annotations.NotNull; +import io.deephaven.engine.table.impl.util.DynamicTableWriter; +import io.deephaven.internal.log.LoggerFactory; +import io.deephaven.io.logger.Logger; +import io.deephaven.tablelogger.TableLoggerImpl2; +import io.deephaven.tablelogger.WritableRowContainer; import java.io.IOException; import java.io.UncheckedIOException; -public class MemoryTableLogger { +/** + * Base class for memory table loggers that create and initialize a {@link DynamicTableWriter}. + */ +public abstract class MemoryTableLogger extends TableLoggerImpl2 { + public static QueryTable maybeGetQueryTable(final Object maybeMemoryTableLogger) { + if (maybeMemoryTableLogger instanceof MemoryTableLogger) { + return ((MemoryTableLogger) maybeMemoryTableLogger).getQueryTable(); + } + + throw new UnsupportedOperationException("Only supported for memory table loggers."); + } + private final DynamicTableWriter tableWriter; - private final T tableLogger; - private final TableDefinition tableDefinition; - public MemoryTableLogger(@NotNull Logger logger, @NotNull T tableLogger, @NotNull TableDefinition tableDefinition, + protected MemoryTableLogger(final String tableName, final TableDefinition tableDefinition, final int initialSizeArg) { - this.tableLogger = tableLogger; - this.tableDefinition = tableDefinition; + super(tableName); - final Class loggerClass = tableLogger.getClass(); + final Class loggerClass = this.getClass(); final int initialSize = (initialSizeArg == -1) ? Configuration.getInstance().getIntegerForClassWithDefault( MemoryTableLogger.class, @@ -32,8 +39,9 @@ public MemoryTableLogger(@NotNull Logger logger, @NotNull T tableLogger, @NotNul : initialSizeArg; try { tableWriter = new DynamicTableWriter(tableDefinition); - tableLogger.init(tableWriter, initialSize); + init(tableWriter, initialSize); } catch (IOException e) { + final Logger logger = LoggerFactory.getLogger(loggerClass); // If we can't get the table definition there's a real problem logger.error() .append("Error creating in-memory performance logger for ") @@ -45,12 +53,8 @@ public MemoryTableLogger(@NotNull Logger logger, @NotNull T tableLogger, @NotNul } } - public MemoryTableLogger(@NotNull Logger logger, @NotNull T tableLogger, @NotNull TableDefinition tableDefinition) { - this(logger, tableLogger, tableDefinition, -1); - } - - public T getTableLogger() { - return tableLogger; + protected MemoryTableLogger(final String tableName, final TableDefinition tableDefinition) { + this(tableName, tableDefinition, -1); } public DynamicTableWriter getTableWriter() { diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/ProcessInfoLogLoggerMemoryImpl.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/ProcessInfoLogLoggerMemoryImpl.java new file mode 100644 index 00000000000..ef1b8a24e6f --- /dev/null +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/ProcessInfoLogLoggerMemoryImpl.java @@ -0,0 +1,111 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.engine.tablelogger.impl.memory; + +import io.deephaven.configuration.Configuration; +import io.deephaven.engine.table.TableDefinition; +import io.deephaven.engine.tablelogger.ProcessInfoLogLogger; +import io.deephaven.tablelogger.*; +import io.deephaven.engine.util.ColumnsSpecHelper; + +import java.io.IOException; + +class ProcessInfoLogLoggerMemoryImpl extends MemoryTableLogger + implements ProcessInfoLogLogger { + + private static final String TABLE_NAME = "ProcessInfoLog"; + private static final int DEFAULT_PROCESSS_INFO_LOG_SIZE = Configuration.getInstance().getIntegerWithDefault( + "defaultProcessInfoLogSize", 400); + + public ProcessInfoLogLoggerMemoryImpl() { + super(TABLE_NAME, TABLE_DEFINITION, DEFAULT_PROCESSS_INFO_LOG_SIZE); + } + + public static String getDefaultTableName() { + return TABLE_NAME; + } + + interface ISetter extends WritableRowContainer { + void log(Row.Flags flags, String id, String type, String key, String value) throws java.io.IOException; + } + + class DirectSetter extends BaseSetter implements ISetter { + RowSetter Id; + RowSetter Type; + RowSetter Key; + RowSetter Value; + + DirectSetter() { + Id = row.getSetter("Id", String.class); + Type = row.getSetter("Type", String.class); + Key = row.getSetter("Key", String.class); + Value = row.getSetter("Value", String.class); + } + + @Override + public void log(Row.Flags flags, String id, String type, String key, String value) throws java.io.IOException { + setRowFlags(flags); + this.Id.set(id); + this.Type.set(type); + this.Key.set(key); + this.Value.set(value); + } + } + + @Override + protected String threadName() { + return TABLE_NAME; + } + + private static final String[] columnNames; + private static final Class[] columnDbTypes; + + static { + final ColumnsSpecHelper cols = new ColumnsSpecHelper() + .add("Id", String.class) + .add("Type", String.class) + .add("Key", String.class) + .add("Value", String.class); + columnNames = cols.getColumnNames(); + columnDbTypes = cols.getTypes(); + } + + @Override + protected ISetter createSetter() { + outstandingSetters.getAndIncrement(); + return new DirectSetter(); + } + + @Override + public void log(final String id, final String type, final String key, final String value) throws IOException { + log(DEFAULT_INTRADAY_LOGGER_FLAGS, id, type, key, value); + } + + @Override + public void log( + final Row.Flags flags, final String id, final String type, final String key, final String value) + throws IOException { + verifyCondition(isInitialized(), "init() must be called before calling log()"); + verifyCondition(!isClosed, "cannot call log() after the logger is closed"); + verifyCondition(!isShuttingDown, "cannot call log() while the logger is shutting down"); + final ISetter setter = setterPool.take(); + try { + setter.log(flags, id, type, key, value); + } catch (Exception e) { + setterPool.give(setter); + throw e; + } + flush(setter); + } + + private static final TableDefinition TABLE_DEFINITION = TableDefinition.from(columnNames, columnDbTypes); + + public static TableDefinition getTableDefinition() { + return TABLE_DEFINITION; + } + + public static String[] getColumnNames() { + return columnNames; + } +} diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/ProcessMetricsLogLoggerMemoryImpl.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/ProcessMetricsLogLoggerMemoryImpl.java new file mode 100644 index 00000000000..eeba24cc1d9 --- /dev/null +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/ProcessMetricsLogLoggerMemoryImpl.java @@ -0,0 +1,154 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.engine.tablelogger.impl.memory; + +import io.deephaven.engine.tablelogger.ProcessMetricsLogLogger; +import io.deephaven.tablelogger.*; + +import io.deephaven.engine.table.TableDefinition; +import io.deephaven.engine.util.ColumnsSpecHelper; + +import java.io.IOException; + +class ProcessMetricsLogLoggerMemoryImpl extends MemoryTableLogger + implements ProcessMetricsLogLogger { + + private static final String TABLE_NAME = "ProcessMetricsLog"; + + public ProcessMetricsLogLoggerMemoryImpl() { + super(TABLE_NAME, TABLE_DEFINITION); + } + + public static String getDefaultTableName() { + return TABLE_NAME; + } + + interface ISetter extends WritableRowContainer { + void log(Row.Flags flags, long timestamp, String processUniqueId, String name, String interval, String type, + long n, long sum, long last, long min, long max, long avg, long sum2, long stdev) throws IOException; + } + + class DirectSetter extends BaseSetter implements ISetter { + RowSetter Timestamp; + RowSetter ProcessUniqueId; + RowSetter Name; + RowSetter Interval; + RowSetter Type; + RowSetter N; + RowSetter Sum; + RowSetter Last; + RowSetter Min; + RowSetter Max; + RowSetter Avg; + RowSetter Sum2; + RowSetter Stdev; + + DirectSetter() { + ProcessUniqueId = row.getSetter("ProcessUniqueId", String.class); + Timestamp = row.getSetter("Timestamp", Long.class); + Name = row.getSetter("Name", String.class); + Interval = row.getSetter("Interval", String.class); + Type = row.getSetter("Type", String.class); + N = row.getSetter("N", long.class); + Sum = row.getSetter("Sum", long.class); + Last = row.getSetter("Last", long.class); + Min = row.getSetter("Min", long.class); + Max = row.getSetter("Max", long.class); + Avg = row.getSetter("Avg", long.class); + Sum2 = row.getSetter("Sum2", long.class); + Stdev = row.getSetter("Stdev", long.class); + } + + @Override + public void log(final Row.Flags flags, final long timestamp, final String processUniqueId, final String name, + final String interval, final String type, + final long n, final long sum, final long last, final long min, final long max, final long avg, + final long sum2, final long stdev) throws IOException { + setRowFlags(flags); + this.ProcessUniqueId.set(processUniqueId); + this.Timestamp.set(timestamp); + this.Name.set(name); + this.Interval.set(interval); + this.Type.set(type); + this.N.setLong(n); + this.Sum.setLong(sum); + this.Last.setLong(last); + this.Min.setLong(min); + this.Max.setLong(max); + this.Avg.setLong(avg); + this.Sum2.setLong(sum2); + this.Stdev.setLong(stdev); + } + } + + @Override + protected String threadName() { + return TABLE_NAME; + } + + private static final String[] columnNames; + private static final Class[] columnDbTypes; + + static { + final ColumnsSpecHelper cols = new ColumnsSpecHelper() + .add("ProcessUniqueId", String.class) + .add("Timestamp", long.class) + .add("Name", String.class) + .add("Interval", String.class) + .add("Type", String.class) + .add("N", long.class) + .add("Sum", long.class) + .add("Last", long.class) + .add("Min", long.class) + .add("Max", long.class) + .add("Avg", long.class) + .add("Sum2", long.class) + .add("Stdev", long.class); + columnNames = cols.getColumnNames(); + columnDbTypes = cols.getTypes(); + } + + @Override + protected ISetter createSetter() { + outstandingSetters.getAndIncrement(); + return new DirectSetter(); + } + + @Override + public void log(final long timestamp, final String processId, final String name, final String interval, + final String type, + final long n, final long sum, final long last, final long min, final long max, final long avg, + final long sum2, final long stdev) throws IOException { + log(DEFAULT_INTRADAY_LOGGER_FLAGS, timestamp, processId, name, interval, type, n, sum, last, min, max, avg, + sum2, stdev); + } + + @Override + public void log(final Row.Flags flags, final long timestamp, final String processId, final String name, + final String interval, final String type, + final long n, final long sum, final long last, final long min, final long max, final long avg, + final long sum2, final long stdev) throws IOException { + verifyCondition(isInitialized(), "init() must be called before calling log()"); + verifyCondition(!isClosed, "cannot call log() after the logger is closed"); + verifyCondition(!isShuttingDown, "cannot call log() while the logger is shutting down"); + final ISetter setter = setterPool.take(); + try { + setter.log(flags, timestamp, processId, name, interval, type, n, sum, last, min, max, avg, sum2, stdev); + } catch (Exception e) { + setterPool.give(setter); + throw e; + } + flush(setter); + } + + private static final TableDefinition TABLE_DEFINITION = TableDefinition.from(columnNames, columnDbTypes); + + public static TableDefinition getTableDefinition() { + return TABLE_DEFINITION; + } + + public static String[] getColumnNames() { + return columnNames; + } +} diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/QueryOperationPerformanceLogLoggerMemoryImpl.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/QueryOperationPerformanceLogLoggerMemoryImpl.java new file mode 100644 index 00000000000..1ee72a37a2c --- /dev/null +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/QueryOperationPerformanceLogLoggerMemoryImpl.java @@ -0,0 +1,189 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.engine.tablelogger.impl.memory; + +import io.deephaven.engine.table.impl.perf.QueryPerformanceNugget; +import io.deephaven.engine.table.impl.util.EngineMetrics; +import io.deephaven.engine.tablelogger.QueryOperationPerformanceLogLogger; +import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; +import io.deephaven.engine.util.ColumnsSpecHelper; +import io.deephaven.tablelogger.*; + +import io.deephaven.engine.table.TableDefinition; +import io.deephaven.util.QueryConstants; +import java.io.IOException; + +class QueryOperationPerformanceLogLoggerMemoryImpl + extends MemoryTableLogger + implements QueryOperationPerformanceLogLogger { + + private static final String TABLE_NAME = "QueryOperationPerformanceLog"; + + private final String processUniqueId; + + public QueryOperationPerformanceLogLoggerMemoryImpl() { + super(TABLE_NAME, TABLE_DEFINITION); + this.processUniqueId = EngineMetrics.getProcessInfo().getId().value(); + } + + public static String getDefaultTableName() { + return TABLE_NAME; + } + + interface ISetter extends WritableRowContainer { + void log(Row.Flags flags, int operationNumber, QueryPerformanceNugget nugget) throws IOException; + } + + class DirectSetter extends BaseSetter implements ISetter { + RowSetter ProcessUniqueId; + RowSetter EvaluationNumber; + RowSetter OperationNumber; + RowSetter Depth; + RowSetter Description; + RowSetter CallerLine; + RowSetter IsTopLevel; + RowSetter IsCompilation; + RowSetter StartTime; + RowSetter EndTime; + RowSetter DurationNanos; + RowSetter CpuNanos; + RowSetter UserCpuNanos; + RowSetter FreeMemoryChange; + RowSetter TotalMemoryChange; + RowSetter Collections; + RowSetter CollectionTimeNanos; + RowSetter AllocatedBytes; + RowSetter PoolAllocatedBytes; + RowSetter InputSizeLong; + RowSetter WasInterrupted; + + DirectSetter() { + ProcessUniqueId = row.getSetter("ProcessUniqueId", String.class); + EvaluationNumber = row.getSetter("EvaluationNumber", int.class); + OperationNumber = row.getSetter("OperationNumber", int.class); + Depth = row.getSetter("Depth", int.class); + Description = row.getSetter("Description", String.class); + CallerLine = row.getSetter("CallerLine", String.class); + IsTopLevel = row.getSetter("IsTopLevel", Boolean.class); + IsCompilation = row.getSetter("IsCompilation", Boolean.class); + StartTime = row.getSetter("StartTime", DateTime.class); + EndTime = row.getSetter("EndTime", DateTime.class); + DurationNanos = row.getSetter("DurationNanos", long.class); + CpuNanos = row.getSetter("CpuNanos", long.class); + UserCpuNanos = row.getSetter("UserCpuNanos", long.class); + FreeMemoryChange = row.getSetter("FreeMemoryChange", long.class); + TotalMemoryChange = row.getSetter("TotalMemoryChange", long.class); + Collections = row.getSetter("Collections", long.class); + CollectionTimeNanos = row.getSetter("CollectionTimeNanos", long.class); + AllocatedBytes = row.getSetter("AllocatedBytes", long.class); + PoolAllocatedBytes = row.getSetter("PoolAllocatedBytes", long.class); + InputSizeLong = row.getSetter("InputSizeLong", long.class); + WasInterrupted = row.getSetter("WasInterrupted", Boolean.class); + } + + @Override + public void log(final Row.Flags flags, final int operationNumber, final QueryPerformanceNugget nugget) + throws IOException { + setRowFlags(flags); + this.ProcessUniqueId.set(processUniqueId); + this.EvaluationNumber.setInt(nugget.getEvaluationNumber()); + this.OperationNumber.setInt(operationNumber); + this.Depth.setInt(nugget.getDepth()); + this.Description.set(nugget.getName()); + this.CallerLine.set(nugget.getCallerLine()); + this.IsTopLevel.setBoolean(nugget.isTopLevel()); + this.IsCompilation.setBoolean(nugget.getName().startsWith("Compile:")); + this.StartTime.set(DateTimeUtils.millisToTime(nugget.getStartClockTime())); + this.EndTime.set(nugget.getTotalTimeNanos() == null + ? null + : DateTimeUtils.millisToTime( + nugget.getStartClockTime() + DateTimeUtils.nanosToMillis(nugget.getTotalTimeNanos()))); + this.DurationNanos.setLong( + nugget.getTotalTimeNanos() == null ? QueryConstants.NULL_LONG : nugget.getTotalTimeNanos()); + this.CpuNanos.setLong(nugget.getCpuNanos()); + this.UserCpuNanos.setLong(nugget.getUserCpuNanos()); + this.FreeMemoryChange.setLong(nugget.getDiffFreeMemory()); + this.TotalMemoryChange.setLong(nugget.getDiffTotalMemory()); + this.Collections.setLong(nugget.getDiffCollections()); + this.CollectionTimeNanos.setLong(nugget.getDiffCollectionTimeNanos()); + this.AllocatedBytes.setLong(nugget.getAllocatedBytes()); + this.PoolAllocatedBytes.setLong(nugget.getPoolAllocatedBytes()); + this.InputSizeLong.setLong(nugget.getInputSize()); + this.WasInterrupted.setBoolean(nugget.wasInterrupted()); + } + } + + @Override + protected String threadName() { + return TABLE_NAME; + } + + private static final String[] columnNames; + private static final Class[] columnDbTypes; + + static { + final ColumnsSpecHelper cols = new ColumnsSpecHelper() + .add("ProcessUniqueId", String.class) + .add("EvaluationNumber", int.class) + .add("OperationNumber", int.class) + .add("Depth", int.class) + .add("Description", String.class) + .add("CallerLine", String.class) + .add("IsTopLevel", Boolean.class) + .add("IsCompilation", Boolean.class) + .add("StartTime", DateTime.class) + .add("EndTime", DateTime.class) + .add("DurationNanos", long.class) + .add("CpuNanos", long.class) + .add("UserCpuNanos", long.class) + .add("FreeMemoryChange", long.class) + .add("TotalMemoryChange", long.class) + .add("Collections", long.class) + .add("CollectionTimeNanos", long.class) + .add("AllocatedBytes", long.class) + .add("PoolAllocatedBytes", long.class) + .add("InputSizeLong", long.class) + .add("WasInterrupted", Boolean.class); + columnNames = cols.getColumnNames(); + columnDbTypes = cols.getTypes(); + } + + @Override + protected ISetter createSetter() { + outstandingSetters.getAndIncrement(); + return new DirectSetter(); + } + + @Override + public void log(final int operationNumber, final QueryPerformanceNugget nugget) throws IOException { + log(DEFAULT_INTRADAY_LOGGER_FLAGS, operationNumber, nugget); + } + + @Override + public void log(final Row.Flags flags, final int operationNumber, final QueryPerformanceNugget nugget) + throws IOException { + verifyCondition(isInitialized(), "init() must be called before calling log()"); + verifyCondition(!isClosed, "cannot call log() after the logger is closed"); + verifyCondition(!isShuttingDown, "cannot call log() while the logger is shutting down"); + final ISetter setter = setterPool.take(); + try { + setter.log(flags, operationNumber, nugget); + } catch (Exception e) { + setterPool.give(setter); + throw e; + } + flush(setter); + } + + private static final TableDefinition TABLE_DEFINITION = TableDefinition.from(columnNames, columnDbTypes); + + public static TableDefinition getTableDefinition() { + return TABLE_DEFINITION; + } + + public static String[] getColumnNames() { + return columnNames; + } +} diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/QueryPerformanceLogLoggerMemoryImpl.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/QueryPerformanceLogLoggerMemoryImpl.java new file mode 100644 index 00000000000..e6d61d76add --- /dev/null +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/QueryPerformanceLogLoggerMemoryImpl.java @@ -0,0 +1,183 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.engine.tablelogger.impl.memory; + +import io.deephaven.engine.table.impl.util.EngineMetrics; +import io.deephaven.engine.tablelogger.QueryPerformanceLogLogger; +import io.deephaven.time.DateTime; +import io.deephaven.time.DateTimeUtils; +import io.deephaven.tablelogger.*; +import io.deephaven.engine.table.TableDefinition; +import io.deephaven.engine.table.impl.perf.QueryProcessingResults; +import io.deephaven.engine.util.ColumnsSpecHelper; +import io.deephaven.engine.table.impl.perf.QueryPerformanceNugget; +import io.deephaven.util.QueryConstants; +import java.io.IOException; + +class QueryPerformanceLogLoggerMemoryImpl extends MemoryTableLogger + implements QueryPerformanceLogLogger { + + private static final String TABLE_NAME = "QueryPerformanceLog"; + + private final String processUniqueId; + + public QueryPerformanceLogLoggerMemoryImpl() { + super(TABLE_NAME, TABLE_DEFINITION); + this.processUniqueId = EngineMetrics.getProcessInfo().getId().value(); + } + + public static String getDefaultTableName() { + return TABLE_NAME; + } + + interface ISetter extends WritableRowContainer { + void log(Row.Flags flags, final long evaluationNumber, + QueryProcessingResults queryProcessingResults, QueryPerformanceNugget nugget) throws IOException; + } + + class DirectSetter extends BaseSetter implements ISetter { + RowSetter ProcessUniqueId; + RowSetter EvaluationNumber; + RowSetter StartTime; + RowSetter EndTime; + RowSetter DurationNanos; + RowSetter CpuNanos; + RowSetter UserCpuNanos; + RowSetter FreeMemory; + RowSetter TotalMemory; + RowSetter FreeMemoryChange; + RowSetter TotalMemoryChange; + RowSetter Collections; + RowSetter CollectionTimeNanos; + RowSetter AllocatedBytes; + RowSetter PoolAllocatedBytes; + RowSetter WasInterrupted; + RowSetter IsReplayer; + RowSetter Exception; + + DirectSetter() { + ProcessUniqueId = row.getSetter("ProcessUniqueId", String.class); + EvaluationNumber = row.getSetter("EvaluationNumber", long.class); + StartTime = row.getSetter("StartTime", DateTime.class); + EndTime = row.getSetter("EndTime", DateTime.class); + DurationNanos = row.getSetter("DurationNanos", long.class); + CpuNanos = row.getSetter("CpuNanos", long.class); + UserCpuNanos = row.getSetter("UserCpuNanos", long.class); + FreeMemory = row.getSetter("FreeMemory", long.class); + TotalMemory = row.getSetter("TotalMemory", long.class); + FreeMemoryChange = row.getSetter("FreeMemoryChange", long.class); + TotalMemoryChange = row.getSetter("TotalMemoryChange", long.class); + Collections = row.getSetter("Collections", long.class); + CollectionTimeNanos = row.getSetter("CollectionTimeNanos", long.class); + AllocatedBytes = row.getSetter("AllocatedBytes", long.class); + PoolAllocatedBytes = row.getSetter("PoolAllocatedBytes", long.class); + WasInterrupted = row.getSetter("WasInterrupted", Boolean.class); + IsReplayer = row.getSetter("IsReplayer", Boolean.class); + Exception = row.getSetter("Exception", String.class); + } + + @Override + public void log( + final Row.Flags flags, final long evaluationNumber, + final QueryProcessingResults queryProcessingResults, final QueryPerformanceNugget nugget) + throws IOException { + setRowFlags(flags); + this.ProcessUniqueId.set(processUniqueId); + this.EvaluationNumber.setLong(evaluationNumber); + this.StartTime.set(DateTimeUtils.millisToTime(nugget.getStartClockTime())); + this.EndTime.set(nugget.getTotalTimeNanos() == null + ? null + : DateTimeUtils.millisToTime( + nugget.getStartClockTime() + DateTimeUtils.nanosToMillis(nugget.getTotalTimeNanos()))); + this.DurationNanos.setLong( + nugget.getTotalTimeNanos() == null ? QueryConstants.NULL_LONG : nugget.getTotalTimeNanos()); + this.CpuNanos.setLong(nugget.getCpuNanos()); + this.UserCpuNanos.setLong(nugget.getUserCpuNanos()); + this.FreeMemory.setLong(nugget.getEndFreeMemory()); + this.TotalMemory.setLong(nugget.getEndTotalMemory()); + this.FreeMemoryChange.setLong(nugget.getDiffFreeMemory()); + this.TotalMemoryChange.setLong(nugget.getDiffTotalMemory()); + this.Collections.setLong(nugget.getDiffCollections()); + this.CollectionTimeNanos.setLong(nugget.getDiffCollectionTimeNanos()); + this.AllocatedBytes.setLong(nugget.getAllocatedBytes()); + this.PoolAllocatedBytes.setLong(nugget.getPoolAllocatedBytes()); + this.WasInterrupted.setBoolean(nugget.wasInterrupted()); + this.IsReplayer.setBoolean(queryProcessingResults.isReplayer()); + this.Exception.set(queryProcessingResults.getException()); + } + } + + @Override + protected String threadName() { + return TABLE_NAME; + } + + private static final String[] columnNames; + private static final Class[] columnDbTypes; + + static { + final ColumnsSpecHelper cols = new ColumnsSpecHelper() + .add("ProcessUniqueId", String.class) + .add("EvaluationNumber", long.class) + .add("StartTime", DateTime.class) + .add("EndTime", DateTime.class) + .add("DurationNanos", long.class) + .add("CpuNanos", long.class) + .add("UserCpuNanos", long.class) + .add("FreeMemory", long.class) + .add("TotalMemory", long.class) + .add("FreeMemoryChange", long.class) + .add("TotalMemoryChange", long.class) + .add("Collections", long.class) + .add("CollectionTimeNanos", long.class) + .add("AllocatedBytes", long.class) + .add("PoolAllocatedBytes", long.class) + .add("WasInterrupted", Boolean.class) + .add("IsReplayer", Boolean.class) + .add("Exception", String.class); + columnNames = cols.getColumnNames(); + columnDbTypes = cols.getTypes(); + } + + @Override + protected ISetter createSetter() { + outstandingSetters.getAndIncrement(); + return new DirectSetter(); + } + + @Override + public void log(final long evaluationNumber, + final QueryProcessingResults queryProcessingResults, + final QueryPerformanceNugget nugget) throws IOException { + log(DEFAULT_INTRADAY_LOGGER_FLAGS, evaluationNumber, queryProcessingResults, nugget); + } + + @Override + public void log( + final Row.Flags flags, final long evaluationNumber, + final QueryProcessingResults queryProcessingResults, final QueryPerformanceNugget nugget) + throws IOException { + verifyCondition(isInitialized(), "init() must be called before calling log()"); + verifyCondition(!isClosed, "cannot call log() after the logger is closed"); + verifyCondition(!isShuttingDown, "cannot call log() while the logger is shutting down"); + final ISetter setter = setterPool.take(); + try { + setter.log(flags, evaluationNumber, queryProcessingResults, nugget); + } catch (Exception e) { + setterPool.give(setter); + throw e; + } + flush(setter); + } + + private static final TableDefinition TABLE_DEFINITION = TableDefinition.from(columnNames, columnDbTypes); + + public static TableDefinition getTableDefinition() { + return TABLE_DEFINITION; + } + + public static String[] getColumnNames() { + return columnNames; + } +} diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/ServerStateLog.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/ServerStateLogLoggerMemoryImpl.java similarity index 93% rename from engine/table/src/main/java/io/deephaven/engine/tablelogger/ServerStateLog.java rename to engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/ServerStateLogLoggerMemoryImpl.java index 6617689dbcd..d9b4875d516 100644 --- a/engine/table/src/main/java/io/deephaven/engine/tablelogger/ServerStateLog.java +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/ServerStateLogLoggerMemoryImpl.java @@ -1,9 +1,10 @@ /** * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending */ -package io.deephaven.engine.tablelogger; +package io.deephaven.engine.tablelogger.impl.memory; import io.deephaven.engine.table.TableDefinition; +import io.deephaven.engine.tablelogger.ServerStateLogLogger; import io.deephaven.time.DateTimeUtils; import io.deephaven.engine.util.ColumnsSpecHelper; import io.deephaven.time.DateTime; @@ -14,11 +15,12 @@ import java.io.IOException; -public class ServerStateLog extends TableLoggerImpl2 { +class ServerStateLogLoggerMemoryImpl extends MemoryTableLogger + implements ServerStateLogLogger { private static final String TABLE_NAME = "ServerStateLog"; - public ServerStateLog() { - super(TABLE_NAME); + public ServerStateLogLoggerMemoryImpl() { + super(TABLE_NAME, TABLE_DEFINITION); } public static String getDefaultTableName() { @@ -118,11 +120,12 @@ protected String threadName() { } @Override - protected ServerStateLog.ISetter createSetter() { + protected ServerStateLogLoggerMemoryImpl.ISetter createSetter() { outstandingSetters.getAndIncrement(); - return new ServerStateLog.DirectSetter(); + return new ServerStateLogLoggerMemoryImpl.DirectSetter(); } + @Override public void log( final long intervalStartTime, final int intervalDurationMicros, @@ -147,6 +150,7 @@ public void log( intervalUGPCyclesSafePointTimeMicros); } + @Override public void log( final Row.Flags flags, final long intervalStartTime, @@ -162,7 +166,7 @@ public void log( verifyCondition(isInitialized(), "init() must be called before calling log()"); verifyCondition(!isClosed, "cannot call log() after the logger is closed"); verifyCondition(!isShuttingDown, "cannot call log() while the logger is shutting down"); - final ServerStateLog.ISetter setter = setterPool.take(); + final ServerStateLogLoggerMemoryImpl.ISetter setter = setterPool.take(); try { setter.log(flags, intervalStartTime, diff --git a/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/UpdatePerformanceLogLoggerMemoryImpl.java b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/UpdatePerformanceLogLoggerMemoryImpl.java new file mode 100644 index 00000000000..a4692ea4a54 --- /dev/null +++ b/engine/table/src/main/java/io/deephaven/engine/tablelogger/impl/memory/UpdatePerformanceLogLoggerMemoryImpl.java @@ -0,0 +1,208 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.engine.tablelogger.impl.memory; + +import java.io.IOException; +import io.deephaven.engine.table.TableDefinition; +import io.deephaven.engine.table.impl.util.EngineMetrics; +import io.deephaven.engine.tablelogger.UpdatePerformanceLogLogger; +import io.deephaven.time.DateTimeUtils; +import io.deephaven.engine.util.ColumnsSpecHelper; +import io.deephaven.time.DateTime; +import io.deephaven.tablelogger.*; + +import static io.deephaven.engine.table.impl.perf.UpdatePerformanceTracker.IntervalLevelDetails; + +import io.deephaven.engine.table.impl.perf.PerformanceEntry; + +class UpdatePerformanceLogLoggerMemoryImpl extends MemoryTableLogger + implements UpdatePerformanceLogLogger { + + private static final String TABLE_NAME = "UpdatePerformanceLog"; + + private final String processUniqueId; + + public UpdatePerformanceLogLoggerMemoryImpl() { + super(TABLE_NAME, TABLE_DEFINITION); + this.processUniqueId = EngineMetrics.getProcessInfo().getId().value(); + } + + interface ISetter extends WritableRowContainer { + void log(Row.Flags flags, IntervalLevelDetails intervalLevelDetails, PerformanceEntry performanceEntry) + throws IOException; + } + + public static String getDefaultTableName() { + return TABLE_NAME; + } + + class DirectSetter extends BaseSetter implements ISetter { + RowSetter ProcessUniqueId; + RowSetter EntryId; + RowSetter EvaluationNumber; + RowSetter OperationNumber; + RowSetter EntryDescription; + RowSetter EntryCallerLine; + RowSetter IntervalStartTime; + RowSetter IntervalEndTime; + RowSetter IntervalDurationNanos; + RowSetter EntryIntervalUsage; + RowSetter EntryIntervalCpuNanos; + RowSetter EntryIntervalUserCpuNanos; + RowSetter EntryIntervalAdded; + RowSetter EntryIntervalRemoved; + RowSetter EntryIntervalModified; + RowSetter EntryIntervalShifted; + RowSetter EntryIntervalInvocationCount; + RowSetter MinFreeMemory; + RowSetter MaxTotalMemory; + RowSetter Collections; + RowSetter CollectionTimeNanos; + RowSetter EntryIntervalAllocatedBytes; + RowSetter EntryIntervalPoolAllocatedBytes; + + DirectSetter() { + ProcessUniqueId = row.getSetter("ProcessUniqueId", String.class); + EntryId = row.getSetter("EntryId", int.class); + EvaluationNumber = row.getSetter("EvaluationNumber", int.class); + OperationNumber = row.getSetter("OperationNumber", int.class); + EntryDescription = row.getSetter("EntryDescription", String.class); + EntryCallerLine = row.getSetter("EntryCallerLine", String.class); + IntervalStartTime = row.getSetter("IntervalStartTime", DateTime.class); + IntervalEndTime = row.getSetter("IntervalEndTime", DateTime.class); + IntervalDurationNanos = row.getSetter("IntervalDurationNanos", long.class); + EntryIntervalUsage = row.getSetter("EntryIntervalUsage", long.class); + EntryIntervalCpuNanos = row.getSetter("EntryIntervalCpuNanos", long.class); + EntryIntervalUserCpuNanos = row.getSetter("EntryIntervalUserCpuNanos", long.class); + EntryIntervalAdded = row.getSetter("EntryIntervalAdded", long.class); + EntryIntervalRemoved = row.getSetter("EntryIntervalRemoved", long.class); + EntryIntervalModified = row.getSetter("EntryIntervalModified", long.class); + EntryIntervalShifted = row.getSetter("EntryIntervalShifted", long.class); + EntryIntervalInvocationCount = row.getSetter("EntryIntervalInvocationCount", long.class); + MinFreeMemory = row.getSetter("MinFreeMemory", long.class); + MaxTotalMemory = row.getSetter("MaxTotalMemory", long.class); + Collections = row.getSetter("Collections", long.class); + CollectionTimeNanos = row.getSetter("CollectionTimeNanos", long.class); + EntryIntervalAllocatedBytes = row.getSetter("EntryIntervalAllocatedBytes", long.class); + EntryIntervalPoolAllocatedBytes = row.getSetter("EntryIntervalPoolAllocatedBytes", long.class); + } + + @Override + public void log(final Row.Flags flags, final IntervalLevelDetails intervalLevelDetails, + final PerformanceEntry performanceEntry) throws IOException { + setRowFlags(flags); + this.ProcessUniqueId.set(processUniqueId); + this.EntryId.setInt(performanceEntry.getId()); + this.EvaluationNumber.setInt(performanceEntry.getEvaluationNumber()); + this.OperationNumber.setInt(performanceEntry.getOperationNumber()); + this.EntryDescription.set(performanceEntry.getDescription()); + this.EntryCallerLine.set(performanceEntry.getCallerLine()); + this.IntervalStartTime.set(DateTimeUtils.millisToTime(intervalLevelDetails.getIntervalStartTimeMillis())); + this.IntervalEndTime.set(DateTimeUtils.millisToTime(intervalLevelDetails.getIntervalEndTimeMillis())); + this.IntervalDurationNanos.setLong(intervalLevelDetails.getIntervalDurationNanos()); + this.EntryIntervalUsage.setLong(performanceEntry.getIntervalUsageNanos()); + this.EntryIntervalCpuNanos.setLong(performanceEntry.getIntervalCpuNanos()); + this.EntryIntervalUserCpuNanos.setLong(performanceEntry.getIntervalUserCpuNanos()); + this.EntryIntervalAdded.setLong(performanceEntry.getIntervalAdded()); + this.EntryIntervalRemoved.setLong(performanceEntry.getIntervalRemoved()); + this.EntryIntervalModified.setLong(performanceEntry.getIntervalModified()); + this.EntryIntervalShifted.setLong(performanceEntry.getIntervalShifted()); + this.EntryIntervalInvocationCount.setLong(performanceEntry.getIntervalInvocationCount()); + this.MinFreeMemory.setLong(performanceEntry.getMinFreeMemory()); + this.MaxTotalMemory.setLong(performanceEntry.getMaxTotalMemory()); + this.Collections.setLong(performanceEntry.getCollections()); + this.CollectionTimeNanos.setLong(performanceEntry.getCollectionTimeNanos()); + this.EntryIntervalAllocatedBytes.setLong(performanceEntry.getIntervalAllocatedBytes()); + this.EntryIntervalPoolAllocatedBytes.setLong(performanceEntry.getIntervalPoolAllocatedBytes()); + } + } + + @Override + protected String threadName() { + return TABLE_NAME; + } + + private static final String[] columnNames; + private static final Class[] columnDbTypes; + + static { + final ColumnsSpecHelper cols = new ColumnsSpecHelper() + .add("ProcessUniqueId", String.class) + .add("EntryId", int.class) + .add("EvaluationNumber", int.class) + .add("OperationNumber", int.class) + .add("EntryDescription", String.class) + .add("EntryCallerLine", String.class) + + .add("IntervalStartTime", DateTime.class) + .add("IntervalEndTime", DateTime.class) + + .add("IntervalDurationNanos", long.class) + .add("EntryIntervalUsage", long.class) + .add("EntryIntervalCpuNanos", long.class) + .add("EntryIntervalUserCpuNanos", long.class) + .add("EntryIntervalAdded", long.class) + .add("EntryIntervalRemoved", long.class) + .add("EntryIntervalModified", long.class) + .add("EntryIntervalShifted", long.class) + + .add("EntryIntervalInvocationCount", long.class) + .add("MinFreeMemory", long.class) + .add("MaxTotalMemory", long.class) + .add("Collections", long.class) + .add("CollectionTimeNanos", long.class) + .add("EntryIntervalAllocatedBytes", long.class) + .add("EntryIntervalPoolAllocatedBytes", long.class) + + ; + + columnNames = cols.getColumnNames(); + columnDbTypes = cols.getTypes(); + } + + @Override + protected ISetter createSetter() { + outstandingSetters.getAndIncrement(); + return new DirectSetter(); + } + + @Override + public void log( + final IntervalLevelDetails intervalLevelDetails, final PerformanceEntry performanceEntry) + throws IOException { + log(DEFAULT_INTRADAY_LOGGER_FLAGS, intervalLevelDetails, performanceEntry); + } + + @Override + public void log( + final Row.Flags flags, final IntervalLevelDetails intervalLevelDetails, + final PerformanceEntry performanceEntry) + throws IOException { + verifyCondition(isInitialized(), "init() must be called before calling log()"); + verifyCondition(!isClosed, "cannot call log() after the logger is closed"); + verifyCondition(!isShuttingDown, "cannot call log() while the logger is shutting down"); + final ISetter setter = setterPool.take(); + try { + setter.log(flags, intervalLevelDetails, performanceEntry); + } catch (Exception e) { + setterPool.give(setter); + throw e; + } + flush(setter); + } + + private static final TableDefinition TABLE_DEFINITION = TableDefinition.from(columnNames, columnDbTypes); + + public static TableDefinition getTableDefinition() { + return TABLE_DEFINITION; + } + + public static Class[] getColumnDbTypes() { + return columnDbTypes; + } + + public static String[] getColumnNames() { + return columnNames; + } +} diff --git a/engine/table/src/main/java/io/deephaven/process/StatsIntradayLoggerDBImpl.java b/engine/table/src/main/java/io/deephaven/process/StatsIntradayLoggerDBImpl.java index 24e18ee81ae..360eeadf0d9 100644 --- a/engine/table/src/main/java/io/deephaven/process/StatsIntradayLoggerDBImpl.java +++ b/engine/table/src/main/java/io/deephaven/process/StatsIntradayLoggerDBImpl.java @@ -3,8 +3,8 @@ */ package io.deephaven.process; -import io.deephaven.stats.StatsIntradayLogger; import io.deephaven.engine.tablelogger.ProcessMetricsLogLogger; +import io.deephaven.stats.StatsIntradayLogger; import java.io.IOException; import java.io.UncheckedIOException; import java.util.Objects; diff --git a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarragePerformanceLog.java b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarragePerformanceLog.java index e557bd92a8c..b90be30e9d3 100644 --- a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarragePerformanceLog.java +++ b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarragePerformanceLog.java @@ -8,7 +8,6 @@ import io.deephaven.engine.table.Table; import io.deephaven.engine.table.impl.BaseTable; import io.deephaven.engine.table.impl.QueryTable; -import io.deephaven.engine.table.impl.util.MemoryTableLogger; import io.deephaven.internal.log.LoggerFactory; import io.deephaven.io.logger.Logger; import io.deephaven.time.DateTime; @@ -81,19 +80,16 @@ public static String getKeyFor( return null; } - private final MemoryTableLogger barrageSubscriptionPerformanceLogger; - private final MemoryTableLogger barrageSnapshotPerformanceLogger; + private final BarrageSubscriptionPerformanceLogger barrageSubscriptionPerformanceLogger; + private final BarrageSnapshotPerformanceLogger barrageSnapshotPerformanceLogger; private BarragePerformanceLog() { final Logger log = LoggerFactory.getLogger(BarragePerformanceLog.class); - barrageSubscriptionPerformanceLogger = new MemoryTableLogger<>( - log, new BarrageSubscriptionPerformanceLogger(), - BarrageSubscriptionPerformanceLogger.getTableDefinition()); + barrageSubscriptionPerformanceLogger = new BarrageSubscriptionPerformanceLogger(); barrageSubscriptionPerformanceLogger.getQueryTable().setAttribute( BaseTable.BARRAGE_PERFORMANCE_KEY_ATTRIBUTE, BarrageSubscriptionPerformanceLogger.getDefaultTableName()); - barrageSnapshotPerformanceLogger = new MemoryTableLogger<>( - log, new BarrageSnapshotPerformanceLogger(), BarrageSnapshotPerformanceLogger.getTableDefinition()); + barrageSnapshotPerformanceLogger = new BarrageSnapshotPerformanceLogger(); barrageSnapshotPerformanceLogger.getQueryTable().setAttribute( BaseTable.BARRAGE_PERFORMANCE_KEY_ATTRIBUTE, BarrageSnapshotPerformanceLogger.getDefaultTableName()); } @@ -103,7 +99,7 @@ public QueryTable getSubscriptionTable() { } public BarrageSubscriptionPerformanceLogger getSubscriptionLogger() { - return barrageSubscriptionPerformanceLogger.getTableLogger(); + return barrageSubscriptionPerformanceLogger; } public QueryTable getSnapshotTable() { @@ -111,7 +107,7 @@ public QueryTable getSnapshotTable() { } public BarrageSnapshotPerformanceLogger getSnapshotLogger() { - return barrageSnapshotPerformanceLogger.getTableLogger(); + return barrageSnapshotPerformanceLogger; } public interface WriteMetricsConsumer { diff --git a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarrageSnapshotPerformanceLogger.java b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarrageSnapshotPerformanceLogger.java index d7b56588ac3..01be8e609ec 100644 --- a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarrageSnapshotPerformanceLogger.java +++ b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarrageSnapshotPerformanceLogger.java @@ -4,22 +4,22 @@ package io.deephaven.extensions.barrage; import io.deephaven.engine.table.TableDefinition; +import io.deephaven.engine.tablelogger.impl.memory.MemoryTableLogger; import io.deephaven.engine.util.ColumnsSpecHelper; import io.deephaven.tablelogger.Row; import io.deephaven.tablelogger.RowSetter; -import io.deephaven.tablelogger.TableLoggerImpl2; import io.deephaven.tablelogger.WritableRowContainer; import io.deephaven.time.DateTime; import java.io.IOException; public class BarrageSnapshotPerformanceLogger - extends TableLoggerImpl2 { + extends MemoryTableLogger { private static final String TABLE_NAME = "BarrageSnapshotPerformanceLog"; public BarrageSnapshotPerformanceLogger() { - super(TABLE_NAME); + super(TABLE_NAME, TABLE_DEFINITION); } @SuppressWarnings("rawtypes") diff --git a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarrageSubscriptionPerformanceLogger.java b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarrageSubscriptionPerformanceLogger.java index c5df656284a..26a6cd425ab 100644 --- a/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarrageSubscriptionPerformanceLogger.java +++ b/extensions/barrage/src/main/java/io/deephaven/extensions/barrage/BarrageSubscriptionPerformanceLogger.java @@ -4,22 +4,22 @@ package io.deephaven.extensions.barrage; import io.deephaven.engine.table.TableDefinition; +import io.deephaven.engine.tablelogger.impl.memory.MemoryTableLogger; import io.deephaven.engine.util.ColumnsSpecHelper; import io.deephaven.tablelogger.Row; import io.deephaven.tablelogger.RowSetter; -import io.deephaven.tablelogger.TableLoggerImpl2; import io.deephaven.tablelogger.WritableRowContainer; import io.deephaven.time.DateTime; import java.io.IOException; public class BarrageSubscriptionPerformanceLogger - extends TableLoggerImpl2 { + extends MemoryTableLogger { private static final String TABLE_NAME = "BarrageSubscriptionPerformanceLog"; public BarrageSubscriptionPerformanceLogger() { - super(TABLE_NAME); + super(TABLE_NAME, TABLE_DEFINITION); } @SuppressWarnings("rawtypes") diff --git a/server/src/main/java/io/deephaven/server/runner/DeephavenApiServer.java b/server/src/main/java/io/deephaven/server/runner/DeephavenApiServer.java index d6824c38d15..a536a2e4109 100644 --- a/server/src/main/java/io/deephaven/server/runner/DeephavenApiServer.java +++ b/server/src/main/java/io/deephaven/server/runner/DeephavenApiServer.java @@ -7,7 +7,7 @@ import io.deephaven.engine.context.ExecutionContext; import io.deephaven.engine.table.impl.perf.QueryPerformanceRecorder; import io.deephaven.engine.table.impl.perf.UpdatePerformanceTracker; -import io.deephaven.engine.table.impl.util.MemoryTableLoggers; +import io.deephaven.engine.table.impl.util.EngineMetrics; import io.deephaven.engine.table.impl.util.ServerStateTracker; import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.util.AbstractScriptSession; @@ -130,7 +130,7 @@ public DeephavenApiServer run() throws IOException, ClassNotFoundException, Time log.info().append("Starting UGP...").endl(); ugp.start(); - MemoryTableLoggers.maybeStartStatsCollection(); + EngineMetrics.maybeStartStatsCollection(); log.info().append("Starting Performance Trackers...").endl(); QueryPerformanceRecorder.installPoolAllocationRecorder(); diff --git a/server/src/main/java/io/deephaven/server/session/SessionState.java b/server/src/main/java/io/deephaven/server/session/SessionState.java index 90fb40fea19..4827cf2fdb8 100644 --- a/server/src/main/java/io/deephaven/server/session/SessionState.java +++ b/server/src/main/java/io/deephaven/server/session/SessionState.java @@ -17,7 +17,7 @@ import io.deephaven.engine.table.impl.perf.QueryPerformanceNugget; import io.deephaven.engine.table.impl.perf.QueryPerformanceRecorder; import io.deephaven.engine.table.impl.perf.QueryProcessingResults; -import io.deephaven.engine.table.impl.util.MemoryTableLoggers; +import io.deephaven.engine.table.impl.util.EngineMetrics; import io.deephaven.engine.tablelogger.QueryOperationPerformanceLogLogger; import io.deephaven.engine.tablelogger.QueryPerformanceLogLogger; import io.deephaven.engine.updategraph.DynamicNode; @@ -915,7 +915,7 @@ private void doExport() { QueryPerformanceRecorder.resetInstance(); } if ((shouldLog || caughtException != null) && queryProcessingResults != null) { - final MemoryTableLoggers memLoggers = MemoryTableLoggers.getInstance(); + final EngineMetrics memLoggers = EngineMetrics.getInstance(); final QueryPerformanceLogLogger qplLogger = memLoggers.getQplLogger(); final QueryOperationPerformanceLogLogger qoplLogger = memLoggers.getQoplLogger(); try { From 29f6be419e2842a4ac422b133610df44ddf16dbd Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Thu, 30 Mar 2023 17:52:19 -0700 Subject: [PATCH 10/29] Add proper double checked locking for EngineMetrics#getProcessInfo (#3636) --- .../engine/table/impl/util/EngineMetrics.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/EngineMetrics.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/EngineMetrics.java index 7dd91a0fb4d..9d35fbe4457 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/util/EngineMetrics.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/util/EngineMetrics.java @@ -32,10 +32,12 @@ public class EngineMetrics { public static ProcessInfo getProcessInfo() { if (processInfo == null) { synchronized (EngineMetrics.class) { - try { - processInfo = ProcessInfoConfig.createForCurrentProcess(Configuration.getInstance()); - } catch (IOException e) { - throw new IllegalStateException("Failed to create process info.", e); + if (processInfo == null) { + try { + processInfo = ProcessInfoConfig.createForCurrentProcess(Configuration.getInstance()); + } catch (IOException e) { + throw new IllegalStateException("Failed to create process info.", e); + } } } } From de715d291d4ca21ef397b9819844b587f2c7333f Mon Sep 17 00:00:00 2001 From: Chip Kent <5250374+chipkent@users.noreply.github.com> Date: Thu, 30 Mar 2023 21:40:17 -0600 Subject: [PATCH 11/29] Go client 2 param auth (#3629) Make the go client take two auth parameters to be consistent with the python client. --- go/internal/test_tools/test_tools.go | 19 ++++++++++--- go/pkg/client/client.go | 18 ++++++------ go/pkg/client/client_test.go | 18 ++++++------ go/pkg/client/console_test.go | 4 +-- go/pkg/client/example_fetch_table_test.go | 4 +-- go/pkg/client/example_import_table_test.go | 2 +- go/pkg/client/example_input_table_test.go | 2 +- go/pkg/client/example_run_script_test.go | 2 +- go/pkg/client/example_table_ops_test.go | 4 +-- go/pkg/client/inputtable_test.go | 8 +++--- go/pkg/client/query_test.go | 32 +++++++++++----------- go/pkg/client/tablehandle_test.go | 18 ++++++------ go/pkg/client/tokens.go | 26 +++++++++++++++--- 13 files changed, 94 insertions(+), 63 deletions(-) diff --git a/go/internal/test_tools/test_tools.go b/go/internal/test_tools/test_tools.go index 3c77b1c7e71..5749bae6103 100644 --- a/go/internal/test_tools/test_tools.go +++ b/go/internal/test_tools/test_tools.go @@ -89,13 +89,24 @@ func GetPort() string { } } -// GetAuth returns the auth string to connect to for the tests. -// By default it is Anonymous, but can be overridden by setting the DH_AUTH environment variable. -func GetAuth() string { - auth := os.Getenv("DH_AUTH") +// GetAuthType returns the auth type to use for the tests. +// By default it is Anonymous but can be overridden by setting the DH_AUTH_TYPE environment variable. +func GetAuthType() string { + auth := os.Getenv("DH_AUTH_TYPE") if auth == "" { return "Anonymous" } else { return auth } } + +// GetAuthToken returns the auth token to use for the tests. +// By default it is "" but can be overridden by setting the DH_AUTH_TOKEN environment variable. +func GetAuthToken() string { + auth := os.Getenv("DH_AUTH_TOKEN") + if auth == "" { + return "" + } else { + return auth + } +} diff --git a/go/pkg/client/client.go b/go/pkg/client/client.go index 8be332cceda..bf6ae9e64e2 100644 --- a/go/pkg/client/client.go +++ b/go/pkg/client/client.go @@ -62,16 +62,18 @@ type Client struct { // so that the connection remains open. The provided context is saved and used to send keepalive messages. // // host, port, and auth are used to connect to the Deephaven server. host and port are the Deephaven server host and port. -// auth is the authorization string used to get the first token. Examples: -// - "Anonymous" is used for anonymous authentication. -// - "io.deephaven.authentication.psk.PskAuthenticationHandler " is used for PSK authentication // -// If auth is set to an empty string, DefaultAuth authentication is used. +// authType is the type of authentication to use. This can be 'Anonymous', 'Basic', or any custom-built +// authenticator in the server, such as "io.deephaven.authentication.psk.PskAuthenticationHandler", The default is 'Anonymous'. // To see what authentication methods are available on the Deephaven server, navigate to: http://:/jsapi/authentication/. // +// authToken is the authentication token string. When authType is 'Basic', it must be +// "user:password"; when auth_type is DefaultAuth, it will be ignored; when auth_type is a custom-built +// authenticator, it must conform to the specific requirement of the authenticator. +// // The option arguments can be used to specify other settings for the client. // See the With methods (e.g. WithConsole) for details on what options are available. -func NewClient(ctx context.Context, host string, port string, auth string, options ...ClientOption) (client *Client, err error) { +func NewClient(ctx context.Context, host string, port string, authType string, authToken string, options ...ClientOption) (client *Client, err error) { defer func() { if err != nil && client != nil { e := client.Close() @@ -101,11 +103,11 @@ func NewClient(ctx context.Context, host string, port string, auth string, optio cfgClient := configpb2.NewConfigServiceClient(grpcChannel) - if auth == "" { - auth = DefaultAuth + if authType == "" { + authType = DefaultAuth } - client.tokenMgr, err = newTokenManager(ctx, client.flightStub, cfgClient, auth) + client.tokenMgr, err = newTokenManager(ctx, client.flightStub, cfgClient, authType, authToken) if err != nil { return nil, err } diff --git a/go/pkg/client/client_test.go b/go/pkg/client/client_test.go index 1dd85dd3193..7dc01bb67ce 100644 --- a/go/pkg/client/client_test.go +++ b/go/pkg/client/client_test.go @@ -12,7 +12,7 @@ import ( func TestConnectError(t *testing.T) { ctx := context.Background() - _, err := client.NewClient(ctx, "foobar", "1234", test_tools.GetAuth()) + _, err := client.NewClient(ctx, "foobar", "1234", test_tools.GetAuthType(), test_tools.GetAuthToken()) if err == nil { t.Fatalf("client did not fail to connect") } @@ -21,7 +21,7 @@ func TestConnectError(t *testing.T) { func TestAuthError(t *testing.T) { ctx := context.Background() - _, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), "garbage in") + _, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), "garbage in", "badtoken") if err == nil { t.Fatalf("client did not fail to connect") } @@ -30,7 +30,7 @@ func TestAuthError(t *testing.T) { func TestClosedClient(t *testing.T) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { t.Fatalf("NewClient err %s", err.Error()) } @@ -49,7 +49,7 @@ func TestClosedClient(t *testing.T) { func TestMismatchedScript(t *testing.T) { ctx := context.Background() - _, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth(), client.WithConsole("groovy")) + _, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken(), client.WithConsole("groovy")) if err == nil { t.Fatalf("client did not fail to connect") } @@ -61,7 +61,7 @@ func TestEmptyTable(t *testing.T) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { t.Fatalf("NewClient err %s", err.Error()) } @@ -92,7 +92,7 @@ func TestEmptyTable(t *testing.T) { func TestTimeTable(t *testing.T) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { t.Fatalf("NewClient err %s", err.Error()) } @@ -119,7 +119,7 @@ func TestTableUpload(t *testing.T) { defer r.Release() ctx := context.Background() - s, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + s, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { t.Fatalf("NewClient err %s", err.Error()) return @@ -205,7 +205,7 @@ func waitForTable(ctx context.Context, cl *client.Client, names []string, timeou func TestFieldSync(t *testing.T) { ctx := context.Background() - client1, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth(), client.WithConsole("python")) + client1, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken(), client.WithConsole("python")) test_tools.CheckError(t, "NewClient", err) defer client1.Close() @@ -215,7 +215,7 @@ gotesttable1 = None `) test_tools.CheckError(t, "RunScript", err) - client2, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth(), client.WithConsole("python")) + client2, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken(), client.WithConsole("python")) test_tools.CheckError(t, "NewClient", err) defer client2.Close() diff --git a/go/pkg/client/console_test.go b/go/pkg/client/console_test.go index 698d479530f..2c24d612149 100644 --- a/go/pkg/client/console_test.go +++ b/go/pkg/client/console_test.go @@ -11,7 +11,7 @@ import ( func TestOpenTable(t *testing.T) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth(), client.WithConsole("python")) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken(), client.WithConsole("python")) test_tools.CheckError(t, "NewClient", err) err = c.RunScript(ctx, @@ -38,7 +38,7 @@ gotesttable = empty_table(42) func TestNoConsole(t *testing.T) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer c.Close() diff --git a/go/pkg/client/example_fetch_table_test.go b/go/pkg/client/example_fetch_table_test.go index 50f7a9dac16..b1e7f7c3cb5 100644 --- a/go/pkg/client/example_fetch_table_test.go +++ b/go/pkg/client/example_fetch_table_test.go @@ -19,7 +19,7 @@ func Example_fetchTable() { // Let's start a client connection using python as the script language ("groovy" is the other option). // Note that the client language must match the language the server was started with. - cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth(), client.WithConsole("python")) + cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken(), client.WithConsole("python")) if err != nil { fmt.Println("error when connecting to server:", err.Error()) return @@ -44,7 +44,7 @@ func Example_fetchTable() { cl.Close() // Now let's make a new connection, completely unrelated to the old one. - cl, err = client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + cl, err = client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { fmt.Println("error when connecting to localhost port 10000:", err.Error()) return diff --git a/go/pkg/client/example_import_table_test.go b/go/pkg/client/example_import_table_test.go index 075fa408f69..1b8b0cc0c9d 100644 --- a/go/pkg/client/example_import_table_test.go +++ b/go/pkg/client/example_import_table_test.go @@ -18,7 +18,7 @@ func Example_importTable() { // If you don't have any specific requirements, context.Background() is a good default. ctx := context.Background() - cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { fmt.Println("error when connecting to server:", err.Error()) return diff --git a/go/pkg/client/example_input_table_test.go b/go/pkg/client/example_input_table_test.go index 50b908da943..5887bcf2c4b 100644 --- a/go/pkg/client/example_input_table_test.go +++ b/go/pkg/client/example_input_table_test.go @@ -20,7 +20,7 @@ func Example_inputTable() { // If you don't have any specific requirements, context.Background() is a good default. ctx := context.Background() - cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { fmt.Println("error when connecting to server:", err.Error()) return diff --git a/go/pkg/client/example_run_script_test.go b/go/pkg/client/example_run_script_test.go index e9cf71bd915..0f3023729ec 100644 --- a/go/pkg/client/example_run_script_test.go +++ b/go/pkg/client/example_run_script_test.go @@ -20,7 +20,7 @@ func Example_runScript() { // Let's start a client connection using python as the script language ("groovy" is the other option). // Note that the client language must match the language the server was started with. - cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth(), client.WithConsole("python")) + cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken(), client.WithConsole("python")) if err != nil { fmt.Println("error when connecting to server:", err.Error()) return diff --git a/go/pkg/client/example_table_ops_test.go b/go/pkg/client/example_table_ops_test.go index 1c02f58ffb8..54b7db2796f 100644 --- a/go/pkg/client/example_table_ops_test.go +++ b/go/pkg/client/example_table_ops_test.go @@ -89,7 +89,7 @@ func doImmediateOps() (string, error) { // If you don't have any specific requirements, context.Background() is a good default. ctx := context.Background() - cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { fmt.Println("error when connecting to server:", err.Error()) return "", err @@ -172,7 +172,7 @@ func doQueryOps() (string, error) { // If you don't have any specific requirements, context.Background() is a good default. ctx := context.Background() - cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { fmt.Println("error when connecting to server:", err.Error()) return "", err diff --git a/go/pkg/client/inputtable_test.go b/go/pkg/client/inputtable_test.go index 905c9fca658..348b63fd8b0 100644 --- a/go/pkg/client/inputtable_test.go +++ b/go/pkg/client/inputtable_test.go @@ -174,7 +174,7 @@ func addNewDataToAppend( func TestAppendOnlyFromSchema(t *testing.T) { ctx := context.Background() - cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer cl.Close() @@ -210,7 +210,7 @@ func TestAppendOnlyFromSchema(t *testing.T) { func TestAppendOnlyFromTable(t *testing.T) { ctx := context.Background() - cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer cl.Close() @@ -250,7 +250,7 @@ func TestAppendOnlyFromTable(t *testing.T) { func TestKeyBackedTable(t *testing.T) { ctx := context.Background() - cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer cl.Close() @@ -316,7 +316,7 @@ func TestKeyBackedTable(t *testing.T) { func TestInvalidInputTable(t *testing.T) { ctx := context.Background() - cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + cl, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer cl.Close() diff --git a/go/pkg/client/query_test.go b/go/pkg/client/query_test.go index 82e7f46c26e..b2df4cf143e 100644 --- a/go/pkg/client/query_test.go +++ b/go/pkg/client/query_test.go @@ -27,7 +27,7 @@ func TestDagQuerySerial(t *testing.T) { func dagQuery(t *testing.T, exec execBatchOrSerial) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer c.Close() @@ -108,7 +108,7 @@ func TestMergeQuerySerial(t *testing.T) { func mergeQuery(t *testing.T, exec execBatchOrSerial) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer c.Close() @@ -148,7 +148,7 @@ func TestNullMergeQuerySerial(t *testing.T) { func nullMergeQuery(t *testing.T, exec execBatchOrSerial) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer c.Close() @@ -186,7 +186,7 @@ func TestExportNullTableQuerySerial(t *testing.T) { func exportNullTableQuery(t *testing.T, exec execBatchOrSerial) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer c.Close() @@ -210,7 +210,7 @@ func TestNullTableArgQuerySerial(t *testing.T) { func nullTableArgQuery(t *testing.T, exec execBatchOrSerial) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer c.Close() @@ -236,7 +236,7 @@ func TestEmptyMergeSerial(t *testing.T) { func emptyMerge(t *testing.T, exec execBatchOrSerial) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer c.Close() @@ -260,7 +260,7 @@ func TestTableNotReleasedSerial(t *testing.T) { func tableNotReleasedQuery(t *testing.T, exec execBatchOrSerial) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer c.Close() @@ -298,7 +298,7 @@ func TestSeparateQueriesSerial(t *testing.T) { func separateQueries(t *testing.T, exec execBatchOrSerial) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer c.Close() @@ -350,7 +350,7 @@ func TestEmptyTableQuerySerial(t *testing.T) { func emptyTableQuery(t *testing.T, exec execBatchOrSerial) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { t.Fatalf("NewClient %s", err.Error()) } @@ -409,7 +409,7 @@ func TestUpdateDropQuerySerial(t *testing.T) { func updateDropQuery(t *testing.T, exec execBatchOrSerial) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { t.Fatalf("NewClient %s", err.Error()) } @@ -481,7 +481,7 @@ func TestDuplicateQuerySerial(t *testing.T) { func duplicateQuery(t *testing.T, exec execBatchOrSerial) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { t.Fatalf("NewClient %s", err.Error()) return @@ -534,7 +534,7 @@ func TestInvalidTableQuerySerial(t *testing.T) { func invalidTableQuery(t *testing.T, exec execBatchOrSerial) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { t.Fatalf("NewClient %s", err.Error()) return @@ -566,7 +566,7 @@ func doQueryTest(inputRec arrow.Record, t *testing.T, exec execBatchOrSerial, op ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { t.Fatalf("NewClient %s", err.Error()) } @@ -885,7 +885,7 @@ func crossJoinQuery(t *testing.T, exec execBatchOrSerial) { func TestAsOfJoinQuery(t *testing.T) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { t.Fatalf("NewClient %s", err.Error()) } @@ -1105,11 +1105,11 @@ func TestDifferentClientsSerial(t *testing.T) { func differentClientsQuery(t *testing.T, exec execBatchOrSerial) { ctx := context.Background() - client1, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + client1, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer client1.Close() - client2, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + client2, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer client2.Close() diff --git a/go/pkg/client/tablehandle_test.go b/go/pkg/client/tablehandle_test.go index c513d00a0e1..19d8cda3eae 100644 --- a/go/pkg/client/tablehandle_test.go +++ b/go/pkg/client/tablehandle_test.go @@ -18,7 +18,7 @@ type unaryTableOp func(context.Context, *client.TableHandle) (*client.TableHandl func applyTableOp(input arrow.Record, t *testing.T, op unaryTableOp) arrow.Record { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { t.Fatalf("NewClient %s", err.Error()) } @@ -210,7 +210,7 @@ func TestEmptyMerge(t *testing.T) { func TestExactJoin(t *testing.T) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer c.Close() @@ -258,7 +258,7 @@ func TestExactJoin(t *testing.T) { func TestNaturalJoin(t *testing.T) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer c.Close() @@ -306,7 +306,7 @@ func TestNaturalJoin(t *testing.T) { func TestCrossJoin(t *testing.T) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer c.Close() @@ -363,7 +363,7 @@ func TestCrossJoin(t *testing.T) { func TestAsOfJoin(t *testing.T) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) if err != nil { t.Fatalf("NewClient %s", err.Error()) } @@ -534,7 +534,7 @@ func TestDedicatedAgg(t *testing.T) { func TestZeroTable(t *testing.T) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer c.Close() @@ -558,7 +558,7 @@ func TestZeroTable(t *testing.T) { func TestReleasedTable(t *testing.T) { ctx := context.Background() - c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + c, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer c.Close() @@ -587,11 +587,11 @@ func TestReleasedTable(t *testing.T) { func TestDifferentClients(t *testing.T) { ctx := context.Background() - client1, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + client1, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer client1.Close() - client2, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuth()) + client2, err := client.NewClient(ctx, test_tools.GetHost(), test_tools.GetPort(), test_tools.GetAuthType(), test_tools.GetAuthToken()) test_tools.CheckError(t, "NewClient", err) defer client2.Close() diff --git a/go/pkg/client/tokens.go b/go/pkg/client/tokens.go index 4aeecc62a21..e00d481c10c 100644 --- a/go/pkg/client/tokens.go +++ b/go/pkg/client/tokens.go @@ -2,6 +2,7 @@ package client import ( "context" + "encoding/base64" "errors" "fmt" "github.com/apache/arrow/go/v8/arrow/flight" @@ -13,6 +14,17 @@ import ( "time" ) +// makeAuthString creates an authentication string from an authentication type and an authentication token. +func makeAuthString(authType string, authToken string) string { + if authType == "Anonymous" { + return authType + } else if authType == "Basic" { + return "Basic " + base64.StdEncoding.EncodeToString([]byte(authToken)) + } else { + return authType + " " + authToken + } +} + // withAuth returns a context decorated with authentication data. func withAuth(ctx context.Context, authString string) context.Context { return metadata.NewOutgoingContext(ctx, metadata.Pairs("authorization", authString)) @@ -102,10 +114,16 @@ func (tr *tokenManager) Close() error { // newTokenManager creates a tokenManager that begins a background goroutine that continually refreshes // the token so that it does not time out. // -// authString is the authorization string used to get the first token. Examples: -// - "Anonymous" is used for anonymous authentication. -// - "io.deephaven.authentication.psk.PskAuthenticationHandler " is used for PSK authentication -func newTokenManager(ctx context.Context, fs *flightStub, cfg configpb2.ConfigServiceClient, authString string) (*tokenManager, error) { +// authType is the type of authentication to use. This can be 'Anonymous', 'Basic', or any custom-built +// authenticator in the server, such as "io.deephaven.authentication.psk.PskAuthenticationHandler", The default is 'Anonymous'. +// To see what authentication methods are available on the Deephaven server, navigate to: http://:/jsapi/authentication/. +// +// authToken is the authentication token string. When authType is 'Basic', it must be +// "user:password"; when auth_type is DefaultAuth, it will be ignored; when auth_type is a custom-built +// authenticator, it must conform to the specific requirement of the authenticator. +func newTokenManager(ctx context.Context, fs *flightStub, cfg configpb2.ConfigServiceClient, authType string, authToken string) (*tokenManager, error) { + authString := makeAuthString(authType, authToken) + handshakeClient, err := fs.handshake(withAuth(ctx, authString)) if err != nil { From f7304c95f6fa5ee0d592d34c4a8a2cea8c12cf1e Mon Sep 17 00:00:00 2001 From: Nate Bauernfeind Date: Thu, 30 Mar 2023 22:48:42 -0600 Subject: [PATCH 12/29] Port DH-12458: ColumnSources That Wrap Native Apache Arrow (#3420) --- buildSrc/src/main/groovy/Classpaths.groovy | 3 +- ...eephaven.java-classpath-conventions.gradle | 4 +- engine/rowset/build.gradle | 2 +- .../engine/table/impl/TimeTable.java | 1 - extensions/arrow/build.gradle | 35 ++ extensions/arrow/gradle.properties | 1 + .../extensions/arrow/ArrowWrapperTools.java | 447 ++++++++++++++++++ .../sources/AbstractArrowColumnSource.java | 72 +++ .../sources/ArrowBooleanColumnSource.java | 53 +++ .../arrow/sources/ArrowByteColumnSource.java | 54 +++ .../arrow/sources/ArrowCharColumnSource.java | 54 +++ .../sources/ArrowDateTimeColumnSource.java | 54 +++ .../sources/ArrowDoubleColumnSource.java | 54 +++ .../arrow/sources/ArrowFloatColumnSource.java | 54 +++ .../arrow/sources/ArrowIntColumnSource.java | 54 +++ .../sources/ArrowLocalTimeColumnSource.java | 56 +++ .../arrow/sources/ArrowLongColumnSource.java | 54 +++ .../sources/ArrowObjectColumnSource.java | 54 +++ .../arrow/sources/ArrowShortColumnSource.java | 54 +++ .../sources/ArrowStringColumnSource.java | 53 +++ .../arrow/sources/ArrowUInt1ColumnSource.java | 54 +++ .../arrow/sources/ArrowUInt4ColumnSource.java | 54 +++ .../arrow/sources/ArrowUInt8ColumnSource.java | 54 +++ .../arrow/ArrowBigIntVectorTest.java | 80 ++++ .../extensions/arrow/ArrowBitVectorTest.java | 79 ++++ .../arrow/ArrowDateMilliVectorTest.java | 80 ++++ .../arrow/ArrowDecimal256VectorTest.java | 85 ++++ .../arrow/ArrowDecimalVectorTest.java | 85 ++++ .../arrow/ArrowFixedSizeBinaryVectorTest.java | 79 ++++ .../arrow/ArrowFloat4VectorTest.java | 80 ++++ .../arrow/ArrowFloat8VectorTest.java | 80 ++++ .../extensions/arrow/ArrowIntVectorTest.java | 80 ++++ .../arrow/ArrowSmallIntVectorTest.java | 80 ++++ .../arrow/ArrowTimeMilliVectorTest.java | 80 ++++ .../arrow/ArrowTimestampVectorTest.java | 80 ++++ .../extensions/arrow/ArrowTinyVectorTest.java | 80 ++++ .../arrow/ArrowUint1VectorTest.java | 80 ++++ .../arrow/ArrowUint2VectorTest.java | 80 ++++ .../arrow/ArrowUint4VectorTest.java | 80 ++++ .../arrow/ArrowUint8VectorTest.java | 80 ++++ .../arrow/ArrowVarBinaryVectorTest.java | 79 ++++ .../arrow/ArrowVarCharVectorTest.java | 79 ++++ .../arrow/ArrowWrapperToolsTest.java | 369 +++++++++++++++ .../src/test/resources/big_int_vector.arrow | Bin 0 -> 930 bytes .../arrow/src/test/resources/bit_vector.arrow | Bin 0 -> 882 bytes .../test/resources/date_milli_vector.arrow | Bin 0 -> 906 bytes .../test/resources/decimal256_vector.arrow | Bin 0 -> 1090 bytes .../src/test/resources/decimal_vector.arrow | Bin 0 -> 978 bytes .../resources/fixed_size_binary_vector.arrow | Bin 0 -> 898 bytes .../src/test/resources/float4_vector.arrow | Bin 0 -> 906 bytes .../src/test/resources/float8_vector.arrow | Bin 0 -> 922 bytes .../arrow/src/test/resources/int_vector.arrow | Bin 0 -> 914 bytes .../src/test/resources/small_int_vector.arrow | Bin 0 -> 906 bytes .../src/test/resources/three_vectors.arrow | Bin 0 -> 1674 bytes .../test/resources/time_milli_vector.arrow | Bin 0 -> 906 bytes .../src/test/resources/timestamp_vector.arrow | Bin 0 -> 946 bytes .../src/test/resources/tiny_int_vector.arrow | Bin 0 -> 906 bytes .../src/test/resources/uint1_vector.arrow | Bin 0 -> 898 bytes .../src/test/resources/uint2_vector.arrow | Bin 0 -> 898 bytes .../src/test/resources/uint4_vector.arrow | Bin 0 -> 906 bytes .../src/test/resources/uint8_vector.arrow | Bin 0 -> 922 bytes .../test/resources/var_binary_vector.arrow | Bin 0 -> 994 bytes .../src/test/resources/var_char_vector.arrow | Bin 0 -> 978 bytes extensions/barrage/build.gradle | 6 - java-client/flight/build.gradle | 6 - replication/reflective/build.gradle | 6 + .../GenerateArrowColumnSourceTests.java | 402 ++++++++++++++++ .../GenerateArrowColumnSources.java | 328 +++++++++++++ replication/static/build.gradle | 1 + server/build.gradle | 1 + settings.gradle | 3 + 71 files changed, 4005 insertions(+), 18 deletions(-) create mode 100644 extensions/arrow/build.gradle create mode 100644 extensions/arrow/gradle.properties create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/ArrowWrapperTools.java create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/AbstractArrowColumnSource.java create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowBooleanColumnSource.java create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowByteColumnSource.java create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowCharColumnSource.java create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowDateTimeColumnSource.java create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowDoubleColumnSource.java create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowFloatColumnSource.java create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowIntColumnSource.java create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowLocalTimeColumnSource.java create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowLongColumnSource.java create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowObjectColumnSource.java create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowShortColumnSource.java create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowStringColumnSource.java create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowUInt1ColumnSource.java create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowUInt4ColumnSource.java create mode 100644 extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowUInt8ColumnSource.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowBigIntVectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowBitVectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowDateMilliVectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowDecimal256VectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowDecimalVectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowFixedSizeBinaryVectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowFloat4VectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowFloat8VectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowIntVectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowSmallIntVectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowTimeMilliVectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowTimestampVectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowTinyVectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowUint1VectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowUint2VectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowUint4VectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowUint8VectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowVarBinaryVectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowVarCharVectorTest.java create mode 100644 extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowWrapperToolsTest.java create mode 100644 extensions/arrow/src/test/resources/big_int_vector.arrow create mode 100644 extensions/arrow/src/test/resources/bit_vector.arrow create mode 100644 extensions/arrow/src/test/resources/date_milli_vector.arrow create mode 100644 extensions/arrow/src/test/resources/decimal256_vector.arrow create mode 100644 extensions/arrow/src/test/resources/decimal_vector.arrow create mode 100644 extensions/arrow/src/test/resources/fixed_size_binary_vector.arrow create mode 100644 extensions/arrow/src/test/resources/float4_vector.arrow create mode 100644 extensions/arrow/src/test/resources/float8_vector.arrow create mode 100644 extensions/arrow/src/test/resources/int_vector.arrow create mode 100644 extensions/arrow/src/test/resources/small_int_vector.arrow create mode 100644 extensions/arrow/src/test/resources/three_vectors.arrow create mode 100644 extensions/arrow/src/test/resources/time_milli_vector.arrow create mode 100644 extensions/arrow/src/test/resources/timestamp_vector.arrow create mode 100644 extensions/arrow/src/test/resources/tiny_int_vector.arrow create mode 100644 extensions/arrow/src/test/resources/uint1_vector.arrow create mode 100644 extensions/arrow/src/test/resources/uint2_vector.arrow create mode 100644 extensions/arrow/src/test/resources/uint4_vector.arrow create mode 100644 extensions/arrow/src/test/resources/uint8_vector.arrow create mode 100644 extensions/arrow/src/test/resources/var_binary_vector.arrow create mode 100644 extensions/arrow/src/test/resources/var_char_vector.arrow create mode 100644 replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSourceTests.java create mode 100644 replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSources.java diff --git a/buildSrc/src/main/groovy/Classpaths.groovy b/buildSrc/src/main/groovy/Classpaths.groovy index a5845934546..e659040c974 100644 --- a/buildSrc/src/main/groovy/Classpaths.groovy +++ b/buildSrc/src/main/groovy/Classpaths.groovy @@ -46,8 +46,7 @@ class Classpaths { static final String COMMONS_GROUP = 'org.apache.commons' static final String ARROW_GROUP = 'org.apache.arrow' - // Note, when updated to 9.0.0+, fix deephaven-core#2923. - static final String ARROW_VERSION = '7.0.0' + static final String ARROW_VERSION = '11.0.0' static final String SLF4J_GROUP = 'org.slf4j' static final String SLF4J_VERSION = '2.0.6' diff --git a/buildSrc/src/main/groovy/io.deephaven.java-classpath-conventions.gradle b/buildSrc/src/main/groovy/io.deephaven.java-classpath-conventions.gradle index 98206c97a31..a844ad902f2 100644 --- a/buildSrc/src/main/groovy/io.deephaven.java-classpath-conventions.gradle +++ b/buildSrc/src/main/groovy/io.deephaven.java-classpath-conventions.gradle @@ -5,7 +5,7 @@ plugins { // TODO(deephaven-core#1162): Adopt java-platform to manage versions ext { - depAnnotations = 'com.intellij:annotations:5.1' + depAnnotations = 'org.jetbrains:annotations:24.0.0' depCommonsCompress = 'org.apache.commons:commons-compress:1.22' depCommonsLang3 = 'org.apache.commons:commons-lang3:3.12.0' depCommonsIo = 'commons-io:commons-io:2.11.0' @@ -62,7 +62,7 @@ dependencies { // having to maintain this... fishBase project(':Base'), 'net.sf.trove4j:trove4j:3.0.3', - 'com.intellij:annotations:5.1', + 'org.jetbrains:annotations:24.0.0', depCommonsCompress fishIo project(':IO') diff --git a/engine/rowset/build.gradle b/engine/rowset/build.gradle index 65ce8ac0fb6..3bf01edb715 100644 --- a/engine/rowset/build.gradle +++ b/engine/rowset/build.gradle @@ -8,12 +8,12 @@ description 'Engine RowSets: Data structures for working with row keys' dependencies { api project(':engine-chunk') api project(':Base') + api depTrove3 implementation project(':Container') implementation project(':engine-updategraph') implementation project(':Configuration') implementation depCommonsLang3 - implementation depTrove3 compileOnly 'com.google.code.findbugs:jsr305:3.0.2' compileOnly depAnnotations diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/TimeTable.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/TimeTable.java index bf476e9c388..54b5c412700 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/TimeTable.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/TimeTable.java @@ -4,7 +4,6 @@ package io.deephaven.engine.table.impl; import io.deephaven.base.clock.Clock; -import io.deephaven.chunk.Chunk; import io.deephaven.chunk.LongChunk; import io.deephaven.chunk.WritableChunk; import io.deephaven.chunk.WritableLongChunk; diff --git a/extensions/arrow/build.gradle b/extensions/arrow/build.gradle new file mode 100644 index 00000000000..77b0c454537 --- /dev/null +++ b/extensions/arrow/build.gradle @@ -0,0 +1,35 @@ +plugins { + id 'java-library' + id 'io.deephaven.project.register' +} + +description = 'An extension integrating Arrow sources with Deephaven\'s Table Model' + +dependencies { + api project(':engine-table') + + implementation project(':Configuration') + implementation depCommonsLang3 + + Classpaths.inheritArrow(project, 'arrow-format', 'implementation') + Classpaths.inheritArrow(project, 'arrow-vector', 'implementation') + + testImplementation TestTools.projectDependency(project, 'engine-table'), + TestTools.projectDependency(project, 'Util') + + Classpaths.inheritSlf4j(project, 'slf4j-api', 'implementation') + Classpaths.inheritSlf4j(project, 'slf4j-simple', 'testRuntimeOnly') + testRuntimeOnly project(':log-to-slf4j') + + Classpaths.inheritJUnitPlatform(project) + Classpaths.inheritAssertJ(project) +} + +spotless { + java { + targetExclude( + '**/Arrow*ColumnSource.java', + '**/Arrow*VectorTest.java', + ) + } +} diff --git a/extensions/arrow/gradle.properties b/extensions/arrow/gradle.properties new file mode 100644 index 00000000000..c186bbfdde1 --- /dev/null +++ b/extensions/arrow/gradle.properties @@ -0,0 +1 @@ +io.deephaven.project.ProjectType=JAVA_PUBLIC diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/ArrowWrapperTools.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/ArrowWrapperTools.java new file mode 100644 index 00000000000..696e0db4952 --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/ArrowWrapperTools.java @@ -0,0 +1,447 @@ +package io.deephaven.extensions.arrow; + +import io.deephaven.base.ArrayUtil; +import io.deephaven.base.reference.WeakCleanupReference; +import io.deephaven.configuration.Configuration; +import io.deephaven.engine.table.ResettableContext; +import io.deephaven.engine.updategraph.UpdateGraphProcessor; +import io.deephaven.engine.util.file.FileHandle; +import io.deephaven.engine.util.file.TrackedFileHandleFactory; +import io.deephaven.engine.util.reference.CleanupReferenceProcessorInstance; +import io.deephaven.extensions.arrow.sources.ArrowByteColumnSource; +import io.deephaven.extensions.arrow.sources.ArrowCharColumnSource; +import io.deephaven.extensions.arrow.sources.ArrowDateTimeColumnSource; +import io.deephaven.extensions.arrow.sources.ArrowIntColumnSource; +import io.deephaven.extensions.arrow.sources.ArrowLocalTimeColumnSource; +import io.deephaven.extensions.arrow.sources.ArrowLongColumnSource; +import io.deephaven.extensions.arrow.sources.ArrowObjectColumnSource; +import io.deephaven.extensions.arrow.sources.ArrowStringColumnSource; +import io.deephaven.engine.rowset.RowSetBuilderSequential; +import io.deephaven.engine.rowset.RowSetFactory; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.SharedContext; +import io.deephaven.engine.table.impl.AbstractColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.table.impl.locations.TableDataException; +import io.deephaven.extensions.arrow.sources.ArrowBooleanColumnSource; +import io.deephaven.extensions.arrow.sources.ArrowDoubleColumnSource; +import io.deephaven.extensions.arrow.sources.ArrowFloatColumnSource; +import io.deephaven.extensions.arrow.sources.ArrowShortColumnSource; +import io.deephaven.extensions.arrow.sources.ArrowUInt1ColumnSource; +import io.deephaven.extensions.arrow.sources.ArrowUInt4ColumnSource; +import io.deephaven.extensions.arrow.sources.ArrowUInt8ColumnSource; + +import java.io.File; +import java.io.IOException; +import java.io.UncheckedIOException; +import java.lang.ref.WeakReference; +import java.math.BigDecimal; +import java.nio.ByteBuffer; +import java.nio.channels.SeekableByteChannel; +import java.time.LocalDateTime; +import java.util.Deque; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentLinkedDeque; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.stream.Collectors; + +import io.deephaven.util.QueryConstants; +import io.deephaven.util.annotations.ReferentialIntegrity; +import io.deephaven.util.annotations.TestUseOnly; +import io.deephaven.util.datastructures.LongSizedDataStructure; +import io.deephaven.util.datastructures.SizeException; +import org.apache.arrow.flatbuf.Message; +import org.apache.arrow.flatbuf.RecordBatch; +import org.apache.arrow.memory.BufferAllocator; +import org.apache.arrow.memory.RootAllocator; +import org.apache.arrow.vector.BigIntVector; +import org.apache.arrow.vector.BitVector; +import org.apache.arrow.vector.DateMilliVector; +import org.apache.arrow.vector.Decimal256Vector; +import org.apache.arrow.vector.DecimalVector; +import org.apache.arrow.vector.FieldVector; +import org.apache.arrow.vector.FixedSizeBinaryVector; +import org.apache.arrow.vector.Float4Vector; +import org.apache.arrow.vector.Float8Vector; +import org.apache.arrow.vector.IntVector; +import org.apache.arrow.vector.SmallIntVector; +import org.apache.arrow.vector.TimeMilliVector; +import org.apache.arrow.vector.TimeStampVector; +import org.apache.arrow.vector.TinyIntVector; +import org.apache.arrow.vector.UInt1Vector; +import org.apache.arrow.vector.UInt2Vector; +import org.apache.arrow.vector.UInt4Vector; +import org.apache.arrow.vector.UInt8Vector; +import org.apache.arrow.vector.VarBinaryVector; +import org.apache.arrow.vector.VarCharVector; +import org.apache.arrow.vector.VectorSchemaRoot; +import org.apache.arrow.vector.ipc.ArrowFileReader; +import org.apache.arrow.vector.ipc.message.ArrowBlock; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +import static org.apache.arrow.vector.ipc.message.MessageSerializer.IPC_CONTINUATION_TOKEN; + +/** + * This class contains tools for dealing apache arrow data. + *
    + *
  • {@link ArrowBooleanColumnSource} - uses {@link BitVector} under the hood, returns Boolean
  • + *
  • {@link ArrowByteColumnSource} - uses {@link TinyIntVector} under the hood, returns byte
  • + *
  • {@link ArrowCharColumnSource} - uses {@link UInt2Vector} under the hood, returns long
  • + *
  • {@link ArrowFloatColumnSource} - uses {@link Float4Vector} under the hood, returns float
  • + *
  • {@link ArrowDoubleColumnSource} - uses {@link Float8Vector} under the hood, returns double
  • + *
  • {@link ArrowShortColumnSource} - uses {@link SmallIntVector} under the hood, returns short
  • + *
  • {@link ArrowIntColumnSource} - uses {@link IntVector} under the hood, returns int
  • + *
  • {@link ArrowLongColumnSource} - uses {@link BigIntVector} under the hood, returns long
  • + *
  • {@link ArrowUInt1ColumnSource} - uses {@link UInt1Vector} under the hood, returns short
  • + *
  • {@link ArrowUInt4ColumnSource} - uses {@link UInt4Vector} under the hood, returns long
  • + *
  • {@link ArrowObjectColumnSource ArrowObjectColumnSource<BigInteger>} - uses {@link UInt8Vector} under the + * hood, returns BigInteger
  • + *
  • {@link ArrowLocalTimeColumnSource} - uses {@link TimeMilliVector} under the hood, returns LocalTime
  • + *
  • {@link ArrowDateTimeColumnSource} - uses {@link TimeStampVector} under the hood, returns DateTime
  • + *
  • {@link ArrowStringColumnSource} - uses {@link VarCharVector} under the hood, returns String
  • + *
  • {@link ArrowObjectColumnSource ArrowObjectColumnSource<byte[]>} - uses {@link FixedSizeBinaryVector} under + * the hood, returns byte[]
  • + *
  • {@link ArrowObjectColumnSource ArrowObjectColumnSource<byte[]>} - uses {@link VarBinaryVector} under the + * hood, returns byte[]
  • + *
  • {@link ArrowObjectColumnSource ArrowObjectColumnSource<BigDecimal>} - uses {@link DecimalVector} under the + * hood, returns BigDecimal
  • + *
  • {@link ArrowObjectColumnSource ArrowObjectColumnSource<BigDecimal>} - uses {@link Decimal256Vector} under + * the hood, returns BigDecimal
  • + *
  • {@link ArrowObjectColumnSource ArrowObjectColumnSource<LocalDateTime>} - uses {@link DateMilliVector} under + * the hood, returns LocalDateTime
  • + *
+ * + *

+ * Note that Arrow's Java implementation only supports feather v2, as a result this class only supports feather v2. + *

+ * There are some performance issues under certain data access patterns. See deephaven-core#3633 for details and + * suggested future improvements. + */ +public class ArrowWrapperTools { + private static final int MAX_POOL_SIZE = Math.max(UpdateGraphProcessor.DEFAULT.getUpdateThreads(), + Configuration.getInstance().getIntegerWithDefault("ArrowWrapperTools.defaultMaxPooledContext", 4)); + + private static final BufferAllocator rootAllocator = new RootAllocator(); + + /** + * Reads arrow data from a feather-formatted file and returns a query table + */ + public static QueryTable readFeather(final @NotNull String path) { + final ArrowTableContext arrowTableContext = new ArrowTableContext(path, rootAllocator); + try (final Shareable context = arrowTableContext.newShareable(); + final SeekableByteChannel channel = arrowTableContext.openChannel()) { + final ArrowFileReader reader = context.getReader(); + int biggestBlock = 0; + final List recordBlocks = reader.getRecordBlocks(); + final int[] blocks = new int[recordBlocks.size()]; + + int metadataBufLen = 1024; + byte[] rawMetadataBuf = new byte[metadataBufLen]; + final Message message = new Message(); + final RecordBatch recordBatch = new RecordBatch(); + for (int ii = 0; ii < blocks.length; ++ii) { + final ArrowBlock block = recordBlocks.get(ii); + if (block.getMetadataLength() > ArrayUtil.MAX_ARRAY_SIZE) { + throw new SizeException("Metadata length exceeds maximum array size. Failed reading block " + ii + + " of '" + path + "'", block.getMetadataLength(), ArrayUtil.MAX_ARRAY_SIZE); + } + while (block.getMetadataLength() > metadataBufLen) { + metadataBufLen = Math.min(2 * metadataBufLen, ArrayUtil.MAX_ARRAY_SIZE); + rawMetadataBuf = new byte[metadataBufLen]; + } + + channel.position(block.getOffset()); + + final ByteBuffer metadataBuf = ByteBuffer.wrap(rawMetadataBuf, 0, block.getMetadataLength()); + int numRead = channel.read(metadataBuf); + if (numRead != block.getMetadataLength()) { + throw new IOException("Unexpected end of input trying to read block " + ii + " of '" + path + "'"); + } + + metadataBuf.flip(); + if (metadataBuf.getInt() == IPC_CONTINUATION_TOKEN) { + // if the continuation token is present, skip the length + metadataBuf.position(metadataBuf.position() + Integer.BYTES); + } + Message.getRootAsMessage(metadataBuf.asReadOnlyBuffer(), message); + message.header(recordBatch); + + final int rowCount = LongSizedDataStructure.intSize("ArrowWrapperTools#readFeather", + recordBatch.length()); + blocks[ii] = rowCount; + biggestBlock = Math.max(biggestBlock, rowCount); + } + + // note we can use `0` to index the first row of each block; e.g. 16 rows needs only 4 bits + final int highBit = Integer.highestOneBit(biggestBlock - 1) << 1; + final RowSetBuilderSequential builder = RowSetFactory.builderSequential(); + for (int bi = 0; bi < blocks.length; bi++) { + final long rangeStart = (long) highBit * bi; + builder.appendRange(rangeStart, rangeStart + blocks[bi] - 1); + } + + final VectorSchemaRoot root = context.getReader().getVectorSchemaRoot(); + final Map> sources = root.getSchema() + .getFields().stream().collect(Collectors.toMap( + Field::getName, + f -> generateColumnSource(root.getVector(f), f, highBit, arrowTableContext), + (u, v) -> { + throw new IllegalStateException(String.format("Duplicate key %s", u)); + }, + LinkedHashMap::new)); + + return new QueryTable(builder.build().toTracking(), sources) { + @Override + public void releaseCachedResources() { + arrowTableContext.releaseCachedResources(); + } + }; + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } + + private static AbstractColumnSource generateColumnSource( + final FieldVector vector, final Field field, final int highBit, final ArrowTableContext arrowHelper) { + switch (vector.getMinorType()) { + case TINYINT: + return new ArrowByteColumnSource(highBit, field, arrowHelper); + case SMALLINT: + return new ArrowShortColumnSource(highBit, field, arrowHelper); + case INT: + return new ArrowIntColumnSource(highBit, field, arrowHelper); + case BIGINT: + return new ArrowLongColumnSource(highBit, field, arrowHelper); + case DATEMILLI: + return new ArrowObjectColumnSource<>(LocalDateTime.class, highBit, field, arrowHelper); + case TIMEMILLI: + return new ArrowLocalTimeColumnSource(highBit, field, arrowHelper); + case FLOAT4: + return new ArrowFloatColumnSource(highBit, field, arrowHelper); + case FLOAT8: + return new ArrowDoubleColumnSource(highBit, field, arrowHelper); + case BIT: + return new ArrowBooleanColumnSource(highBit, field, arrowHelper); + case VARCHAR: + return new ArrowStringColumnSource(highBit, field, arrowHelper); + case VARBINARY: + case FIXEDSIZEBINARY: + return new ArrowObjectColumnSource<>(byte[].class, highBit, field, arrowHelper); + case DECIMAL: + case DECIMAL256: + return new ArrowObjectColumnSource<>(BigDecimal.class, highBit, field, arrowHelper); + case UINT1: + return new ArrowUInt1ColumnSource(highBit, field, arrowHelper); + case UINT2: + return new ArrowCharColumnSource(highBit, field, arrowHelper); + case UINT4: + return new ArrowUInt4ColumnSource(highBit, field, arrowHelper); + case UINT8: + return new ArrowUInt8ColumnSource(highBit, field, arrowHelper); + case TIMESTAMPMICRO: + case TIMESTAMPMICROTZ: + case TIMESTAMPMILLI: + case TIMESTAMPMILLITZ: + case TIMESTAMPNANO: + case TIMESTAMPNANOTZ: + case TIMESTAMPSEC: + case TIMESTAMPSECTZ: + return new ArrowDateTimeColumnSource(highBit, field, arrowHelper); + case NULL: + case STRUCT: + case DATEDAY: + case TIMESEC: + case TIMEMICRO: + case TIMENANO: + case INTERVALDAY: + case INTERVALMONTHDAYNANO: + case DURATION: + case INTERVALYEAR: + case LARGEVARCHAR: + case LARGEVARBINARY: + case LIST: + case LARGELIST: + case FIXED_SIZE_LIST: + case UNION: + case DENSEUNION: + case MAP: + case EXTENSIONTYPE: + break; + } + throw new TableDataException( + String.format("Unsupported vector: name: %s type: %s", vector.getName(), vector.getMinorType())); + } + + private static final class SharingKey extends SharedContext.ExactReferenceSharingKey { + public SharingKey(@NotNull final ArrowWrapperTools.ArrowTableContext arrowHelper) { + super(arrowHelper); + } + } + + public static class FillContext implements ColumnSource.FillContext { + private final boolean shared; + private final Shareable shareable; + + public FillContext(final ArrowTableContext helper, final SharedContext sharedContext) { + this.shared = sharedContext != null; + shareable = sharedContext == null ? helper.newShareable() + : sharedContext.getOrCreate(new SharingKey(helper), helper::newShareable); + } + + public T getVector(final Field field) { + try { + // noinspection unchecked + return (T) shareable.getReader().getVectorSchemaRoot().getVector(field); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } + + public void ensureLoadingBlock(final int blockNumber) { + this.shareable.ensureLoadingBlock(blockNumber); + } + + @Override + public void close() { + if (!shared) { + shareable.close(); + } + } + } + + public static final class Shareable implements ResettableContext { + private static final AtomicInteger numBlocksLoaded = new AtomicInteger(); + + private final WeakReference tableContext; + private final ArrowFileReader reader; + @ReferentialIntegrity + private final ReaderCleanup cleanup; + + private int blockNo = QueryConstants.NULL_INT; + + + Shareable(ArrowTableContext tableContext, ArrowFileReader reader) { + this.tableContext = new WeakReference<>(tableContext); + this.reader = reader; + this.cleanup = new ReaderCleanup(this); + } + + public ArrowFileReader getReader() { + return this.reader; + } + + @TestUseOnly + public static int numBlocksLoaded() { + return numBlocksLoaded.get(); + } + + @TestUseOnly + public static void resetNumBlocksLoaded() { + numBlocksLoaded.set(0); + } + + @Override + public void reset() { + // Nothing to do here. + } + + @Override + public void close() { + ArrowTableContext tableContext = this.tableContext.get(); + if (tableContext != null) { + tableContext.addToPool(this); + } else { + destroy(); + } + } + + public void destroy() { + try { + this.reader.close(); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } + + void ensureLoadingBlock(final int blockNumber) { + if (blockNumber != blockNo) { + try { + reader.loadRecordBatch(reader.getRecordBlocks().get(blockNumber)); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + numBlocksLoaded.incrementAndGet(); + blockNo = blockNumber; + } + } + } + + public static class ArrowTableContext { + private final String path; + + private final BufferAllocator rootAllocator; + + private final Deque readerStack = new ConcurrentLinkedDeque<>(); + + public ArrowTableContext(final String path, final BufferAllocator rootAllocator) { + this.path = path; + this.rootAllocator = rootAllocator; + } + + private Shareable newShareable() { + Shareable reader = readerStack.poll(); + if (reader != null) { + return reader; + } + final SeekableByteChannel channel; + try { + channel = openChannel(); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + return new Shareable(this, new ArrowFileReader(channel, rootAllocator)); + } + + @NotNull + private FileHandle openChannel() throws IOException { + return TrackedFileHandleFactory.getInstance().readOnlyHandleCreator.invoke(new File(path)); + } + + private void addToPool(final Shareable context) { + // this comparison is not atomic, but it is ok to be close enough + if (readerStack.size() >= MAX_POOL_SIZE) { + context.destroy(); + } else { + readerStack.push(context); + } + } + + public void releaseCachedResources() { + Shareable toDestroy; + while ((toDestroy = readerStack.poll()) != null) { + toDestroy.destroy(); + } + } + } + + private static final class ReaderCleanup extends WeakCleanupReference { + private final ArrowFileReader reader; + + private ReaderCleanup(final Shareable shareable) { + super(shareable, CleanupReferenceProcessorInstance.DEFAULT.getReferenceQueue()); + this.reader = shareable.getReader(); + } + + @Override + public void cleanup() { + try { + reader.close(); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } + } +} diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/AbstractArrowColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/AbstractArrowColumnSource.java new file mode 100644 index 00000000000..c344b4402a6 --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/AbstractArrowColumnSource.java @@ -0,0 +1,72 @@ +package io.deephaven.extensions.arrow.sources; + +import io.deephaven.base.verify.Assert; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.table.SharedContext; +import io.deephaven.engine.table.impl.AbstractColumnSource; +import io.deephaven.extensions.arrow.ArrowWrapperTools; +import io.deephaven.util.datastructures.LongSizedDataStructure; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +import java.util.function.LongConsumer; + +/** + * Base class for arrow column sources + * + * @param + */ +public abstract class AbstractArrowColumnSource extends AbstractColumnSource { + + protected final int highBit; + protected final int bitCount; + protected final ArrowWrapperTools.ArrowTableContext arrowHelper; + protected final Field field; + + protected AbstractArrowColumnSource( + @NotNull final Class type, + final int highBit, + @NotNull final Field field, + @NotNull final ArrowWrapperTools.ArrowTableContext arrowHelper) { + super(type); + this.highBit = highBit; + Assert.eq(Integer.bitCount(highBit), "Integer.bitCount(highBit)", 1, "1"); + this.bitCount = Integer.numberOfTrailingZeros(highBit); + this.field = field; + this.arrowHelper = arrowHelper; + } + + @Override + public final ArrowWrapperTools.FillContext makeFillContext(final int chunkCapacity, + final SharedContext sharedContext) { + return new ArrowWrapperTools.FillContext(arrowHelper, sharedContext); + } + + protected final void fillChunk( + @NotNull final ArrowWrapperTools.FillContext context, + @NotNull final RowSequence rowSequence, + @NotNull final LongConsumer rowKeyConsumer) { + if (getBlockNo(rowSequence.firstRowKey()) == getBlockNo(rowSequence.lastRowKey())) { + context.ensureLoadingBlock(getBlockNo(rowSequence.firstRowKey())); + rowSequence.forAllRowKeys(rowKeyConsumer); + return; + } + try (RowSequence.Iterator okIt = rowSequence.getRowSequenceIterator()) { + while (okIt.hasMore()) { + long nextKey = okIt.peekNextKey(); + int blockNumber = getBlockNo(nextKey); + long lastKeyInBlock = nextKey | (highBit - 1); + context.ensureLoadingBlock(blockNumber); + okIt.getNextRowSequenceThrough(lastKeyInBlock).forAllRowKeys(rowKeyConsumer); + } + } + } + + protected final int getBlockNo(long rowKey) { + return LongSizedDataStructure.intSize("ArrowIntColumnSource#getInt", (rowKey >> bitCount)); + } + + protected final int getPositionInBlock(long rowKey) { + return LongSizedDataStructure.intSize("ArrowIntColumnSource#getInt", rowKey & (highBit - 1)); + } +} diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowBooleanColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowBooleanColumnSource.java new file mode 100644 index 00000000000..3bb2b29ea51 --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowBooleanColumnSource.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSources and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow.sources; + +import io.deephaven.chunk.WritableChunk; +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; +import io.deephaven.extensions.arrow.ArrowWrapperTools; +import org.apache.arrow.vector.BitVector; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +/** + * Arrow Vector: {@link BitVector} + * Deephaven Type: boolean + */ +public class ArrowBooleanColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForBoolean { + public ArrowBooleanColumnSource(final int highBit, final @NotNull Field field, + final ArrowWrapperTools. @NotNull ArrowTableContext arrowTableContext) { + super(boolean.class, highBit, field, arrowTableContext); + } + + @Override + public void fillChunk(final ChunkSource. @NotNull FillContext context, + final @NotNull WritableChunk destination, + final @NotNull RowSequence rowSequence) { + final WritableObjectChunk chunk = destination.asWritableObjectChunk(); + final ArrowWrapperTools.FillContext arrowContext = (ArrowWrapperTools.FillContext) context; + chunk.setSize(0); + fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field)))); + } + + @Override + public final Boolean get(final long rowKey) { + try (ArrowWrapperTools.FillContext fc = (ArrowWrapperTools.FillContext) makeFillContext(0)) { + fc.ensureLoadingBlock(getBlockNo(rowKey)); + return extract(getPositionInBlock(rowKey), fc.getVector(field)); + } + } + + private Boolean extract(final int posInBlock, final BitVector vector) { + return vector.getObject(posInBlock); + } +} diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowByteColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowByteColumnSource.java new file mode 100644 index 00000000000..756978bb51c --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowByteColumnSource.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSources and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow.sources; + +import io.deephaven.chunk.WritableByteChunk; +import io.deephaven.chunk.WritableChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; +import io.deephaven.extensions.arrow.ArrowWrapperTools; +import io.deephaven.util.QueryConstants; +import org.apache.arrow.vector.TinyIntVector; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +/** + * Arrow Vector: {@link TinyIntVector} + * Deephaven Type: byte + */ +public class ArrowByteColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForByte { + public ArrowByteColumnSource(final int highBit, final @NotNull Field field, + final ArrowWrapperTools. @NotNull ArrowTableContext arrowTableContext) { + super(byte.class, highBit, field, arrowTableContext); + } + + @Override + public void fillChunk(final ChunkSource. @NotNull FillContext context, + final @NotNull WritableChunk destination, + final @NotNull RowSequence rowSequence) { + final WritableByteChunk chunk = destination.asWritableByteChunk(); + final ArrowWrapperTools.FillContext arrowContext = (ArrowWrapperTools.FillContext) context; + chunk.setSize(0); + fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field)))); + } + + @Override + public final byte getByte(final long rowKey) { + try (ArrowWrapperTools.FillContext fc = (ArrowWrapperTools.FillContext) makeFillContext(0)) { + fc.ensureLoadingBlock(getBlockNo(rowKey)); + return extract(getPositionInBlock(rowKey), fc.getVector(field)); + } + } + + private byte extract(final int posInBlock, final TinyIntVector vector) { + return vector.isSet(posInBlock) == 0 ? QueryConstants.NULL_BYTE : vector.get(posInBlock); + } +} diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowCharColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowCharColumnSource.java new file mode 100644 index 00000000000..5b5335faef5 --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowCharColumnSource.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSources and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow.sources; + +import io.deephaven.chunk.WritableCharChunk; +import io.deephaven.chunk.WritableChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; +import io.deephaven.extensions.arrow.ArrowWrapperTools; +import io.deephaven.util.QueryConstants; +import org.apache.arrow.vector.UInt2Vector; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +/** + * Arrow Vector: {@link UInt2Vector} + * Deephaven Type: char + */ +public class ArrowCharColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForChar { + public ArrowCharColumnSource(final int highBit, final @NotNull Field field, + final ArrowWrapperTools. @NotNull ArrowTableContext arrowTableContext) { + super(char.class, highBit, field, arrowTableContext); + } + + @Override + public void fillChunk(final ChunkSource. @NotNull FillContext context, + final @NotNull WritableChunk destination, + final @NotNull RowSequence rowSequence) { + final WritableCharChunk chunk = destination.asWritableCharChunk(); + final ArrowWrapperTools.FillContext arrowContext = (ArrowWrapperTools.FillContext) context; + chunk.setSize(0); + fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field)))); + } + + @Override + public final char getChar(final long rowKey) { + try (ArrowWrapperTools.FillContext fc = (ArrowWrapperTools.FillContext) makeFillContext(0)) { + fc.ensureLoadingBlock(getBlockNo(rowKey)); + return extract(getPositionInBlock(rowKey), fc.getVector(field)); + } + } + + private char extract(final int posInBlock, final UInt2Vector vector) { + return vector.isSet(posInBlock) == 0 ? QueryConstants.NULL_CHAR : vector.get(posInBlock); + } +} diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowDateTimeColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowDateTimeColumnSource.java new file mode 100644 index 00000000000..021dae5b12b --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowDateTimeColumnSource.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSources and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow.sources; + +import io.deephaven.chunk.WritableChunk; +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; +import io.deephaven.extensions.arrow.ArrowWrapperTools; +import io.deephaven.time.DateTime; +import org.apache.arrow.vector.TimeStampVector; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +/** + * Arrow Vector: {@link TimeStampVector} + * Deephaven Type: io.deephaven.time.DateTime + */ +public class ArrowDateTimeColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForObject { + public ArrowDateTimeColumnSource(final int highBit, final @NotNull Field field, + final ArrowWrapperTools. @NotNull ArrowTableContext arrowTableContext) { + super(DateTime.class, highBit, field, arrowTableContext); + } + + @Override + public void fillChunk(final ChunkSource. @NotNull FillContext context, + final @NotNull WritableChunk destination, + final @NotNull RowSequence rowSequence) { + final WritableObjectChunk chunk = destination.asWritableObjectChunk(); + final ArrowWrapperTools.FillContext arrowContext = (ArrowWrapperTools.FillContext) context; + chunk.setSize(0); + fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field)))); + } + + @Override + public final DateTime get(final long rowKey) { + try (ArrowWrapperTools.FillContext fc = (ArrowWrapperTools.FillContext) makeFillContext(0)) { + fc.ensureLoadingBlock(getBlockNo(rowKey)); + return extract(getPositionInBlock(rowKey), fc.getVector(field)); + } + } + + private DateTime extract(final int posInBlock, final TimeStampVector vector) { + return vector.isSet(posInBlock) == 0 ? null : new DateTime(vector.get(posInBlock)); + } +} diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowDoubleColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowDoubleColumnSource.java new file mode 100644 index 00000000000..5acad1a4cd2 --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowDoubleColumnSource.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSources and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow.sources; + +import io.deephaven.chunk.WritableChunk; +import io.deephaven.chunk.WritableDoubleChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; +import io.deephaven.extensions.arrow.ArrowWrapperTools; +import io.deephaven.util.QueryConstants; +import org.apache.arrow.vector.Float8Vector; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +/** + * Arrow Vector: {@link Float8Vector} + * Deephaven Type: double + */ +public class ArrowDoubleColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForDouble { + public ArrowDoubleColumnSource(final int highBit, final @NotNull Field field, + final ArrowWrapperTools. @NotNull ArrowTableContext arrowTableContext) { + super(double.class, highBit, field, arrowTableContext); + } + + @Override + public void fillChunk(final ChunkSource. @NotNull FillContext context, + final @NotNull WritableChunk destination, + final @NotNull RowSequence rowSequence) { + final WritableDoubleChunk chunk = destination.asWritableDoubleChunk(); + final ArrowWrapperTools.FillContext arrowContext = (ArrowWrapperTools.FillContext) context; + chunk.setSize(0); + fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field)))); + } + + @Override + public final double getDouble(final long rowKey) { + try (ArrowWrapperTools.FillContext fc = (ArrowWrapperTools.FillContext) makeFillContext(0)) { + fc.ensureLoadingBlock(getBlockNo(rowKey)); + return extract(getPositionInBlock(rowKey), fc.getVector(field)); + } + } + + private double extract(final int posInBlock, final Float8Vector vector) { + return vector.isSet(posInBlock) == 0 ? QueryConstants.NULL_DOUBLE : vector.get(posInBlock); + } +} diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowFloatColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowFloatColumnSource.java new file mode 100644 index 00000000000..0e1752bd8b3 --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowFloatColumnSource.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSources and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow.sources; + +import io.deephaven.chunk.WritableChunk; +import io.deephaven.chunk.WritableFloatChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; +import io.deephaven.extensions.arrow.ArrowWrapperTools; +import io.deephaven.util.QueryConstants; +import org.apache.arrow.vector.Float4Vector; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +/** + * Arrow Vector: {@link Float4Vector} + * Deephaven Type: float + */ +public class ArrowFloatColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForFloat { + public ArrowFloatColumnSource(final int highBit, final @NotNull Field field, + final ArrowWrapperTools. @NotNull ArrowTableContext arrowTableContext) { + super(float.class, highBit, field, arrowTableContext); + } + + @Override + public void fillChunk(final ChunkSource. @NotNull FillContext context, + final @NotNull WritableChunk destination, + final @NotNull RowSequence rowSequence) { + final WritableFloatChunk chunk = destination.asWritableFloatChunk(); + final ArrowWrapperTools.FillContext arrowContext = (ArrowWrapperTools.FillContext) context; + chunk.setSize(0); + fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field)))); + } + + @Override + public final float getFloat(final long rowKey) { + try (ArrowWrapperTools.FillContext fc = (ArrowWrapperTools.FillContext) makeFillContext(0)) { + fc.ensureLoadingBlock(getBlockNo(rowKey)); + return extract(getPositionInBlock(rowKey), fc.getVector(field)); + } + } + + private float extract(final int posInBlock, final Float4Vector vector) { + return vector.isSet(posInBlock) == 0 ? QueryConstants.NULL_FLOAT : vector.get(posInBlock); + } +} diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowIntColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowIntColumnSource.java new file mode 100644 index 00000000000..855cc1238f0 --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowIntColumnSource.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSources and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow.sources; + +import io.deephaven.chunk.WritableChunk; +import io.deephaven.chunk.WritableIntChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; +import io.deephaven.extensions.arrow.ArrowWrapperTools; +import io.deephaven.util.QueryConstants; +import org.apache.arrow.vector.IntVector; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +/** + * Arrow Vector: {@link IntVector} + * Deephaven Type: int + */ +public class ArrowIntColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForInt { + public ArrowIntColumnSource(final int highBit, final @NotNull Field field, + final ArrowWrapperTools. @NotNull ArrowTableContext arrowTableContext) { + super(int.class, highBit, field, arrowTableContext); + } + + @Override + public void fillChunk(final ChunkSource. @NotNull FillContext context, + final @NotNull WritableChunk destination, + final @NotNull RowSequence rowSequence) { + final WritableIntChunk chunk = destination.asWritableIntChunk(); + final ArrowWrapperTools.FillContext arrowContext = (ArrowWrapperTools.FillContext) context; + chunk.setSize(0); + fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field)))); + } + + @Override + public final int getInt(final long rowKey) { + try (ArrowWrapperTools.FillContext fc = (ArrowWrapperTools.FillContext) makeFillContext(0)) { + fc.ensureLoadingBlock(getBlockNo(rowKey)); + return extract(getPositionInBlock(rowKey), fc.getVector(field)); + } + } + + private int extract(final int posInBlock, final IntVector vector) { + return vector.isSet(posInBlock) == 0 ? QueryConstants.NULL_INT : vector.get(posInBlock); + } +} diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowLocalTimeColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowLocalTimeColumnSource.java new file mode 100644 index 00000000000..0d0d558d3bc --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowLocalTimeColumnSource.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSources and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow.sources; + +import io.deephaven.chunk.WritableChunk; +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; +import io.deephaven.extensions.arrow.ArrowWrapperTools; +import java.time.LocalDateTime; +import java.time.LocalTime; +import org.apache.arrow.vector.TimeMilliVector; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +/** + * Arrow Vector: {@link TimeMilliVector} + * Deephaven Type: java.time.LocalTime + */ +public class ArrowLocalTimeColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForObject { + public ArrowLocalTimeColumnSource(final int highBit, final @NotNull Field field, + final ArrowWrapperTools. @NotNull ArrowTableContext arrowTableContext) { + super(LocalTime.class, highBit, field, arrowTableContext); + } + + @Override + public void fillChunk(final ChunkSource. @NotNull FillContext context, + final @NotNull WritableChunk destination, + final @NotNull RowSequence rowSequence) { + final WritableObjectChunk chunk = destination.asWritableObjectChunk(); + final ArrowWrapperTools.FillContext arrowContext = (ArrowWrapperTools.FillContext) context; + chunk.setSize(0); + fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field)))); + } + + @Override + public final LocalTime get(final long rowKey) { + try (ArrowWrapperTools.FillContext fc = (ArrowWrapperTools.FillContext) makeFillContext(0)) { + fc.ensureLoadingBlock(getBlockNo(rowKey)); + return extract(getPositionInBlock(rowKey), fc.getVector(field)); + } + } + + private LocalTime extract(final int posInBlock, final TimeMilliVector vector) { + LocalDateTime localDateTime = vector.getObject(posInBlock); + return localDateTime != null ? localDateTime.toLocalTime() : null; + } +} diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowLongColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowLongColumnSource.java new file mode 100644 index 00000000000..caa2e046f2a --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowLongColumnSource.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSources and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow.sources; + +import io.deephaven.chunk.WritableChunk; +import io.deephaven.chunk.WritableLongChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; +import io.deephaven.extensions.arrow.ArrowWrapperTools; +import io.deephaven.util.QueryConstants; +import org.apache.arrow.vector.BigIntVector; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +/** + * Arrow Vector: {@link BigIntVector} + * Deephaven Type: long + */ +public class ArrowLongColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForLong { + public ArrowLongColumnSource(final int highBit, final @NotNull Field field, + final ArrowWrapperTools. @NotNull ArrowTableContext arrowTableContext) { + super(long.class, highBit, field, arrowTableContext); + } + + @Override + public void fillChunk(final ChunkSource. @NotNull FillContext context, + final @NotNull WritableChunk destination, + final @NotNull RowSequence rowSequence) { + final WritableLongChunk chunk = destination.asWritableLongChunk(); + final ArrowWrapperTools.FillContext arrowContext = (ArrowWrapperTools.FillContext) context; + chunk.setSize(0); + fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field)))); + } + + @Override + public final long getLong(final long rowKey) { + try (ArrowWrapperTools.FillContext fc = (ArrowWrapperTools.FillContext) makeFillContext(0)) { + fc.ensureLoadingBlock(getBlockNo(rowKey)); + return extract(getPositionInBlock(rowKey), fc.getVector(field)); + } + } + + private long extract(final int posInBlock, final BigIntVector vector) { + return vector.isSet(posInBlock) == 0 ? QueryConstants.NULL_LONG : vector.get(posInBlock); + } +} diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowObjectColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowObjectColumnSource.java new file mode 100644 index 00000000000..62d63d805f1 --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowObjectColumnSource.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSources and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow.sources; + +import io.deephaven.chunk.WritableChunk; +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; +import io.deephaven.extensions.arrow.ArrowWrapperTools; +import org.apache.arrow.vector.ValueVector; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +/** + * Arrow Vector: {@link ValueVector} + * Deephaven Type: java.lang.Object + */ +public class ArrowObjectColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForObject { + public ArrowObjectColumnSource(final @NotNull Class type, final int highBit, + final @NotNull Field field, + final ArrowWrapperTools. @NotNull ArrowTableContext arrowTableContext) { + super(type, highBit, field, arrowTableContext); + } + + @Override + public void fillChunk(final ChunkSource. @NotNull FillContext context, + final @NotNull WritableChunk destination, + final @NotNull RowSequence rowSequence) { + final WritableObjectChunk chunk = destination.asWritableObjectChunk(); + final ArrowWrapperTools.FillContext arrowContext = (ArrowWrapperTools.FillContext) context; + chunk.setSize(0); + fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field)))); + } + + @Override + public final T get(final long rowKey) { + try (ArrowWrapperTools.FillContext fc = (ArrowWrapperTools.FillContext) makeFillContext(0)) { + fc.ensureLoadingBlock(getBlockNo(rowKey)); + return extract(getPositionInBlock(rowKey), fc.getVector(field)); + } + } + + private T extract(final int posInBlock, final ValueVector vector) { + return (T)vector.getObject(posInBlock); + } +} diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowShortColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowShortColumnSource.java new file mode 100644 index 00000000000..77781f2f258 --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowShortColumnSource.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSources and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow.sources; + +import io.deephaven.chunk.WritableChunk; +import io.deephaven.chunk.WritableShortChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; +import io.deephaven.extensions.arrow.ArrowWrapperTools; +import io.deephaven.util.QueryConstants; +import org.apache.arrow.vector.SmallIntVector; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +/** + * Arrow Vector: {@link SmallIntVector} + * Deephaven Type: short + */ +public class ArrowShortColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForShort { + public ArrowShortColumnSource(final int highBit, final @NotNull Field field, + final ArrowWrapperTools. @NotNull ArrowTableContext arrowTableContext) { + super(short.class, highBit, field, arrowTableContext); + } + + @Override + public void fillChunk(final ChunkSource. @NotNull FillContext context, + final @NotNull WritableChunk destination, + final @NotNull RowSequence rowSequence) { + final WritableShortChunk chunk = destination.asWritableShortChunk(); + final ArrowWrapperTools.FillContext arrowContext = (ArrowWrapperTools.FillContext) context; + chunk.setSize(0); + fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field)))); + } + + @Override + public final short getShort(final long rowKey) { + try (ArrowWrapperTools.FillContext fc = (ArrowWrapperTools.FillContext) makeFillContext(0)) { + fc.ensureLoadingBlock(getBlockNo(rowKey)); + return extract(getPositionInBlock(rowKey), fc.getVector(field)); + } + } + + private short extract(final int posInBlock, final SmallIntVector vector) { + return vector.isSet(posInBlock) == 0 ? QueryConstants.NULL_SHORT : vector.get(posInBlock); + } +} diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowStringColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowStringColumnSource.java new file mode 100644 index 00000000000..4f6d6776cc6 --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowStringColumnSource.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSources and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow.sources; + +import io.deephaven.chunk.WritableChunk; +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; +import io.deephaven.extensions.arrow.ArrowWrapperTools; +import org.apache.arrow.vector.VarCharVector; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +/** + * Arrow Vector: {@link VarCharVector} + * Deephaven Type: java.lang.String + */ +public class ArrowStringColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForObject { + public ArrowStringColumnSource(final int highBit, final @NotNull Field field, + final ArrowWrapperTools. @NotNull ArrowTableContext arrowTableContext) { + super(String.class, highBit, field, arrowTableContext); + } + + @Override + public void fillChunk(final ChunkSource. @NotNull FillContext context, + final @NotNull WritableChunk destination, + final @NotNull RowSequence rowSequence) { + final WritableObjectChunk chunk = destination.asWritableObjectChunk(); + final ArrowWrapperTools.FillContext arrowContext = (ArrowWrapperTools.FillContext) context; + chunk.setSize(0); + fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field)))); + } + + @Override + public final String get(final long rowKey) { + try (ArrowWrapperTools.FillContext fc = (ArrowWrapperTools.FillContext) makeFillContext(0)) { + fc.ensureLoadingBlock(getBlockNo(rowKey)); + return extract(getPositionInBlock(rowKey), fc.getVector(field)); + } + } + + private String extract(final int posInBlock, final VarCharVector vector) { + return vector.isSet(posInBlock) == 0 ? null : new String(vector.get(posInBlock)); + } +} diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowUInt1ColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowUInt1ColumnSource.java new file mode 100644 index 00000000000..0c5f1d565e5 --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowUInt1ColumnSource.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSources and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow.sources; + +import io.deephaven.chunk.WritableChunk; +import io.deephaven.chunk.WritableShortChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; +import io.deephaven.extensions.arrow.ArrowWrapperTools; +import io.deephaven.util.QueryConstants; +import org.apache.arrow.vector.UInt1Vector; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +/** + * Arrow Vector: {@link UInt1Vector} + * Deephaven Type: short + */ +public class ArrowUInt1ColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForShort { + public ArrowUInt1ColumnSource(final int highBit, final @NotNull Field field, + final ArrowWrapperTools. @NotNull ArrowTableContext arrowTableContext) { + super(short.class, highBit, field, arrowTableContext); + } + + @Override + public void fillChunk(final ChunkSource. @NotNull FillContext context, + final @NotNull WritableChunk destination, + final @NotNull RowSequence rowSequence) { + final WritableShortChunk chunk = destination.asWritableShortChunk(); + final ArrowWrapperTools.FillContext arrowContext = (ArrowWrapperTools.FillContext) context; + chunk.setSize(0); + fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field)))); + } + + @Override + public final short getShort(final long rowKey) { + try (ArrowWrapperTools.FillContext fc = (ArrowWrapperTools.FillContext) makeFillContext(0)) { + fc.ensureLoadingBlock(getBlockNo(rowKey)); + return extract(getPositionInBlock(rowKey), fc.getVector(field)); + } + } + + private short extract(final int posInBlock, final UInt1Vector vector) { + return vector.isSet(posInBlock) == 0 ? QueryConstants.NULL_SHORT : UInt1Vector.getNoOverflow(vector.getDataBuffer(), posInBlock); + } +} diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowUInt4ColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowUInt4ColumnSource.java new file mode 100644 index 00000000000..3d67aed5340 --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowUInt4ColumnSource.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSources and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow.sources; + +import io.deephaven.chunk.WritableChunk; +import io.deephaven.chunk.WritableLongChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; +import io.deephaven.extensions.arrow.ArrowWrapperTools; +import io.deephaven.util.QueryConstants; +import org.apache.arrow.vector.UInt4Vector; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +/** + * Arrow Vector: {@link UInt4Vector} + * Deephaven Type: long + */ +public class ArrowUInt4ColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForLong { + public ArrowUInt4ColumnSource(final int highBit, final @NotNull Field field, + final ArrowWrapperTools. @NotNull ArrowTableContext arrowTableContext) { + super(long.class, highBit, field, arrowTableContext); + } + + @Override + public void fillChunk(final ChunkSource. @NotNull FillContext context, + final @NotNull WritableChunk destination, + final @NotNull RowSequence rowSequence) { + final WritableLongChunk chunk = destination.asWritableLongChunk(); + final ArrowWrapperTools.FillContext arrowContext = (ArrowWrapperTools.FillContext) context; + chunk.setSize(0); + fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field)))); + } + + @Override + public final long getLong(final long rowKey) { + try (ArrowWrapperTools.FillContext fc = (ArrowWrapperTools.FillContext) makeFillContext(0)) { + fc.ensureLoadingBlock(getBlockNo(rowKey)); + return extract(getPositionInBlock(rowKey), fc.getVector(field)); + } + } + + private long extract(final int posInBlock, final UInt4Vector vector) { + return vector.isSet(posInBlock) == 0 ? QueryConstants.NULL_LONG : UInt4Vector.getNoOverflow(vector.getDataBuffer(), posInBlock); + } +} diff --git a/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowUInt8ColumnSource.java b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowUInt8ColumnSource.java new file mode 100644 index 00000000000..48308e4f10d --- /dev/null +++ b/extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/ArrowUInt8ColumnSource.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSources and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow.sources; + +import io.deephaven.chunk.WritableChunk; +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.impl.ImmutableColumnSourceGetDefaults; +import io.deephaven.extensions.arrow.ArrowWrapperTools; +import java.math.BigInteger; +import org.apache.arrow.vector.UInt8Vector; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +/** + * Arrow Vector: {@link UInt8Vector} + * Deephaven Type: java.math.BigInteger + */ +public class ArrowUInt8ColumnSource extends AbstractArrowColumnSource implements ImmutableColumnSourceGetDefaults.ForObject { + public ArrowUInt8ColumnSource(final int highBit, final @NotNull Field field, + final ArrowWrapperTools. @NotNull ArrowTableContext arrowTableContext) { + super(BigInteger.class, highBit, field, arrowTableContext); + } + + @Override + public void fillChunk(final ChunkSource. @NotNull FillContext context, + final @NotNull WritableChunk destination, + final @NotNull RowSequence rowSequence) { + final WritableObjectChunk chunk = destination.asWritableObjectChunk(); + final ArrowWrapperTools.FillContext arrowContext = (ArrowWrapperTools.FillContext) context; + chunk.setSize(0); + fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field)))); + } + + @Override + public final BigInteger get(final long rowKey) { + try (ArrowWrapperTools.FillContext fc = (ArrowWrapperTools.FillContext) makeFillContext(0)) { + fc.ensureLoadingBlock(getBlockNo(rowKey)); + return extract(getPositionInBlock(rowKey), fc.getVector(field)); + } + } + + private BigInteger extract(final int posInBlock, final UInt8Vector vector) { + return vector.isSet(posInBlock) == 0 ? null : UInt8Vector.getNoOverflow(vector.getDataBuffer(), posInBlock); + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowBigIntVectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowBigIntVectorTest.java new file mode 100644 index 00000000000..37b85ecad56 --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowBigIntVectorTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableLongChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import io.deephaven.util.QueryConstants; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowBigIntVectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final long[] expectedValues = new long[] {948377488L, 2136L, QueryConstants.NULL_LONG, 999L, -1327L, 9821L}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowBigIntVectorTest.class.getResource("/big_int_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.getLong(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableLongChunk chunk = WritableLongChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowBitVectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowBitVectorTest.java new file mode 100644 index 00000000000..a7e0d003df5 --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowBitVectorTest.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowBitVectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final Boolean[] expectedValues = new Boolean[] {true, false, null, true, false, true}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowBitVectorTest.class.getResource("/bit_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.getBoolean(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableObjectChunk chunk = WritableObjectChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowDateMilliVectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowDateMilliVectorTest.java new file mode 100644 index 00000000000..e2156e1f3cd --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowDateMilliVectorTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import java.io.File; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowDateMilliVectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final LocalDateTime[] expectedValues = new LocalDateTime[] {java.time.LocalDateTime.of(2022, 11, 30, 23, 0, 0), java.time.LocalDateTime.of(2000, 1, 16, 23, 0, 0), null, java.time.LocalDateTime.of(2022, 1, 31, 22, 8, 2), java.time.LocalDateTime.of(1920, 1, 31, 23, 8, 2), java.time.LocalDateTime.of(1900, 1, 31, 23, 22, 46)}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowDateMilliVectorTest.class.getResource("/date_milli_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.get(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableObjectChunk chunk = WritableObjectChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowDecimal256VectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowDecimal256VectorTest.java new file mode 100644 index 00000000000..7d788c2e0aa --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowDecimal256VectorTest.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import java.io.File; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowDecimal256VectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final BigDecimal[] expectedValues = new BigDecimal[] {new java.math.BigDecimal("1000878769709809808089098089088.533", java.math.MathContext.DECIMAL64) + , new java.math.BigDecimal("1021321435356657878768767886762.533", java.math.MathContext.DECIMAL64) + , null, new java.math.BigDecimal("1021321435311117878768767886762.112", java.math.MathContext.DECIMAL64) + , new java.math.BigDecimal("7032447742342342342342342342344.145", java.math.MathContext.DECIMAL64) + , new java.math.BigDecimal("6712398032923494320982348023490.555", java.math.MathContext.DECIMAL64) + }; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowDecimal256VectorTest.class.getResource("/decimal256_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.get(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableObjectChunk chunk = WritableObjectChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowDecimalVectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowDecimalVectorTest.java new file mode 100644 index 00000000000..b91a94367ad --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowDecimalVectorTest.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import java.io.File; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowDecimalVectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final BigDecimal[] expectedValues = new BigDecimal[] {new java.math.BigDecimal("1000878769709809808089098089088.533", java.math.MathContext.DECIMAL64) + , new java.math.BigDecimal("1021321435356657878768767886762.533", java.math.MathContext.DECIMAL64) + , null, new java.math.BigDecimal("1021321435311117878768767886762.112", java.math.MathContext.DECIMAL64) + , new java.math.BigDecimal("7032447742342342342342342342344.145", java.math.MathContext.DECIMAL64) + , new java.math.BigDecimal("6712398032923494320982348023490.555", java.math.MathContext.DECIMAL64) + }; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowDecimalVectorTest.class.getResource("/decimal_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.get(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableObjectChunk chunk = WritableObjectChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowFixedSizeBinaryVectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowFixedSizeBinaryVectorTest.java new file mode 100644 index 00000000000..4d9cf80ee44 --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowFixedSizeBinaryVectorTest.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowFixedSizeBinaryVectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final byte[][] expectedValues = new byte[][] {"hi".getBytes(), "it".getBytes(), null, "is".getBytes(), "me".getBytes(), "!!".getBytes()}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowFixedSizeBinaryVectorTest.class.getResource("/fixed_size_binary_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertArrayEquals(expectedValues[pos.getAndIncrement()], cs.get(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableObjectChunk chunk = WritableObjectChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertArrayEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowFloat4VectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowFloat4VectorTest.java new file mode 100644 index 00000000000..355b0d04896 --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowFloat4VectorTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableFloatChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import io.deephaven.util.QueryConstants; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowFloat4VectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final float[] expectedValues = new float[] {78.786F, 2.9F, QueryConstants.NULL_FLOAT, 13.2F, 0F, 21.01F}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowFloat4VectorTest.class.getResource("/float4_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.getFloat(rowKey), 1e-5)); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableFloatChunk chunk = WritableFloatChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii), 1e-5); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowFloat8VectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowFloat8VectorTest.java new file mode 100644 index 00000000000..27cb21a0d70 --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowFloat8VectorTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableDoubleChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import io.deephaven.util.QueryConstants; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowFloat8VectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final double[] expectedValues = new double[] {-78.786D, 2.9D, QueryConstants.NULL_DOUBLE, 13.2D, 0D, -621.01D}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowFloat8VectorTest.class.getResource("/float8_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.getDouble(rowKey), 1e-5)); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableDoubleChunk chunk = WritableDoubleChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii), 1e-5); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowIntVectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowIntVectorTest.java new file mode 100644 index 00000000000..368d0e32e59 --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowIntVectorTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableIntChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import io.deephaven.util.QueryConstants; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowIntVectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final int[] expectedValues = new int[] {76428765, 9480636, QueryConstants.NULL_INT, 164366688, -1575247918, -23126}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowIntVectorTest.class.getResource("/int_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.getInt(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableIntChunk chunk = WritableIntChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowSmallIntVectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowSmallIntVectorTest.java new file mode 100644 index 00000000000..79d8260369c --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowSmallIntVectorTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableShortChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import io.deephaven.util.QueryConstants; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowSmallIntVectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final short[] expectedValues = new short[] {-7812, 1, QueryConstants.NULL_SHORT, 13621, 0, 9752}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowSmallIntVectorTest.class.getResource("/small_int_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.getShort(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableShortChunk chunk = WritableShortChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowTimeMilliVectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowTimeMilliVectorTest.java new file mode 100644 index 00000000000..e37170624d4 --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowTimeMilliVectorTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import java.io.File; +import java.time.LocalTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowTimeMilliVectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final LocalTime[] expectedValues = new LocalTime[] {java.time.LocalTime.of(0, 0, 0, 864000000), java.time.LocalTime.of(0, 0, 0, 908000000), null, java.time.LocalTime.of(0, 0, 0, 0), java.time.LocalTime.of(0, 14, 34, 300000000), java.time.LocalTime.of(21, 59, 29, 26000000)}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowTimeMilliVectorTest.class.getResource("/time_milli_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.get(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableObjectChunk chunk = WritableObjectChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowTimestampVectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowTimestampVectorTest.java new file mode 100644 index 00000000000..6895770cf80 --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowTimestampVectorTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import io.deephaven.time.DateTime; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowTimestampVectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final DateTime[] expectedValues = new DateTime[] {new DateTime(1670443801), new DateTime(1570443532), null, new DateTime(0), new DateTime(170443801), new DateTime(-72309740)}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowTimestampVectorTest.class.getResource("/timestamp_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.get(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableObjectChunk chunk = WritableObjectChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowTinyVectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowTinyVectorTest.java new file mode 100644 index 00000000000..4466cadff43 --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowTinyVectorTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableByteChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import io.deephaven.util.QueryConstants; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowTinyVectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final byte[] expectedValues = new byte[] {1, 37, QueryConstants.NULL_BYTE, -1, 127, -126}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowTinyVectorTest.class.getResource("/tiny_int_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.getByte(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableByteChunk chunk = WritableByteChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowUint1VectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowUint1VectorTest.java new file mode 100644 index 00000000000..e0b9b10969d --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowUint1VectorTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableShortChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import io.deephaven.util.QueryConstants; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowUint1VectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final short[] expectedValues = new short[] {1, 21, QueryConstants.NULL_SHORT, 32, 0, 96}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowUint1VectorTest.class.getResource("/uint1_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.getShort(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableShortChunk chunk = WritableShortChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowUint2VectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowUint2VectorTest.java new file mode 100644 index 00000000000..784c5db6972 --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowUint2VectorTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableCharChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import io.deephaven.util.QueryConstants; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowUint2VectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final char[] expectedValues = new char[] {'a', 'b', QueryConstants.NULL_CHAR, 'c', 'd', 'e'}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowUint2VectorTest.class.getResource("/uint2_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.getChar(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableCharChunk chunk = WritableCharChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowUint4VectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowUint4VectorTest.java new file mode 100644 index 00000000000..a6618dd25d2 --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowUint4VectorTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableLongChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import io.deephaven.util.QueryConstants; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowUint4VectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final long[] expectedValues = new long[] {453L, 192L, QueryConstants.NULL_LONG, 0L, 213L, 96L}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowUint4VectorTest.class.getResource("/uint4_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.getLong(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableLongChunk chunk = WritableLongChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowUint8VectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowUint8VectorTest.java new file mode 100644 index 00000000000..bf23d3cd9eb --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowUint8VectorTest.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import java.io.File; +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowUint8VectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final BigInteger[] expectedValues = new BigInteger[] {java.math.BigInteger.valueOf(4533434535435L), java.math.BigInteger.valueOf(192547560007L), null, java.math.BigInteger.valueOf(0), java.math.BigInteger.valueOf(213), java.math.BigInteger.valueOf(1)}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowUint8VectorTest.class.getResource("/uint8_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.get(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableObjectChunk chunk = WritableObjectChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowVarBinaryVectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowVarBinaryVectorTest.java new file mode 100644 index 00000000000..71a5ddddf51 --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowVarBinaryVectorTest.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowVarBinaryVectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final byte[][] expectedValues = new byte[][] {"hi".getBytes(), "how are you?".getBytes(), null, "I'm fine".getBytes(), "It is great".getBytes(), "See you soon".getBytes()}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowVarBinaryVectorTest.class.getResource("/var_binary_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertArrayEquals(expectedValues[pos.getAndIncrement()], cs.get(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableObjectChunk chunk = WritableObjectChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertArrayEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowVarCharVectorTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowVarCharVectorTest.java new file mode 100644 index 00000000000..95a51dae272 --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowVarCharVectorTest.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending + */ +/* + * --------------------------------------------------------------------------------------------------------------------- + * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit GenerateArrowColumnSourceTests and regenerate + * --------------------------------------------------------------------------------------------------------------------- + */ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.apache.commons.lang3.mutable.MutableInt; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +public class ArrowVarCharVectorTest { + private static final List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + private static final String[] expectedValues = new String[] {"my", "vector", null, "it", "is", "success"}; + + @Rule + public final EngineCleanup framework = new EngineCleanup(); + + private static QueryTable loadTable() { + //noinspection ConstantConditions; + final File dataFile = new File(ArrowVarCharVectorTest.class.getResource("/var_char_vector.arrow").getFile()); + return ArrowWrapperTools.readFeather(dataFile.getPath()); + } + + @Test + public void testReadArrowFile() { + final QueryTable table = loadTable(); + Assert.assertEquals(expectedValues.length, table.intSize()); + + // check that the expected rows are present; + final List actualRows = new ArrayList<>(); + table.getRowSet().forAllRowKeys(actualRows::add); + Assert.assertEquals(expectedRows, actualRows); + + Assert.assertEquals(1, table.getColumnSources().size()); + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + final MutableInt pos = new MutableInt(); + table.getRowSet().forAllRowKeys(rowKey -> Assert.assertEquals(expectedValues[pos.getAndIncrement()], cs.get(rowKey))); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + + @Test + public void testFillChunk() { + final QueryTable table = loadTable(); + + // noinspection OptionalGetWithoutIsPresent, unchecked; + final ColumnSource cs = (ColumnSource)table.getColumnSources().stream().findFirst().get(); + + try (final ChunkSource.FillContext fillContext = cs.makeFillContext(table.intSize()); + final WritableObjectChunk chunk = WritableObjectChunk.makeWritableChunk(table.intSize())) { + + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + cs.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + } + } + } +} diff --git a/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowWrapperToolsTest.java b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowWrapperToolsTest.java new file mode 100644 index 00000000000..a28fd4725b7 --- /dev/null +++ b/extensions/arrow/src/test/java/io/deephaven/extensions/arrow/ArrowWrapperToolsTest.java @@ -0,0 +1,369 @@ +package io.deephaven.extensions.arrow; + +import io.deephaven.chunk.WritableChunk; +import io.deephaven.chunk.WritableDoubleChunk; +import io.deephaven.chunk.WritableIntChunk; +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.attributes.Values; +import io.deephaven.engine.rowset.RowSequence; +import io.deephaven.engine.rowset.RowSet; +import io.deephaven.engine.rowset.RowSetBuilderSequential; +import io.deephaven.engine.rowset.RowSetFactory; +import io.deephaven.engine.table.ChunkSource; +import io.deephaven.engine.table.ColumnSource; +import io.deephaven.engine.table.SharedContext; +import io.deephaven.engine.table.Table; +import io.deephaven.engine.table.impl.QueryTable; +import io.deephaven.engine.table.impl.remote.ConstructSnapshot; +import io.deephaven.engine.table.impl.remote.InitialSnapshotTable; +import io.deephaven.engine.testutil.junit4.EngineCleanup; +import io.deephaven.engine.util.TableTools; +import io.deephaven.util.QueryConstants; +import io.deephaven.util.SafeCloseableArray; +import org.apache.arrow.memory.BufferAllocator; +import org.apache.arrow.memory.RootAllocator; +import org.apache.arrow.vector.Float8Vector; +import org.apache.arrow.vector.IntVector; +import org.apache.arrow.vector.VarCharVector; +import org.apache.arrow.vector.VectorSchemaRoot; +import org.apache.arrow.vector.ipc.ArrowFileWriter; +import org.apache.arrow.vector.types.FloatingPointPrecision; +import org.apache.arrow.vector.types.pojo.ArrowType; +import org.apache.arrow.vector.types.pojo.Field; +import org.apache.arrow.vector.types.pojo.FieldType; +import org.apache.arrow.vector.types.pojo.Schema; +import org.junit.Assert; +import org.junit.Rule; +import org.junit.Test; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.concurrent.BrokenBarrierException; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.CyclicBarrier; + +import static io.deephaven.engine.testutil.TstUtils.assertTableEquals; +import static java.util.Arrays.asList; + +public class ArrowWrapperToolsTest { + + @Rule + final public EngineCleanup framework = new EngineCleanup(); + + @Test + public void testReadMultiArrowFile() { + // noinspection ConstantConditions + File file = new File(this.getClass().getResource("/three_vectors.arrow").getFile()); + String path = file.getPath(); + Table table = ArrowWrapperTools.readFeather(path); + Collection> columnSources = table.getColumnSources(); + List> list = new ArrayList<>(columnSources); + + final RowSetBuilderSequential builder = RowSetFactory.builderSequential(); + builder.appendRange(0, 2); + builder.appendRange(4, 4); + builder.appendRange(8, 9); + try (final RowSet expectedRowSet = builder.build()) { + Assert.assertEquals(expectedRowSet, table.getRowSet()); + } + + final ColumnSource column0 = table.getColumnSource("name"); + try (final ChunkSource.FillContext fillContext = column0.makeFillContext(table.intSize()); + final WritableObjectChunk chunk = + WritableObjectChunk.makeWritableChunk(table.intSize())) { + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + column0.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + final String[] expectedValues = new String[] { + "hi", + "that some one is you", + null, + "I'm fine", + "It is great", + "See you soon" + }; + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + Assert.assertEquals(expectedValues[ii], column0.get(table.getRowSet().get(ii))); + } + } + + final ColumnSource column1 = table.getColumnSource("salary"); + try (final ChunkSource.FillContext fillContext = column1.makeFillContext(table.intSize()); + final WritableDoubleChunk chunk = WritableDoubleChunk.makeWritableChunk(table.intSize())) { + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + column1.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + final double[] expectedValues = new double[] { + 8.98, + 0, + QueryConstants.NULL_DOUBLE, + 0.94, + 7434.744, + -385.943, + }; + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii), 1e-5); + Assert.assertEquals(expectedValues[ii], column1.getDouble(table.getRowSet().get(ii)), 1e-5); + } + } + + // noinspection unchecked + final ColumnSource column2 = table.getColumnSource("age"); + try (final ChunkSource.FillContext fillContext = column2.makeFillContext(table.intSize()); + WritableIntChunk chunk = WritableIntChunk.makeWritableChunk(table.intSize())) { + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + column2.fillChunk(fillContext, chunk, table.getRowSet()); + Assert.assertEquals(3, ArrowWrapperTools.Shareable.numBlocksLoaded()); + + final int[] expectedValues = new int[] { + 465, + 5, + QueryConstants.NULL_INT, + 0, + 1922, + -63, + }; + + for (int ii = 0; ii < expectedValues.length; ++ii) { + Assert.assertEquals(expectedValues[ii], chunk.get(ii)); + Assert.assertEquals(expectedValues[ii], column2.getInt(table.getRowSet().get(ii))); + } + } + } + + @Test + public void testHandleLargeMultiVectorFile() { + File file = new File("file.arrow"); + try { + final int totalAmount = 10000; + final int stepSize = 1024; + final Table expected = generateMultiVectorFile(file.getPath(), totalAmount / 2, totalAmount); + final Table table = ArrowWrapperTools.readFeather(file.getPath()); + List> columnSources = new ArrayList<>(table.getColumnSources()); + + final ChunkSource.FillContext[] fcs = new ChunkSource.FillContext[columnSources.size()]; + // noinspection unchecked + final WritableChunk[] writableChunks = (WritableChunk[]) columnSources.stream() + .map(cs -> cs.getChunkType().makeWritableChunk(stepSize)).toArray(WritableChunk[]::new); + + try (SafeCloseableArray ignored1 = new SafeCloseableArray<>(fcs); + SafeCloseableArray> ignored2 = new SafeCloseableArray<>(writableChunks); + SharedContext sharedContext = SharedContext.makeSharedContext(); + RowSequence.Iterator iterator = table.getRowSet().getRowSequenceIterator()) { + for (int ii = 0; ii < fcs.length; ++ii) { + fcs[ii] = columnSources.get(ii).makeFillContext(stepSize, sharedContext); + } + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + + int i = 0; + while (iterator.hasMore()) { + RowSequence nextOrderedKeysWithLength = iterator.getNextRowSequenceWithLength(stepSize); + for (int ii = 0; ii < fcs.length; ii++) { + columnSources.get(ii).fillChunk(fcs[ii], writableChunks[ii], nextOrderedKeysWithLength); + } + for (int ii = 0; ii < writableChunks[0].size(); ii++) { + for (WritableChunk writableChunk : writableChunks) { + if (writableChunk instanceof WritableObjectChunk) { + Assert.assertEquals(Integer.toString(i + ii), + writableChunk.asWritableObjectChunk().get(ii)); + } else if (writableChunk instanceof WritableIntChunk) { + Assert.assertEquals(i + ii, writableChunk.asWritableIntChunk().get(ii)); + } else { + Assert.assertEquals((i + ii) / 10.0, writableChunk.asWritableDoubleChunk().get(ii), + (i + ii) / 1000.0); + } + } + } + i += stepSize; + } + Assert.assertEquals(6, ArrowWrapperTools.Shareable.numBlocksLoaded()); + assertTableEquals(expected, table); + } + } finally { + // noinspection ResultOfMethodCallIgnored + file.delete(); + } + } + + @Test + public void testHandleLargeMultiVectorFile_InterleaveWithGet() { + File file = new File("file.arrow"); + try { + final int totalAmount = 10000; + final int stepSize = 1024; + generateMultiVectorFile(file.getPath(), totalAmount / 2, totalAmount); + Table table = ArrowWrapperTools.readFeather(file.getPath()); + List> columnSources = new ArrayList<>(table.getColumnSources()); + + final ChunkSource.FillContext[] fcs = new ChunkSource.FillContext[columnSources.size()]; + // noinspection unchecked + final WritableChunk[] writableChunks = (WritableChunk[]) columnSources.stream() + .map(cs -> cs.getChunkType().makeWritableChunk(stepSize)).toArray(WritableChunk[]::new); + + try (SafeCloseableArray ignored1 = new SafeCloseableArray<>(fcs); + SafeCloseableArray> ignored2 = new SafeCloseableArray<>(writableChunks); + SharedContext sharedContext = SharedContext.makeSharedContext(); + RowSequence.Iterator iterator = table.getRowSet().getRowSequenceIterator()) { + for (int ii = 0; ii < fcs.length; ++ii) { + fcs[ii] = columnSources.get(ii).makeFillContext(stepSize, sharedContext); + } + ArrowWrapperTools.Shareable.resetNumBlocksLoaded(); + + int i = 0; + while (iterator.hasMore()) { + if (i < 4096) { + for (int ii = 0; ii < fcs.length; ii++) { + // no block switch + columnSources.get(ii).get(1024); + } + } + + if (i > 5120) { + for (int ii = 0; ii < fcs.length; ii++) { + // no block switch + columnSources.get(ii).get(9000); + } + } + + if (i == 5120) { + for (int ii = 0; ii < fcs.length; ii++) { + // block switch + columnSources.get(ii).get(0); + } + } + + if (i == 1024) { + for (int ii = 0; ii < fcs.length; ii++) { + // block switch + columnSources.get(ii).get(9000); + } + } + + RowSequence rowSeqStep = iterator.getNextRowSequenceWithLength(stepSize); + for (int ii = 0; ii < fcs.length; ii++) { + columnSources.get(ii).fillChunk(fcs[ii], writableChunks[ii], rowSeqStep); + } + for (int ii = 0; ii < writableChunks[0].size(); ii++) { + for (WritableChunk writableChunk : writableChunks) { + if (writableChunk instanceof WritableObjectChunk) { + Assert.assertEquals(Integer.toString(i + ii), + writableChunk.asWritableObjectChunk().get(ii)); + } else if (writableChunk instanceof WritableIntChunk) { + Assert.assertEquals(i + ii, writableChunk.asWritableIntChunk().get(ii)); + } else { + Assert.assertEquals((i + ii) / 10.0, writableChunk.asWritableDoubleChunk().get(ii), + (i + ii) / 1000.0); + } + } + } + i += stepSize; + } + Assert.assertEquals(10, ArrowWrapperTools.Shareable.numBlocksLoaded()); + } + } finally { + // noinspection ResultOfMethodCallIgnored + file.delete(); + } + } + + @Test + public void testConcurrentSnapshots() { + File file = new File("file.arrow"); + try { + final int totalAmount = 10000; + final Table expected = generateMultiVectorFile(file.getPath(), totalAmount / 2, totalAmount); + final QueryTable readback = ArrowWrapperTools.readFeather(file.getPath()); + + final Thread[] threads = new Thread[10]; + final Table[] results = new Table[10]; + + // Lets simulate 10 threads trying to snapshot the table at the same time. + // Each thread will start up and wait for the barrier, then they will all attempt + // a snapshot at the same time and poke the countdown latch to release the test thread + // Then we'll validate all the results and life will be great + final CyclicBarrier barrier = new CyclicBarrier(10); + final CountDownLatch latch = new CountDownLatch(10); + for (int ii = 0; ii < 10; ii++) { + final int threadNo = ii; + threads[ii] = new Thread(() -> { + try { + barrier.await(); + results[threadNo] = + InitialSnapshotTable.setupInitialSnapshotTable(expected, + ConstructSnapshot.constructInitialSnapshot(new Object(), readback)); + } catch (InterruptedException | BrokenBarrierException e) { + throw new RuntimeException(e); + } finally { + latch.countDown(); + } + }); + threads[ii].start(); + } + + latch.await(); + for (int ii = 0; ii < 10; ii++) { + assertTableEquals(expected, results[ii]); + } + readback.close(); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } finally { + file.delete(); + } + } + + @SuppressWarnings("SameParameterValue") + private Table generateMultiVectorFile(final String path, final int batchSize, final int totalAmount) { + try (BufferAllocator allocator = new RootAllocator()) { + Field strs = new Field("strs", FieldType.nullable(new ArrowType.Utf8()), null); + Field ints = new Field("ints", FieldType.nullable(new ArrowType.Int(32, true)), null); + Field doubles = new Field("doubles", + FieldType.nullable(new ArrowType.FloatingPoint(FloatingPointPrecision.DOUBLE)), null); + Schema schemaPerson = new Schema(asList(strs, ints, doubles)); + try ( + VectorSchemaRoot vectorSchemaRoot = VectorSchemaRoot.create(schemaPerson, allocator)) { + VarCharVector strVector = (VarCharVector) vectorSchemaRoot.getVector("strs"); + IntVector intVector = (IntVector) vectorSchemaRoot.getVector("ints"); + Float8Vector float8Vector = (Float8Vector) vectorSchemaRoot.getVector("doubles"); + + File file = new File(path); + try ( + FileOutputStream fileOutputStream = new FileOutputStream(file); + ArrowFileWriter writer = + new ArrowFileWriter(vectorSchemaRoot, null, fileOutputStream.getChannel())) { + writer.start(); + int counter = 0; + while (counter < totalAmount) { + strVector.allocateNew(batchSize); + intVector.allocateNew(batchSize); + float8Vector.allocateNew(batchSize); + for (int i = 0; i < batchSize; i++) { + intVector.set(i, counter); + strVector.set(i, Integer.toString(counter).getBytes()); + float8Vector.set(i, counter / 10.0); + vectorSchemaRoot.setRowCount(batchSize); + counter++; + } + writer.writeBatch(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + + // now generate a comparison table + return TableTools.emptyTable(totalAmount) + .update("strs=Long.toString(ii)", + "ints=(int)ii", + "doubles=ii/10.0d"); + } + } +} diff --git a/extensions/arrow/src/test/resources/big_int_vector.arrow b/extensions/arrow/src/test/resources/big_int_vector.arrow new file mode 100644 index 0000000000000000000000000000000000000000..488df9371d43f8e16386102bdaf94206fde3c6be GIT binary patch literal 930 zcmcgryH3ME5F95VIavmw5C{c@D|$Lg@&!m~aFdQ8A@LuiOvxwkJA4H#C89Ai-d*`b z;dHFDp1sXJX74tu_4@wd252d708Xhui4#n5j6_Q^F@I5_;wkYge{vBWmToNM_W?enHiaUOes87$^mq(&R{B}gukyN-K$8++Ubbad1tB-RX zm*k&^AGdOIpucr3ts)a#wCvxzqrqjA2Dm&&9%Jt?n32PeElgcy{dLg rcPDJ9+7s1yr%Lt)s2v+86#n4z{m0+W?TOs<*yI1)`7gF#b^py@rJpvE literal 0 HcmV?d00001 diff --git a/extensions/arrow/src/test/resources/bit_vector.arrow b/extensions/arrow/src/test/resources/bit_vector.arrow new file mode 100644 index 0000000000000000000000000000000000000000..d70f3e78ef0cf7391040997a736d921496a4742a GIT binary patch literal 882 zcmcgrNeaS15UiLOLWm+7#cz1aH7^iy(Fdp~_z;gCeVR}37h08>mLZUX5Ns%_yXmDe zGpU*B? zg!2*xW8!o3Iq@C+@YJ%4m=iFO-wW+TnVwHFsnM0OdnZ7}0vH8|# z`EERvKAW$-zvv75OmoOX=?gW5zU}Wjzpz%i?EEY*eah<|3%-t&o^DTXMt3US6K6ub f4?=c#%ZfFz_k` literal 0 HcmV?d00001 diff --git a/extensions/arrow/src/test/resources/date_milli_vector.arrow b/extensions/arrow/src/test/resources/date_milli_vector.arrow new file mode 100644 index 0000000000000000000000000000000000000000..10861634df08feec057fea56587caad7a6d25c78 GIT binary patch literal 906 zcmchWu}%U(5QgXEB$vxc3<9y_2~6xv3;K>EcpHnObCO|ZXaCv#c5fMuM%Uw05eK^$kwdshDlKWsfh5RivDTwhGK><8 zSx>wpNCZD-B5lNu93h&vjcUicYLbX!vl#2e80^F6%h~M|(RfUkNe@h2aKz=heQ4A? zTO-B3*)JRW&fpENV%Q6E^3r$)nsRB*IqNf>jW;iE?^_f%>*DoO<>l`#UcFaJ>v?TI zD(iTSn>zM{eO6=q7@R!cVR9E=b^dz3kSWYqqZ)T?v*#xnfhJI}G-u>24H E05?@XH~;_u literal 0 HcmV?d00001 diff --git a/extensions/arrow/src/test/resources/decimal256_vector.arrow b/extensions/arrow/src/test/resources/decimal256_vector.arrow new file mode 100644 index 0000000000000000000000000000000000000000..1daeff958295e06bd56e29f97dfbd12ce9457495 GIT binary patch literal 1090 zcmc&!Jxc>Y5PfH2JdQI+j312l_*ap2#&n-$|A==8MEeY$Vd0iEIAs%6wClAigMyEbhILFjgPn2Sn zSXY=|&CVM-H&>6jk`PZ(TX{R=N*)Ky1-kkWsW(wSTiv2P%d#5&ZSvFl2@l2 zC(jR)zxRJHmw;Hmfec)yn0KNa;QpJp`WG}inCYvwh3l1F6Ct{o&(90X&fcfnn`yROYi|^zU`2y{I{l{B;BaC+T@Av|OTSrm= literal 0 HcmV?d00001 diff --git a/extensions/arrow/src/test/resources/decimal_vector.arrow b/extensions/arrow/src/test/resources/decimal_vector.arrow new file mode 100644 index 0000000000000000000000000000000000000000..90ae0fa82f30f80e6ba368bcaec282cbedd0b6e1 GIT binary patch literal 978 zcmcgrJxc>Y5PfH2JdQI+Of-c;u(H%Houp171SCP*Bp{@)@JFN)8^O}jU*d1D)=~rw zHe#Xg?e1`!=F&MZHy`(Q_U-I!Z!kC=9s|FWdjMNhAVVEBY$By6srr19A!n2_Rz3|% zgM`|ag9dFA+q8ylFxw2eCkQr@j!cl0NYzxmPx26lb?WqTG8+es_|567jwHtpIkw2F z>h|gSG{1psB_j`CS6sDDmht~?1-wlQq4!I7bt+BSb|e1f+HnR8YR#Hyl;00S&`rr zG1A-l*_oZ^o%M3Hy1l!SzASH&P7SHku^JtzwT09A@Oauh!Hfz0S>TZa#H7Kl5d$aGZ4R-~Vu= z?%J4;QiL8M@J9F+1P&qWMP1~DzZr%X^7h3q&gaa(`0ehE>!=NX*y8Pv-?;DCj(%}} zb#9wh_QtscRShh~nwr`*_Ldb}NGioQ2C2DR@7!dpdR{x^llZv5kyc&?81 N|KIheTQAeU_YI{AE*1a) literal 0 HcmV?d00001 diff --git a/extensions/arrow/src/test/resources/float4_vector.arrow b/extensions/arrow/src/test/resources/float4_vector.arrow new file mode 100644 index 0000000000000000000000000000000000000000..4291ecdc9b942612d28c9e2cc01982796b3bc1a7 GIT binary patch literal 906 zcmcgrJ5Iwu6dYq?S(b^S;2;Vv5v2)ToQe)96v+V~B2pv{zy&B#I*=k!ax_YA05jel z??_C3Gx+jTRaUoS?$7x4_BPXS8wkmCdeEg=i>q(nupps#olg$fDfTm}Zz zHBPCWJ7Bbqa-kHYNzkpsCFi?xK0<06 z{?!jh)lDd=QX-CQP>Z*qZxO`V(4Om@Xa8Zlo4vkVPM!M~&oEbI@8{`0%G}2@Q$mDl zx^)WMACGSu`TxbQ%c*O-pXX?8F5O(kJV)7&^?M_JvNflQr=8Q%DTeb1XT9X!Jw>%| f6hU`Z@IAPSL>%|rKYodaYOjaC-=A#VwEy5YD)=yr literal 0 HcmV?d00001 diff --git a/extensions/arrow/src/test/resources/float8_vector.arrow b/extensions/arrow/src/test/resources/float8_vector.arrow new file mode 100644 index 0000000000000000000000000000000000000000..f23931ee0e9889e825c280328412c90eea67b478 GIT binary patch literal 922 zcmcgrF;2rk5FE$BSe8L3F^Ga9HC>d3(s=+1N{UcYfE6SjfkZ=@C-8>6AWz{5`9U&s zcZ*LcoQ{e1W_P`NH+y!b^Z9H!2KK}nz!eQBaES~T$mt1vpHB*ujB>`x=fOxwXt#1O zAXgZYt#-g{73@wWNE6R4;F58#j6b1=Gp^11+s7+ey1vQk7fRev+cov{-Tot&)e*u$_1bx= z?9ywxRi~b~&vIhorD^W#Q~KKZyYw$Cz* literal 0 HcmV?d00001 diff --git a/extensions/arrow/src/test/resources/int_vector.arrow b/extensions/arrow/src/test/resources/int_vector.arrow new file mode 100644 index 0000000000000000000000000000000000000000..271d3a67abea755b399275d3e69603e8eca543a2 GIT binary patch literal 914 zcmc&zOG*Pl6s$?cq%({nF$O^wxq=J9ZB7u$Mwc#(Ab60hLYD3XK`=RkM{wodJLCqF zs_8D6jfp!8-n>u0*RQ%?&v-hW++G3|@dDtO0u(qx2Zso>ggnNx0wujbU-6KH3K`{0 z2Kv+koKQQr&*&h@g;LPUMp6lZnE~B;KZddqKL?b@r`huZwIF_TYV9MG7?R^DdF6GV z*jp=!Yr7y1?HjqO?wZn8NRz7lewDtPr~4># z7tdS?394z1Meqdt4sH?=$9=BNFY&mGzW?*aH|#vF|HUoyyftJ1 literal 0 HcmV?d00001 diff --git a/extensions/arrow/src/test/resources/small_int_vector.arrow b/extensions/arrow/src/test/resources/small_int_vector.arrow new file mode 100644 index 0000000000000000000000000000000000000000..2bdd61dd12612ca20d95eed3a4fcf5731b8427b5 GIT binary patch literal 906 zcmc(eF-`+P3`PGY%VxA%5DEcNP*BlRM50Ychm-~m0FjV50tcX^Bv&T75BxxJLWEpL(ztx~T8b=p_5g|sE!^cw6X`@~aKgBt58hUUhF zj*O8zcXUzpj1*0pbD&CcX3{L*=THNOJ?rN2;px8S!0*L2_aK8#%<j_v3d@7I>L`ODcjmtee~x8?$$_XC;Z;3;>um>xUCOu;)V`#|lx6?rXC_S5!t WC9)m={3Tw?4ga&-U+%oh|G^&_11!t{ literal 0 HcmV?d00001 diff --git a/extensions/arrow/src/test/resources/three_vectors.arrow b/extensions/arrow/src/test/resources/three_vectors.arrow new file mode 100644 index 0000000000000000000000000000000000000000..bf34bf619f7d2cd5bff34b50a786b103f152c9d4 GIT binary patch literal 1674 zcmd^Au}&LN5Zp7yoE(E9Fpi5zIVvpCkS?h(QY4^CM2e(HbH%|~!nR}^1gWAFAzfO& zB2|hsAfTe<6Y>LeMCp>5_ue>B5C&?-+S}Xp?!Mi*J$re5{pFjdX1{?rGJ9x5*`};y zlNRHSD0+WXwhF8mHvMrBC>w(uKwdzKkWZ*rg{C})AR_YG8Mu^?U&4ndINeXT(%zog z>6P3TKybOQ~l9mpZ!c{kMXs0F_(?QbjwzH($$&yw-+3Rlqt$&UK#t|pz zoS%(%UrsOQn(|9???&;gd51fA4bPg3bw~01Ki{&&m+B;;LGA?6@M_4jo{RGNHD^_R z2)~ofT5I#|WTVx|#GC5Ku6|wl@xFSobQ5oHm56a$Gv1xZiWF#~ zjP(3I`#z($>&0sITup%saRAVx00kbAp^KcBkcN0tprn`6S3HkGg@iJefj;#R18V2? z868HMCzrr*mB!u<^X~BsdsXM#JUvI5w|J&Xh)_+lPT`;aU-4^l zYTBOXJzASfGgmRMZeDfK`Z|iYk75omCk%;5o U`{|c>sP^~&-}jlL7xh1Q1t&T#dH?_b literal 0 HcmV?d00001 diff --git a/extensions/arrow/src/test/resources/timestamp_vector.arrow b/extensions/arrow/src/test/resources/timestamp_vector.arrow new file mode 100644 index 0000000000000000000000000000000000000000..c8e81fd4533b6674b64583f91302b7a705bb98d7 GIT binary patch literal 946 zcmc&zF-`+95S$|+I#~vhaG)Sjq)bakn-@e1M9?510g)o*A(ZK9D0n~~!H;N=QiK_= zH+R*gWTo}2*R$)f&o`OPrVls3j`j)Qj1B~xqK6ZdjAUKQ7Xgv8l5^$D>;x3_p#ltu z70!vy9WYyEzZM0d7$>x$Br~vQ-LF80OY{3X91|DIx7BOrOXoXd^^-+hQtJivb<=*M zl+}$=5LO|#B(LbpTu>hrhjYier7zQ60L&uiM6Txr_h=l3{0z3OYTl}4G?RUi5F wdyMo|^~Q8}!biH^iF$14vb6z58K1Kt&#PauEX4Emxt;L8Z~vDvCh1@O0};D6@c;k- literal 0 HcmV?d00001 diff --git a/extensions/arrow/src/test/resources/tiny_int_vector.arrow b/extensions/arrow/src/test/resources/tiny_int_vector.arrow new file mode 100644 index 0000000000000000000000000000000000000000..ff2efaefc39178aa78cd9075cf2f97cabc418a22 GIT binary patch literal 906 zcmc(eu}VWh5Jm4xVzNA*A~A}Eg^eFzXPeGWNTVO1Lco6ztSl}41V7EvKZy72?#L3* zD&U1-=FYo2d)eK$T&-?yFQtv~F6q!A^*Yd0`%13Br1ZO9gIO}CpK3U%bDUCW?!3^E zb7<%8E^3@1(WpBoRU|8uW_g}l9dq{_kL!o0`>Mg;t83UG@P z2Xl*8)?GQqNGe8AIO89%H)wTy3m&>3ev#$*{C43l<}>v#f31$X<*W_9ff&0wzt&S* z$9{2s+uvG_pE$qg7g+H}<{k&%^3)Z##~b2K$#)Lk18YAV;H{+cK3!i|BisGYU;1^q O)Bn8fFYmm}|KK<7Of1#_ literal 0 HcmV?d00001 diff --git a/extensions/arrow/src/test/resources/uint1_vector.arrow b/extensions/arrow/src/test/resources/uint1_vector.arrow new file mode 100644 index 0000000000000000000000000000000000000000..233940f553e411246b017221c09d6e7eaa13c717 GIT binary patch literal 898 zcmcgrOAY}+5Pf5qOeRBw8L_Z%1v^VlAhBU-fsifS=6u%;>3Si@HDVPFq^>I@79NQer@EHTg7Mf6rGZfn!>5e);04x+yhPN|1&* zwBjw%TuGd#GsBkm!nI5P89(cV?%#U?>ia7C literal 0 HcmV?d00001 diff --git a/extensions/arrow/src/test/resources/uint2_vector.arrow b/extensions/arrow/src/test/resources/uint2_vector.arrow new file mode 100644 index 0000000000000000000000000000000000000000..5dc849d413cce2cfaf4d3cbd6e3381f3b894a3a6 GIT binary patch literal 898 zcmcgrOA5k341LvFN~t3LaN#A~xwIz`+~`)VqToSXdIXQ=5xjxEH#3n^(3Kc?eMu&n zymqF=a=BPdfhX+>pi2N5I!Mq)N>3L1e3T()lrmO64Im*R#&Xaj56~xDZI9VOz(gfz zM4ny1N8pvifB?M$|TBUF`PvdbJWXHZ#u8-x}37Bbq7+)-Z=G z-7>w4Od8CzW_?y?@djI0_A7n1zc&4*ufA68Q?JE41+-u3tIn4Chsd!Bs3H9Cx+0~QllRFPW>iPSJd}t5!|9k!5)JlEgT!Z*pp``%0zQiH&Vt^U?2zm2YWGenU3*&f3pGa6Hl&_Byg$y=O48V_IKMt? zRNo8PR!Kt34y|+x`W8W&4XwG)b&kK7_;exdJ)Lo1)o@#<=cw|Q&Rhiv>S^{VeHs6i zzNV(8?|I%wTWe|7D(8LtrvFAtA5FMtHBY;sr&EmQ5zqRS>l;$NAEcl=EBGGFk`U*; U@5d|o*zM>4-|rueo`!$$1o;>(fdBvi literal 0 HcmV?d00001 diff --git a/extensions/arrow/src/test/resources/uint8_vector.arrow b/extensions/arrow/src/test/resources/uint8_vector.arrow new file mode 100644 index 0000000000000000000000000000000000000000..87a09530e43f1150e34cedd328e6f0d04891c13b GIT binary patch literal 922 zcmcgrF>b;@5FCSJS&oSi5JV9vJb;Fd5-K`^XvhN+1QOpsqNGlhcckMF@DF~F%-r2# zD~0J;X>Rt`yLYp9=gDI6wj2V#v;%-90c3bWf(BB0ve?I?3^`{h=ZdERBt%3{4qD_6 z+GNXZG1>`uQ3`62XE))HxHS`cW8#5WZ9cajWa-+IRWHlYrM744iQW2r7u66n)-&#( zUp1<3MAVfMtY!{bx@GD`=6mqIzFD2++5B;K+`Y!Y^y}v|@ab;6rPrUYQmggae#)%U zYr2)EnsS}R#Adhj75!K1D{CtIw!i5r`t{n%xzc3kc@6@tUOE+0ea_oY=;>DVrgV1V mcVbOwjc-DB@PvNgd05cmrswi6Ui2Lb9o_%EU%2nY{gZ!-FED`s literal 0 HcmV?d00001 diff --git a/extensions/arrow/src/test/resources/var_binary_vector.arrow b/extensions/arrow/src/test/resources/var_binary_vector.arrow new file mode 100644 index 0000000000000000000000000000000000000000..95a242de0e4bfd8b06ac180ad1915c7d50335c79 GIT binary patch literal 994 zcmcgrK~BR!40LFyq7V=&1$x{YJ;Do6Z}fyz4sfIrDTxG))D|Irz!Ny~JbnQ)yE`-& z+8dS}ubuIF>^P&z>KiKW`|I-+zza3`%oXFQ7vV+nM?gY{th zb_6SI57Bk3M9NYIW z*uHBIzVPFftC#L^QBGGkrT++S*)(&%Pt4<73T#yuCvHoq8+Pgr?W%!r{R3prJB9!N literal 0 HcmV?d00001 diff --git a/extensions/arrow/src/test/resources/var_char_vector.arrow b/extensions/arrow/src/test/resources/var_char_vector.arrow new file mode 100644 index 0000000000000000000000000000000000000000..d942ed8331fcb58ea449fd8e7608a5746cb9367a GIT binary patch literal 978 zcmcgryH3ME5L^={GL}J69*8m}EuWB%4k-=kjiXosMZy7zKj0H6`Mmr^n7O?nSH&GG zt@m-WyK}4aaiRi~Ke7f|iu_4A{t_q(?~{=NrRpXaZ6M5Z&97k^pZgPbJ9 z3ZLfW6Wi`R>f?QCl3D0}j)QGUYLY!U4`E>3yz97kfxpY{?9gZaPz<$!t1@Gt)Y;lVQr literal 0 HcmV?d00001 diff --git a/extensions/barrage/build.gradle b/extensions/barrage/build.gradle index 8adb36df0e8..cc7385612e4 100644 --- a/extensions/barrage/build.gradle +++ b/extensions/barrage/build.gradle @@ -25,12 +25,6 @@ dependencies { Classpaths.inheritFlatbuffer(project, 'implementation') Classpaths.inheritArrow(project, 'arrow-vector', 'implementation') - // TODO(deephaven-core#2923): Remove explicit constraint on commons-codec #2923 - constraints { - implementation('commons-codec:commons-codec:1.15') { - because 'arrow-vector depends on outdated version' - } - } Classpaths.inheritArrow(project, 'arrow-format', 'implementation') Classpaths.inheritImmutables(project) diff --git a/java-client/flight/build.gradle b/java-client/flight/build.gradle index c42b3f73a56..c01c9d4ce68 100644 --- a/java-client/flight/build.gradle +++ b/java-client/flight/build.gradle @@ -12,12 +12,6 @@ dependencies { Classpaths.inheritArrow(project, 'flight-core', 'api') Classpaths.inheritArrow(project, 'flight-grpc', 'implementation') Classpaths.inheritArrow(project, 'arrow-vector', 'api') - // TODO(deephaven-core#2923): Remove explicit constraint on commons-codec #2923 - constraints { - implementation('commons-codec:commons-codec:1.15') { - because 'arrow-vector depends on outdated version' - } - } Classpaths.inheritAutoService(project) Classpaths.inheritJUnitPlatform(project) diff --git a/replication/reflective/build.gradle b/replication/reflective/build.gradle index 5eab8ad013e..d028ff2b738 100644 --- a/replication/reflective/build.gradle +++ b/replication/reflective/build.gradle @@ -11,14 +11,20 @@ dependencies { implementation 'com.squareup:javapoet:1.13.0' implementation depTrove3 implementation depCommonsIo + implementation depCommonsLang3 runtimeOnly project(':log-to-slf4j') runtimeOnly project(path: ':configs') runtimeOnly project(path: ':test-configs') Classpaths.inheritSlf4j(project, 'slf4j-simple', 'runtimeOnly') + + Classpaths.inheritArrow(project, 'arrow-vector', 'implementation') } task replicateAll { dependsOn Tasks.registerMainExecTask(project, 'replicateHashTable', 'io.deephaven.replicators.ReplicateHashTable') dependsOn Tasks.registerMainExecTask(project, 'replicateTypedHashers', 'io.deephaven.replicators.ReplicateTypedHashers') + + dependsOn Tasks.registerMainExecTask(project, 'generateArrowColumnSources', 'io.deephaven.replicators.GenerateArrowColumnSources') + dependsOn Tasks.registerMainExecTask(project, 'generateArrowColumnTestSources', 'io.deephaven.replicators.GenerateArrowColumnSourceTests') } diff --git a/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSourceTests.java b/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSourceTests.java new file mode 100644 index 00000000000..05d4d9f47dd --- /dev/null +++ b/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSourceTests.java @@ -0,0 +1,402 @@ +package io.deephaven.replicators; + +import com.squareup.javapoet.AnnotationSpec; +import com.squareup.javapoet.ArrayTypeName; +import com.squareup.javapoet.ClassName; +import com.squareup.javapoet.CodeBlock; +import com.squareup.javapoet.FieldSpec; +import com.squareup.javapoet.JavaFile; +import com.squareup.javapoet.MethodSpec; +import com.squareup.javapoet.ParameterizedTypeName; +import com.squareup.javapoet.TypeName; +import com.squareup.javapoet.TypeSpec; + +import javax.lang.model.element.Modifier; +import java.io.File; +import java.io.IOException; +import java.io.UncheckedIOException; +import java.lang.invoke.MethodHandles; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +public class GenerateArrowColumnSourceTests { + + public static void main(String[] args) { + List expectedRows = Arrays.asList(0L, 1L, 2L, 4L, 8L, 9L); + + generateTests("ArrowIntVectorTest", "/int_vector.arrow", "getInt", "WritableIntChunk", + int.class, "NULL_INT", expectedRows, + Arrays.asList(76428765, 9480636, null, 164366688, -1575247918, -23126)); + + generateTests("ArrowBigIntVectorTest", "/big_int_vector.arrow", "getLong", "WritableLongChunk", + long.class, "NULL_LONG", expectedRows, + Arrays.asList(948377488, 2136, null, 999, -1327, 9821)); + + generateTests("ArrowSmallIntVectorTest", "/small_int_vector.arrow", "getShort", "WritableShortChunk", + short.class, "NULL_SHORT", expectedRows, + Arrays.asList(-7812, 1, null, 13621, 0, 9752)); + + generateTests("ArrowTinyVectorTest", "/tiny_int_vector.arrow", "getByte", "WritableByteChunk", + byte.class, "NULL_BYTE", expectedRows, + Arrays.asList(1, 37, null, -1, 127, -126)); + + generateTests("ArrowUint2VectorTest", "/uint2_vector.arrow", "getChar", "WritableCharChunk", + char.class, "NULL_CHAR", expectedRows, + Arrays.asList("'a'", "'b'", null, "'c'", "'d'", "'e'")); + + generateTests("ArrowFloat4VectorTest", "/float4_vector.arrow", "getFloat", "WritableFloatChunk", + float.class, "NULL_FLOAT", expectedRows, + Arrays.asList(78.786F, 2.9F, null, 13.2F, 0, 21.01F)); + + generateTests("ArrowFloat8VectorTest", "/float8_vector.arrow", "getDouble", "WritableDoubleChunk", + double.class, "NULL_DOUBLE", expectedRows, + Arrays.asList(-78.786, 2.9, null, 13.2, 0, -621.01)); + + generateTests("ArrowBitVectorTest", "/bit_vector.arrow", "getBoolean", "WritableObjectChunk", + Boolean.class, null, expectedRows, + Arrays.asList(true, false, null, true, false, true)); + + generateTests("ArrowUint1VectorTest", "/uint1_vector.arrow", "getShort", "WritableShortChunk", + short.class, "NULL_SHORT", expectedRows, + Arrays.asList(1, 21, null, 32, 0, 96)); + + generateTests("ArrowUint4VectorTest", "/uint4_vector.arrow", "getLong", "WritableLongChunk", + long.class, "NULL_LONG", expectedRows, + Arrays.asList(453, 192, null, 0, 213, 96)); + + generateTests("ArrowUint8VectorTest", "/uint8_vector.arrow", "get", "WritableObjectChunk", + BigInteger.class, null, expectedRows, + addWrapper("java.math.BigInteger.valueOf(%s)", Arrays.asList( + "4533434535435L", "192547560007L", null, "0", "213", "1"))); + + generateTests("ArrowVarCharVectorTest", "/var_char_vector.arrow", "get", "WritableObjectChunk", + String.class, null, expectedRows, + Arrays.asList("\"my\"", "\"vector\"", null, "\"it\"", "\"is\"", "\"success\"")); + + generateTests("ArrowVarBinaryVectorTest", "/var_binary_vector.arrow", "get", "WritableObjectChunk", + byte[].class, null, expectedRows, + addWrapper("%s.getBytes()", Arrays.asList( + "\"hi\"", "\"how are you?\"", null, "\"I'm fine\"", "\"It is great\"", "\"See you soon\""))); + + generateTests("ArrowFixedSizeBinaryVectorTest", "/fixed_size_binary_vector.arrow", "get", "WritableObjectChunk", + byte[].class, null, expectedRows, + addWrapper("%s.getBytes()", Arrays.asList("\"hi\"", "\"it\"", null, "\"is\"", "\"me\"", "\"!!\""))); + + generateTests("ArrowDateMilliVectorTest", "/date_milli_vector.arrow", "get", "WritableObjectChunk", + LocalDateTime.class, null, expectedRows, + addWrapper("java.time.LocalDateTime.of(%s)", Arrays.asList( + "2022, 11, 30, 23, 0, 0", + "2000, 1, 16, 23, 0, 0", + null, + "2022, 1, 31, 22, 8, 2", + "1920, 1, 31, 23, 8, 2", + "1900, 1, 31, 23, 22, 46"))); + + generateTests("ArrowTimeMilliVectorTest", "/time_milli_vector.arrow", "get", "WritableObjectChunk", + LocalTime.class, null, expectedRows, + addWrapper("java.time.LocalTime.of(%s)", Arrays.asList( + "0, 0, 0, 864000000", + "0, 0, 0, 908000000", + null, + "0, 0, 0, 0", + "0, 14, 34, 300000000", + "21, 59, 29, 26000000"))); + + generateTests("ArrowTimestampVectorTest", "/timestamp_vector.arrow", "get", "WritableObjectChunk", + null, ClassName.get("io.deephaven.time", "DateTime"), null, expectedRows, + addWrapper("new DateTime(%s)", Arrays.asList( + "1670443801", "1570443532", null, "0", "170443801", "-72309740"))); + + generateTests("ArrowDecimalVectorTest", "/decimal_vector.arrow", "get", "WritableObjectChunk", + BigDecimal.class, null, expectedRows, + addWrapper("new java.math.BigDecimal(\"%s\", java.math.MathContext.DECIMAL64)\n", Arrays.asList( + "1000878769709809808089098089088.533", + "1021321435356657878768767886762.533", + null, + "1021321435311117878768767886762.112", + "7032447742342342342342342342344.145", + "6712398032923494320982348023490.555"))); + + generateTests("ArrowDecimal256VectorTest", "/decimal256_vector.arrow", "get", "WritableObjectChunk", + BigDecimal.class, null, expectedRows, + addWrapper("new java.math.BigDecimal(\"%s\", java.math.MathContext.DECIMAL64)\n", Arrays.asList( + "1000878769709809808089098089088.533", + "1021321435356657878768767886762.533", + null, + "1021321435311117878768767886762.112", + "7032447742342342342342342342344.145", + "6712398032923494320982348023490.555"))); + } + + private static List addWrapper(String wrapper, List values) { + return values.stream().map(value -> value == null + ? null + : String.format(wrapper, value)).collect(Collectors.toList()); + } + + private static AnnotationSpec junitRule() { + return AnnotationSpec.builder(ClassName.get("org.junit", "Rule")).build(); + } + + private static AnnotationSpec junitTest() { + return AnnotationSpec.builder(ClassName.get("org.junit", "Test")).build(); + } + + private static TypeName engineCleanup() { + return ClassName.get("io.deephaven.engine.testutil.junit4", "EngineCleanup"); + } + + private static TypeName queryTable() { + return ClassName.get("io.deephaven.engine.table.impl", "QueryTable"); + } + + private static ClassName arrowWrapperTools() { + return ClassName.get("io.deephaven.extensions.arrow", "ArrowWrapperTools"); + } + + private static TypeName arrowWrapperToolsShareable() { + return arrowWrapperTools().nestedClass("Shareable"); + } + + private static TypeName list(final TypeName valueType) { + return ParameterizedTypeName.get(ClassName.get(List.class), valueType); + } + + private static TypeName columnSource(final TypeName valueType) { + return ParameterizedTypeName.get(ClassName.get("io.deephaven.engine.table", "ColumnSource"), + valueType.isPrimitive() ? valueType.box() : valueType); + } + + private static TypeName mutableInt() { + return ClassName.get("org.apache.commons.lang3.mutable", "MutableInt"); + } + + private static TypeName staticAssert() { + return ClassName.get("org.junit", "Assert"); + } + + private static TypeName fillContext() { + return ClassName.get("io.deephaven.engine.table", "ChunkSource").nestedClass("FillContext"); + } + + public static void generateTests( + String className, + String fileName, + String getMethodName, + String chunkClass, + Class valueType, + String nullValue, + List expectedRows, + List expectedValues) { + generateTests(className, fileName, getMethodName, chunkClass, valueType, TypeName.get(valueType), nullValue, + expectedRows, expectedValues); + } + + public static void generateTests( + String className, + String fileName, + String getMethodName, + String chunkClass, + Class valueTypeCls, + TypeName valueType, + String nullValue, + List expectedRows, + List expectedValues) { + + final TypeName testClassType = ClassName.get("io.deephaven.extensions.arrow", className); + + final TypeSpec test = TypeSpec + .classBuilder(className) + .addModifiers(Modifier.PUBLIC) + .addField(getEngineCleanupRule()) + .addField(getExpectedRows(expectedRows)) + .addField(getExpectedValues(valueTypeCls, valueType, nullValue, expectedValues)) + .addMethod(generateLoadTable(testClassType, fileName)) + .addMethod(generateTestReadArrowFile(getMethodName, valueTypeCls, valueType)) + .addMethod(generateTestFillChunk(chunkClass, valueTypeCls, valueType)) + .build(); + + JavaFile javaFile = JavaFile.builder("io.deephaven.extensions.arrow", test) + .indent(" ") + + .skipJavaLangImports(true) + .build(); + + String path = "extensions/arrow/src/test/java/io/deephaven/extensions/arrow/" + className + ".java"; + try { + final String header = Stream.of( + "/*", + " * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending", + " */", + "/*", + " * ---------------------------------------------------------------------------------------------------------------------", + " * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit " + + MethodHandles.lookup().lookupClass().getSimpleName() + " and regenerate", + " * ---------------------------------------------------------------------------------------------------------------------", + " */", + "").collect(Collectors.joining(System.lineSeparator())); + + Files.write(Paths.get(path), (header + javaFile).getBytes(StandardCharsets.UTF_8)); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } + + private static FieldSpec getEngineCleanupRule() { + return FieldSpec.builder(engineCleanup(), "framework", Modifier.PUBLIC, Modifier.FINAL) + .addAnnotation(junitRule()) + .initializer("new $T()", engineCleanup()) + .build(); + } + + private static FieldSpec getExpectedRows(final List expectedRows) { + CodeBlock.Builder initializer = CodeBlock.builder() + .add("$T.asList(", Arrays.class); + boolean first = true; + for (Long row : expectedRows) { + if (first) { + first = false; + initializer.add("$LL", row); + } else { + initializer.add(", $LL", row); + } + } + initializer.add(")"); + return FieldSpec.builder(list(ClassName.get(Long.class)), "expectedRows", + Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) + .initializer(initializer.build()) + .build(); + } + + private static FieldSpec getExpectedValues( + final Class valueTypeCls, final TypeName valueType, final String nullValue, + final List expectedValues) { + final String literalSuffix; + if (valueTypeCls == long.class) { + literalSuffix = "L"; + } else if (valueTypeCls == float.class) { + literalSuffix = "F"; + } else if (valueTypeCls == double.class) { + literalSuffix = "D"; + } else { + literalSuffix = ""; + } + + CodeBlock.Builder initializer = CodeBlock.builder() + .add("new $T[] {", valueType); + boolean first = true; + for (Object row : expectedValues) { + if (first) { + first = false; + } else { + initializer.add(", "); + } + + if (row == null && nullValue != null) { + initializer.add("$T.$L", ClassName.get("io.deephaven.util", "QueryConstants"), nullValue); + } else { + initializer.add("$L" + literalSuffix, row); + } + } + initializer.add("}"); + return FieldSpec.builder(ArrayTypeName.of(valueType), "expectedValues", + Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL) + .initializer(initializer.build()) + .build(); + } + + private static MethodSpec generateLoadTable(final TypeName testClass, final String fileName) { + return MethodSpec.methodBuilder("loadTable") + .returns(queryTable()) + .addModifiers(Modifier.PRIVATE, Modifier.STATIC) + .addStatement("//noinspection ConstantConditions") + .addStatement("final $T dataFile = new $T($T.class.getResource($S).getFile())", + File.class, File.class, testClass, fileName) + .addStatement("return $T.readFeather(dataFile.getPath())", arrowWrapperTools()) + .build(); + } + + private static String createComparator(final Class valueType, final String expected, final String actual) { + String extraArg = ""; + if (valueType == float.class || valueType == double.class) { + extraArg = ", 1e-5"; + } + String arrayMethod = ""; + if (valueType != null && valueType.isArray()) { + arrayMethod = "Array"; + } + return "$T.assert" + arrayMethod + "Equals(" + expected + ", " + actual + extraArg + ")"; + } + + private static MethodSpec generateTestReadArrowFile( + final String getMethodName, final Class valueTypeCls, final TypeName valueType) { + return MethodSpec.methodBuilder("testReadArrowFile") + .addModifiers(Modifier.PUBLIC) + .addAnnotation(junitTest()) + .addStatement("final $T table = loadTable()", queryTable()) + .addStatement("$T.assertEquals(expectedValues.length, table.intSize())", staticAssert()) + .addCode("\n") + .addStatement("// check that the expected rows are present") + .addStatement("final $T actualRows = new $T<>()", list(ClassName.get(Long.class)), ArrayList.class) + .addStatement("table.getRowSet().forAllRowKeys(actualRows::add)") + .addStatement("$T.assertEquals(expectedRows, actualRows)", staticAssert()) + .addCode("\n") + .addStatement("$T.assertEquals(1, table.getColumnSources().size())", staticAssert()) + .addStatement("// noinspection OptionalGetWithoutIsPresent, unchecked") + .addStatement("final $T cs = ($T)table.getColumnSources().stream().findFirst().get()", + columnSource(valueType), columnSource(valueType)) + .addCode("\n") + .addStatement("$T.resetNumBlocksLoaded()", arrowWrapperToolsShareable()) + .addStatement("final $T pos = new $T()", mutableInt(), mutableInt()) + .addCode("table.getRowSet().forAllRowKeys(rowKey -> ") + .addCode(createComparator(valueTypeCls, "expectedValues[pos.getAndIncrement()]", "cs.$L(rowKey)"), + staticAssert(), getMethodName) + .addStatement(")") + .addStatement("Assert.assertEquals(3, $T.numBlocksLoaded())", arrowWrapperToolsShareable()) + .build(); + } + + private static MethodSpec generateTestFillChunk( + final String chunkTypeName, final Class valueTypeCls, final TypeName valueType) { + final TypeName attributeValues = ClassName.get("io.deephaven.chunk.attributes", "Values"); + final ClassName chunkTypeCls = ClassName.get("io.deephaven.chunk", chunkTypeName); + final TypeName chunkType; + if (valueType.isPrimitive()) { + chunkType = ParameterizedTypeName.get(chunkTypeCls, attributeValues); + } else { + chunkType = ParameterizedTypeName.get(chunkTypeCls, valueType, attributeValues); + } + + return MethodSpec.methodBuilder("testFillChunk") + .addModifiers(Modifier.PUBLIC) + .addAnnotation(junitTest()) + .addStatement("final $T table = loadTable()", queryTable()) + .addCode("\n") + .addStatement("// noinspection OptionalGetWithoutIsPresent, unchecked") + .addStatement("final $T cs = ($T)table.getColumnSources().stream().findFirst().get()", + columnSource(valueType), columnSource(valueType)) + .addCode("\n") + .addStatement("try (final $T fillContext = cs.makeFillContext(table.intSize())$>", fillContext()) + .beginControlFlow("final $T chunk = $T.makeWritableChunk(table.intSize()))$<", chunkType, chunkTypeCls) + .addCode("\n") + .addStatement("$T.resetNumBlocksLoaded()", arrowWrapperToolsShareable()) + .addStatement("cs.fillChunk(fillContext, chunk, table.getRowSet())") + .addStatement("Assert.assertEquals(3, $T.numBlocksLoaded())", arrowWrapperToolsShareable()) + .addCode("\n") + .beginControlFlow("for (int ii = 0; ii < expectedValues.length; ++ii)") + .addStatement(createComparator(valueTypeCls, "expectedValues[ii]", "chunk.get(ii)"), staticAssert()) + .endControlFlow() + .endControlFlow() + .build(); + } +} diff --git a/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSources.java b/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSources.java new file mode 100644 index 00000000000..06820ecf010 --- /dev/null +++ b/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSources.java @@ -0,0 +1,328 @@ +package io.deephaven.replicators; + +import com.squareup.javapoet.AnnotationSpec; +import com.squareup.javapoet.ClassName; +import com.squareup.javapoet.JavaFile; +import com.squareup.javapoet.MethodSpec; +import com.squareup.javapoet.ParameterizedTypeName; +import com.squareup.javapoet.TypeName; +import com.squareup.javapoet.TypeSpec; +import com.squareup.javapoet.TypeVariableName; +import com.squareup.javapoet.WildcardTypeName; +import io.deephaven.chunk.WritableByteChunk; +import io.deephaven.chunk.WritableCharChunk; +import io.deephaven.chunk.WritableDoubleChunk; +import io.deephaven.chunk.WritableFloatChunk; +import io.deephaven.chunk.WritableIntChunk; +import io.deephaven.chunk.WritableLongChunk; +import io.deephaven.chunk.WritableObjectChunk; +import io.deephaven.chunk.WritableShortChunk; +import org.apache.arrow.vector.BigIntVector; +import org.apache.arrow.vector.BitVector; +import org.apache.arrow.vector.Float4Vector; +import org.apache.arrow.vector.Float8Vector; +import org.apache.arrow.vector.IntVector; +import org.apache.arrow.vector.SmallIntVector; +import org.apache.arrow.vector.TimeMilliVector; +import org.apache.arrow.vector.TimeStampVector; +import org.apache.arrow.vector.TinyIntVector; +import org.apache.arrow.vector.UInt1Vector; +import org.apache.arrow.vector.UInt2Vector; +import org.apache.arrow.vector.UInt4Vector; +import org.apache.arrow.vector.UInt8Vector; +import org.apache.arrow.vector.ValueVector; +import org.apache.arrow.vector.VarCharVector; +import org.apache.arrow.vector.types.pojo.Field; +import org.jetbrains.annotations.NotNull; + +import javax.lang.model.element.Modifier; + +import java.io.IOException; +import java.io.UncheckedIOException; +import java.lang.invoke.MethodHandles; +import java.math.BigInteger; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +public class GenerateArrowColumnSources { + + public static final String ARROW_VECTOR_PREFIX = "Arrow Vector: {@link "; + public static final String RETURNS_PREFIX = "Deephaven Type: "; + private static final String JAVADOC_TEMPLATE = ARROW_VECTOR_PREFIX + "%s}\n" + RETURNS_PREFIX + "%s"; + + public static void main(String[] args) { + generateArrowColumnSource("ArrowIntColumnSource", Integer.class, int.class, IntVector.class, + "getInt", "ForInt", WritableIntChunk.class, List.of( + generatePrivateExtractMethod(int.class, IntVector.class, "NULL_INT"))); + + generateArrowColumnSource("ArrowLongColumnSource", Long.class, long.class, BigIntVector.class, + "getLong", "ForLong", WritableLongChunk.class, List.of( + generatePrivateExtractMethod(long.class, BigIntVector.class, "NULL_LONG"))); + + generateArrowColumnSource("ArrowDoubleColumnSource", Double.class, double.class, Float8Vector.class, + "getDouble", "ForDouble", WritableDoubleChunk.class, List.of( + generatePrivateExtractMethod(double.class, Float8Vector.class, "NULL_DOUBLE"))); + + generateArrowColumnSource("ArrowFloatColumnSource", Float.class, float.class, Float4Vector.class, + "getFloat", "ForFloat", WritableFloatChunk.class, List.of( + generatePrivateExtractMethod(float.class, Float4Vector.class, "NULL_FLOAT"))); + + generateArrowColumnSource("ArrowCharColumnSource", Character.class, char.class, UInt2Vector.class, + "getChar", "ForChar", WritableCharChunk.class, List.of( + generatePrivateExtractMethod(char.class, UInt2Vector.class, "NULL_CHAR"))); + + generateArrowColumnSource("ArrowShortColumnSource", Short.class, short.class, SmallIntVector.class, + "getShort", "ForShort", WritableShortChunk.class, List.of( + generatePrivateExtractMethod(short.class, SmallIntVector.class, "NULL_SHORT"))); + + generateArrowColumnSource("ArrowByteColumnSource", Byte.class, byte.class, TinyIntVector.class, + "getByte", "ForByte", WritableByteChunk.class, List.of( + generatePrivateExtractMethod(byte.class, TinyIntVector.class, "NULL_BYTE"))); + + generateArrowColumnSource("ArrowBooleanColumnSource", Boolean.class, boolean.class, BitVector.class, + "get", "ForBoolean", WritableObjectChunk.class, List.of( + generatePrivateObjectExtractMethod(Boolean.class, BitVector.class))); + + generateArrowColumnSource("ArrowUInt1ColumnSource", Short.class, short.class, UInt1Vector.class, + "getShort", "ForShort", WritableShortChunk.class, List.of( + generatePrivateExtractMethod(short.class, UInt1Vector.class, "NULL_SHORT", true))); + + generateArrowColumnSource("ArrowUInt4ColumnSource", Long.class, long.class, UInt4Vector.class, + "getLong", "ForLong", WritableLongChunk.class, List.of( + generatePrivateExtractMethod(long.class, UInt4Vector.class, "NULL_LONG", true))); + + generateArrowColumnSource("ArrowUInt8ColumnSource", BigInteger.class, BigInteger.class, UInt8Vector.class, + "get", "ForObject", WritableObjectChunk.class, List.of( + generatePrivateExtractMethod(BigInteger.class, UInt8Vector.class, null, true))); + + generateArrowColumnSource("ArrowStringColumnSource", String.class, String.class, VarCharVector.class, + "get", "ForObject", WritableObjectChunk.class, List.of( + preparePrivateExtractMethod(String.class, VarCharVector.class) + .addStatement( + "return vector.isSet(posInBlock) == 0 ? null : new $T(vector.get(posInBlock))", + String.class) + .build())); + + generateArrowColumnSource("ArrowObjectColumnSource", (Class) null, null, ValueVector.class, + "get", "ForObject", WritableObjectChunk.class, List.of( + generatePrivateObjectExtractMethod(null, ValueVector.class))); + + generateArrowColumnSource("ArrowLocalTimeColumnSource", LocalTime.class, LocalTime.class, TimeMilliVector.class, + "get", "ForObject", WritableObjectChunk.class, List.of( + preparePrivateExtractMethod(LocalTime.class, TimeMilliVector.class) + .addStatement("$T localDateTime = vector.getObject(posInBlock)", LocalDateTime.class) + .addStatement("return localDateTime != null ? localDateTime.toLocalTime() : null") + .build())); + + final ClassName dateTime = ClassName.get("io.deephaven.time", "DateTime"); + generateArrowColumnSource("ArrowDateTimeColumnSource", dateTime, dateTime, TimeStampVector.class, + "get", "ForObject", WritableObjectChunk.class, List.of( + preparePrivateExtractMethod(dateTime, TimeStampVector.class) + .addStatement( + "return vector.isSet(posInBlock) == 0 ? null : new $T(vector.get(posInBlock))", + dateTime) + .build())); + } + + @NotNull + private static MethodSpec.Builder preparePrivateExtractMethod( + final Class returnsCls, final Class vectorClass) { + final TypeName returns = returnsCls != null ? TypeName.get(returnsCls) : TypeVariableName.get("T"); + return preparePrivateExtractMethod(returns, vectorClass); + } + + @NotNull + private static MethodSpec.Builder preparePrivateExtractMethod( + final TypeName returns, final Class vectorClass) { + return MethodSpec + .methodBuilder("extract") + .addModifiers(Modifier.PRIVATE) + .returns(returns) + .addParameter(TypeName.INT, "posInBlock", Modifier.FINAL) + .addParameter(TypeName.get(vectorClass), "vector", Modifier.FINAL); + } + + @NotNull + private static MethodSpec generatePrivateExtractMethod( + final Class returns, final Class vectorClass, final String nullPrimitive) { + return generatePrivateExtractMethod(returns, vectorClass, nullPrimitive, false); + } + + @NotNull + private static MethodSpec generatePrivateExtractMethod( + final Class returns, final Class vectorClass, final String nullPrimitive, + final boolean getNoOverflow) { + MethodSpec.Builder builder = preparePrivateExtractMethod(returns, vectorClass); + + final String vectorGet = getNoOverflow + ? vectorClass.getSimpleName() + ".getNoOverflow(vector.getDataBuffer(), posInBlock)" + : "vector.get(posInBlock)"; + + if (nullPrimitive == null) { + builder.addStatement("return vector.isSet(posInBlock) == 0 ? null : " + vectorGet); + } else { + builder.addStatement("return vector.isSet(posInBlock) == 0 ? $T.$L : " + vectorGet, + queryConstants(), nullPrimitive); + } + + return builder.build(); + } + + @NotNull + private static MethodSpec generatePrivateObjectExtractMethod( + final Class returns, final Class vectorClass) { + return preparePrivateExtractMethod(returns, vectorClass) + .addStatement("return " + (returns == null ? "(T)" : "") + "vector.getObject(posInBlock)") + .build(); + } + + @NotNull + private static MethodSpec generatePublicGetMethod(final String name, final TypeName returns) { + return MethodSpec + .methodBuilder(name) + .addModifiers(Modifier.PUBLIC, Modifier.FINAL) + .addAnnotation(Override.class) + .returns(returns) + .addParameter(TypeName.LONG, "rowKey", Modifier.FINAL) + .beginControlFlow("try ($T fc = ($T) makeFillContext(0))", fillContext(), fillContext()) + .addStatement("fc.ensureLoadingBlock(getBlockNo(rowKey))") + .addStatement("return extract(getPositionInBlock(rowKey), fc.getVector(field))") + .endControlFlow() + .build(); + } + + private static ClassName queryConstants() { + return ClassName.get("io.deephaven.util", "QueryConstants"); + } + + private static ClassName fillContext() { + return ClassName.get("io.deephaven.extensions.arrow", "ArrowWrapperTools", "FillContext"); + } + + private static ClassName superFillContext() { + return ClassName.get("io.deephaven.engine.table", "ChunkSource", "FillContext"); + } + + private static void generateArrowColumnSource( + final String className, + final Class boxedTypeCls, + final Class typeCls, + final Class vectorType, + final String getterName, + final String getDefaultsInnerType, + final Class writableChunkType, + final List methods) { + final TypeName boxedType = boxedTypeCls != null ? TypeName.get(boxedTypeCls) : TypeVariableName.get("T"); + final TypeName type = typeCls != null ? TypeName.get(typeCls) : TypeName.get(Object.class); + generateArrowColumnSource(className, boxedType, type, vectorType, getterName, getDefaultsInnerType, + writableChunkType, methods); + } + + private static void generateArrowColumnSource( + final String className, + final TypeName boxedType, + final TypeName type, + final Class vectorType, + final String getterName, + final String getDefaultsInnerType, + final Class writableChunkType, + final List methods) { + final AnnotationSpec notNull = AnnotationSpec.builder(NotNull.class).build(); + + final ClassName superType = ClassName.get("io.deephaven.extensions.arrow.sources", "AbstractArrowColumnSource"); + final ClassName defaultsImplCN = ClassName.get( + "io.deephaven.engine.table.impl", "ImmutableColumnSourceGetDefaults", getDefaultsInnerType); + final TypeName defaultsImpl; + if (getDefaultsInnerType.contains("Object")) { + defaultsImpl = ParameterizedTypeName.get(defaultsImplCN, boxedType); + } else { + defaultsImpl = defaultsImplCN; + } + final TypeSpec.Builder columnSourceBuilder = TypeSpec + .classBuilder(className) + .addJavadoc(String.format(JAVADOC_TEMPLATE, vectorType.getSimpleName(), type)) + .superclass(ParameterizedTypeName.get(superType, boxedType)) + .addSuperinterface(defaultsImpl) + .addModifiers(Modifier.PUBLIC); + + final ClassName arrowTableContext = ClassName.get("io.deephaven.extensions.arrow", "ArrowWrapperTools", + "ArrowTableContext"); + MethodSpec.Builder constructor = MethodSpec.constructorBuilder(); + if (className.contains("Object")) { + columnSourceBuilder.addTypeVariable(TypeVariableName.get("T")); + constructor.addParameter( + ParameterizedTypeName.get(ClassName.get(Class.class), TypeVariableName.get("T")).annotated(notNull), + "type", Modifier.FINAL); + constructor.addStatement("super(type, highBit, field, arrowTableContext)"); + } else { + constructor.addStatement("super($T.class, highBit, field, arrowTableContext)", type); + } + constructor + .addParameter(int.class, "highBit", Modifier.FINAL) + .addParameter(TypeName.get(Field.class).annotated(notNull), "field", Modifier.FINAL) + .addParameter(arrowTableContext.annotated(notNull), "arrowTableContext", Modifier.FINAL) + .addModifiers(Modifier.PUBLIC); + + columnSourceBuilder.addMethod(constructor.build()); + + final ClassName attributeValues = ClassName.get("io.deephaven.chunk.attributes", "Values"); + final TypeName writableChunk = ParameterizedTypeName.get( + ClassName.get("io.deephaven.chunk", "WritableChunk"), WildcardTypeName.supertypeOf(attributeValues)); + final TypeName typedWritableChunk; + if (writableChunkType.getSimpleName().contains("Object")) { + typedWritableChunk = ParameterizedTypeName.get(ClassName.get(writableChunkType), boxedType, + WildcardTypeName.supertypeOf(attributeValues)); + } else { + typedWritableChunk = ParameterizedTypeName.get(ClassName.get(writableChunkType), + WildcardTypeName.supertypeOf(attributeValues)); + } + final ClassName rowSequence = ClassName.get("io.deephaven.engine.rowset", "RowSequence"); + columnSourceBuilder.addMethod(MethodSpec.methodBuilder("fillChunk") + .addModifiers(Modifier.PUBLIC) + .addAnnotation(Override.class) + .addParameter(superFillContext().annotated(notNull), "context", Modifier.FINAL) + .addParameter(writableChunk.annotated(notNull), "destination", Modifier.FINAL) + .addParameter(rowSequence.annotated(notNull), "rowSequence", Modifier.FINAL) + .addStatement("final $T chunk = destination.as$L()", typedWritableChunk, + writableChunkType.getSimpleName()) + .addStatement("final $T arrowContext = ($T) context", fillContext(), fillContext()) + .addStatement("chunk.setSize(0)") + .addStatement( + "fillChunk(arrowContext, rowSequence, rowKey -> chunk.add(extract(getPositionInBlock(rowKey), arrowContext.getVector(field))))") + .build()); + + columnSourceBuilder.addMethod(generatePublicGetMethod(getterName, getterName.equals("get") ? boxedType : type)); + methods.forEach(columnSourceBuilder::addMethod); + + final TypeSpec columnSource = columnSourceBuilder.build(); + JavaFile javaFile = JavaFile.builder("io.deephaven.extensions.arrow.sources", columnSource) + .indent(" ") + .skipJavaLangImports(true) + .build(); + + String path = "extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/" + className + ".java"; + try { + final String header = Stream.of( + "/*", + " * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending", + " */", + "/*", + " * ---------------------------------------------------------------------------------------------------------------------", + " * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit " + + MethodHandles.lookup().lookupClass().getSimpleName() + " and regenerate", + " * ---------------------------------------------------------------------------------------------------------------------", + " */", + "").collect(Collectors.joining(System.lineSeparator())); + + Files.write(Paths.get(path), (header + javaFile).getBytes(StandardCharsets.UTF_8)); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } +} diff --git a/replication/static/build.gradle b/replication/static/build.gradle index 75011ed5ced..f7460c2cfcf 100644 --- a/replication/static/build.gradle +++ b/replication/static/build.gradle @@ -81,6 +81,7 @@ task replicateAllSafe { dependsOn Tasks.registerMainExecTask(project, 'replicateRingBuffers', 'io.deephaven.replicators.ReplicateRingBuffers') dependsOn Tasks.registerMainExecTask(project, 'replicatePrimitiveInterfaces', 'io.deephaven.replicators.ReplicatePrimitiveInterfaces') + } // These replicators need manual fix-up post replication and should not be run without supervision diff --git a/server/build.gradle b/server/build.gradle index 810ba791933..e22316162ab 100644 --- a/server/build.gradle +++ b/server/build.gradle @@ -8,6 +8,7 @@ dependencies { implementation project(':authorization') implementation project(':engine-table') implementation project(':extensions-csv') + implementation project(':extensions-arrow') implementation project(':extensions-parquet-table') implementation project(':extensions-jdbc') implementation project(':Util'); diff --git a/settings.gradle b/settings.gradle index 90492ac75fb..908c8cc8375 100644 --- a/settings.gradle +++ b/settings.gradle @@ -228,6 +228,9 @@ project(':extensions-parquet-table').projectDir = file('extensions/parquet/table include(':extensions-parquet-benchmark') project(':extensions-parquet-benchmark').projectDir = file('extensions/parquet/benchmark') +include(':extensions-arrow') +project(':extensions-arrow').projectDir = file('extensions/arrow') + include(':extensions-barrage') project(':extensions-barrage').projectDir = file('extensions/barrage') From 2d93e99f179f2805a1edecd5b57579be65091f63 Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Fri, 31 Mar 2023 08:53:38 -0700 Subject: [PATCH 13/29] Use aircompressor codecs (#3575) Updates to use the aircompressor ZSTD codec, which does not suffer from the same off-heap leak that our own implementation does. Fixes #3470 Additionally, this PR more explicitly configures the order of codecs using org.apache.hadoop.conf.Configuration, and ensures we use the aircompressor GZIP, LZO, and LZ4 codecs. The structure has also been updated to give us explicit control over mapping custom org.apache.hadoop.io.compress.CompressionCodec to the appropriate org.apache.parquet.hadoop.metadata.CompressionCodecName. Verified #2495 and #2569 still work, as well as LZO compressed parquet files. --- ParquetHadoop/build.gradle | 1 + .../parquet/compress/codec/ZstdCodec.java | 65 --------- .../codec/zstd/ZstdCompressorStream.java | 74 ---------- .../codec/zstd/ZstdDecompressorStream.java | 66 --------- extensions/parquet/compression/build.gradle | 2 +- .../DeephavenCompressorAdapterFactory.java | 126 +++++++++++------- .../parquet/compress/codec/LzoCodec.java | 15 --- ...apache.hadoop.io.compress.CompressionCodec | 4 - .../parquet/table/ParquetSchemaReader.java | 2 + extensions/parquet/table/src/test/e0.py | 23 ++++ .../table/src/test/e0.requirements.txt | 6 + extensions/parquet/table/src/test/e1.py | 23 ++++ .../table/src/test/e1.requirements.txt | 6 + extensions/parquet/table/src/test/e2.py | 23 ++++ .../table/src/test/e2.requirements.txt | 9 ++ .../parquet/table/TestParquetTools.java | 56 ++++++++ .../src/test/resources/e0/brotli.parquet | Bin 0 -> 6399 bytes .../table/src/test/resources/e0/gzip.parquet | Bin 0 -> 6639 bytes .../table/src/test/resources/e0/lz4.parquet | Bin 0 -> 6497 bytes .../src/test/resources/e0/snappy.parquet | Bin 0 -> 6376 bytes .../test/resources/e0/uncompressed.parquet | Bin 0 -> 6349 bytes .../table/src/test/resources/e0/zstd.parquet | Bin 0 -> 6494 bytes .../src/test/resources/e1/brotli.parquet | Bin 0 -> 6400 bytes .../table/src/test/resources/e1/gzip.parquet | Bin 0 -> 6640 bytes .../table/src/test/resources/e1/lz4.parquet | Bin 0 -> 6362 bytes .../src/test/resources/e1/snappy.parquet | Bin 0 -> 6377 bytes .../test/resources/e1/uncompressed.parquet | Bin 0 -> 6350 bytes .../table/src/test/resources/e1/zstd.parquet | Bin 0 -> 6499 bytes .../src/test/resources/e2/brotli.parquet | Bin 0 -> 2623 bytes .../table/src/test/resources/e2/gzip.parquet | Bin 0 -> 2775 bytes .../table/src/test/resources/e2/lz4.parquet | Bin 0 -> 2664 bytes .../src/test/resources/e2/snappy.parquet | Bin 0 -> 2667 bytes .../test/resources/e2/uncompressed.parquet | Bin 0 -> 2663 bytes .../table/src/test/resources/e2/zstd.parquet | Bin 0 -> 2730 bytes py/server/tests/test_parquet.py | 2 +- 35 files changed, 227 insertions(+), 276 deletions(-) delete mode 100644 ParquetHadoop/src/main/java/io/deephaven/parquet/compress/codec/ZstdCodec.java delete mode 100644 ParquetHadoop/src/main/java/io/deephaven/parquet/compress/codec/zstd/ZstdCompressorStream.java delete mode 100644 ParquetHadoop/src/main/java/io/deephaven/parquet/compress/codec/zstd/ZstdDecompressorStream.java delete mode 100644 extensions/parquet/compression/src/main/java/io/deephaven/parquet/compress/codec/LzoCodec.java delete mode 100644 extensions/parquet/compression/src/main/resources/META-INF/services/org.apache.hadoop.io.compress.CompressionCodec create mode 100644 extensions/parquet/table/src/test/e0.py create mode 100644 extensions/parquet/table/src/test/e0.requirements.txt create mode 100644 extensions/parquet/table/src/test/e1.py create mode 100644 extensions/parquet/table/src/test/e1.requirements.txt create mode 100644 extensions/parquet/table/src/test/e2.py create mode 100644 extensions/parquet/table/src/test/e2.requirements.txt create mode 100644 extensions/parquet/table/src/test/resources/e0/brotli.parquet create mode 100644 extensions/parquet/table/src/test/resources/e0/gzip.parquet create mode 100644 extensions/parquet/table/src/test/resources/e0/lz4.parquet create mode 100644 extensions/parquet/table/src/test/resources/e0/snappy.parquet create mode 100644 extensions/parquet/table/src/test/resources/e0/uncompressed.parquet create mode 100644 extensions/parquet/table/src/test/resources/e0/zstd.parquet create mode 100644 extensions/parquet/table/src/test/resources/e1/brotli.parquet create mode 100644 extensions/parquet/table/src/test/resources/e1/gzip.parquet create mode 100644 extensions/parquet/table/src/test/resources/e1/lz4.parquet create mode 100644 extensions/parquet/table/src/test/resources/e1/snappy.parquet create mode 100644 extensions/parquet/table/src/test/resources/e1/uncompressed.parquet create mode 100644 extensions/parquet/table/src/test/resources/e1/zstd.parquet create mode 100644 extensions/parquet/table/src/test/resources/e2/brotli.parquet create mode 100644 extensions/parquet/table/src/test/resources/e2/gzip.parquet create mode 100644 extensions/parquet/table/src/test/resources/e2/lz4.parquet create mode 100644 extensions/parquet/table/src/test/resources/e2/snappy.parquet create mode 100644 extensions/parquet/table/src/test/resources/e2/uncompressed.parquet create mode 100644 extensions/parquet/table/src/test/resources/e2/zstd.parquet diff --git a/ParquetHadoop/build.gradle b/ParquetHadoop/build.gradle index 5a5f890ef9d..48461b1a974 100644 --- a/ParquetHadoop/build.gradle +++ b/ParquetHadoop/build.gradle @@ -17,6 +17,7 @@ tasks.withType(License) { } dependencies { + // TODO(deephaven-core#3148): LZ4_RAW parquet support api('org.apache.parquet:parquet-hadoop:1.12.3') api('org.apache.hadoop:hadoop-common:3.3.3') { diff --git a/ParquetHadoop/src/main/java/io/deephaven/parquet/compress/codec/ZstdCodec.java b/ParquetHadoop/src/main/java/io/deephaven/parquet/compress/codec/ZstdCodec.java deleted file mode 100644 index 0a549e5230e..00000000000 --- a/ParquetHadoop/src/main/java/io/deephaven/parquet/compress/codec/ZstdCodec.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package io.deephaven.parquet.compress.codec; - -import com.github.luben.zstd.BufferPool; -import com.github.luben.zstd.NoPool; -import com.github.luben.zstd.RecyclingBufferPool; -import io.deephaven.parquet.compress.codec.zstd.ZstdCompressorStream; -import io.deephaven.parquet.compress.codec.zstd.ZstdDecompressorStream; -import org.apache.hadoop.io.compress.CompressionInputStream; -import org.apache.hadoop.io.compress.CompressionOutputStream; -import org.apache.parquet.hadoop.codec.ZstandardCodec; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -/** - * Provides an alternative codec name of "ZSTD" instead of the superclass's "ZSTANDARD". These streams are also modified - * to use the "no finalizer" variant of the underlying streams, so that GC picking up the streams doesn't close the - * underlying file. - */ -public class ZstdCodec extends ZstandardCodec { - @Override - public CompressionInputStream createInputStream(InputStream stream) throws IOException { - BufferPool pool; - if (getConf().getBoolean(PARQUET_COMPRESS_ZSTD_BUFFERPOOL_ENABLED, - DEFAULT_PARQUET_COMPRESS_ZSTD_BUFFERPOOL_ENABLED)) { - pool = RecyclingBufferPool.INSTANCE; - } else { - pool = NoPool.INSTANCE; - } - return new ZstdDecompressorStream(stream, pool); - } - - @Override - public CompressionOutputStream createOutputStream(OutputStream stream) throws IOException { - BufferPool pool; - if (getConf().getBoolean(PARQUET_COMPRESS_ZSTD_BUFFERPOOL_ENABLED, - DEFAULT_PARQUET_COMPRESS_ZSTD_BUFFERPOOL_ENABLED)) { - pool = RecyclingBufferPool.INSTANCE; - } else { - pool = NoPool.INSTANCE; - } - return new ZstdCompressorStream(stream, pool, - getConf().getInt(PARQUET_COMPRESS_ZSTD_LEVEL, DEFAULT_PARQUET_COMPRESS_ZSTD_LEVEL), - getConf().getInt(PARQUET_COMPRESS_ZSTD_WORKERS, DEFAULTPARQUET_COMPRESS_ZSTD_WORKERS)); - } -} diff --git a/ParquetHadoop/src/main/java/io/deephaven/parquet/compress/codec/zstd/ZstdCompressorStream.java b/ParquetHadoop/src/main/java/io/deephaven/parquet/compress/codec/zstd/ZstdCompressorStream.java deleted file mode 100644 index 3eaf96c52ed..00000000000 --- a/ParquetHadoop/src/main/java/io/deephaven/parquet/compress/codec/zstd/ZstdCompressorStream.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package io.deephaven.parquet.compress.codec.zstd; - -import com.github.luben.zstd.BufferPool; -import com.github.luben.zstd.ZstdOutputStreamNoFinalizer; -import org.apache.hadoop.io.compress.CompressionOutputStream; - -import java.io.IOException; -import java.io.OutputStream; - -/** - * Modified version of {@link org.apache.parquet.hadoop.codec.ZstdCompressorStream} but with the no-finalizer - * version of the output stream to avoid closing the underlying stream when GC runs. - */ -public class ZstdCompressorStream extends CompressionOutputStream { - - private final ZstdOutputStreamNoFinalizer zstdOutputStream; - - public ZstdCompressorStream(OutputStream stream, int level, int workers) throws IOException { - super(stream); - zstdOutputStream = new ZstdOutputStreamNoFinalizer(stream, level); - zstdOutputStream.setWorkers(workers); - } - - public ZstdCompressorStream(OutputStream stream, BufferPool pool, int level, int workers) throws IOException { - super(stream); - zstdOutputStream = new ZstdOutputStreamNoFinalizer(stream, pool); - zstdOutputStream.setLevel(level); - zstdOutputStream.setWorkers(workers); - } - - public void write(byte[] b, int off, int len) throws IOException { - zstdOutputStream.write(b, off, len); - } - - public void write(int b) throws IOException { - zstdOutputStream.write(b); - } - - public void finish() throws IOException { - // no-op, doesn't apply to ZSTD - } - - public void resetState() throws IOException { - // no-op, doesn't apply to ZSTD - } - - @Override - public void flush() throws IOException { - zstdOutputStream.flush(); - } - - @Override - public void close() throws IOException { - zstdOutputStream.close(); - } -} diff --git a/ParquetHadoop/src/main/java/io/deephaven/parquet/compress/codec/zstd/ZstdDecompressorStream.java b/ParquetHadoop/src/main/java/io/deephaven/parquet/compress/codec/zstd/ZstdDecompressorStream.java deleted file mode 100644 index 6a054f49760..00000000000 --- a/ParquetHadoop/src/main/java/io/deephaven/parquet/compress/codec/zstd/ZstdDecompressorStream.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package io.deephaven.parquet.compress.codec.zstd; - -import com.github.luben.zstd.BufferPool; -import com.github.luben.zstd.ZstdInputStreamNoFinalizer; -import org.apache.hadoop.io.compress.CompressionInputStream; - -import java.io.IOException; -import java.io.InputStream; - -/** - * Modified version of {@link org.apache.parquet.hadoop.codec.ZstdDecompressorStream} but with the no-finalizer - * version of the input stream to avoid closing the underlying stream when GC runs. - */ -public class ZstdDecompressorStream extends CompressionInputStream { - - private final ZstdInputStreamNoFinalizer zstdInputStream; - - public ZstdDecompressorStream(InputStream stream) throws IOException { - super(stream); - zstdInputStream = new ZstdInputStreamNoFinalizer(stream); - } - - public ZstdDecompressorStream(InputStream stream, BufferPool pool) throws IOException { - super(stream); - zstdInputStream = new ZstdInputStreamNoFinalizer(stream, pool); - } - - public int read(byte[] b, int off, int len) throws IOException { - return zstdInputStream.read(b, off, len); - } - - public int read() throws IOException { - return zstdInputStream.read(); - } - - public void resetState() throws IOException { - // no-op, doesn't apply to ZSTD - } - - @Override - public void close() throws IOException { - try { - zstdInputStream.close(); - } finally { - super.close(); - } - } -} diff --git a/extensions/parquet/compression/build.gradle b/extensions/parquet/compression/build.gradle index e4e9cbe9ce0..416f9e95591 100644 --- a/extensions/parquet/compression/build.gradle +++ b/extensions/parquet/compression/build.gradle @@ -18,7 +18,7 @@ dependencies { because 'hadoop-common required dependency for LZ4Codec' } // Pick up default jvm-compatible compression codecs - implementation('io.airlift:aircompressor:0.21') { + implementation('io.airlift:aircompressor:0.24') { because 'Provides Lz4, LZO, Zstd compression support for parquet' } diff --git a/extensions/parquet/compression/src/main/java/io/deephaven/parquet/compress/DeephavenCompressorAdapterFactory.java b/extensions/parquet/compression/src/main/java/io/deephaven/parquet/compress/DeephavenCompressorAdapterFactory.java index c1439e7cd00..5b506d5f1fc 100644 --- a/extensions/parquet/compression/src/main/java/io/deephaven/parquet/compress/DeephavenCompressorAdapterFactory.java +++ b/extensions/parquet/compression/src/main/java/io/deephaven/parquet/compress/DeephavenCompressorAdapterFactory.java @@ -4,19 +4,33 @@ package io.deephaven.parquet.compress; import com.google.common.io.ByteStreams; +import io.airlift.compress.gzip.JdkGzipCodec; +import io.airlift.compress.lz4.Lz4Codec; +import io.airlift.compress.lzo.LzoCodec; +import io.airlift.compress.zstd.ZstdCodec; import org.apache.commons.io.IOUtils; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.io.compress.*; +import org.apache.hadoop.io.compress.CodecPool; +import org.apache.hadoop.io.compress.CompressionCodec; +import org.apache.hadoop.io.compress.CompressionCodecFactory; +import org.apache.hadoop.io.compress.CompressionInputStream; +import org.apache.hadoop.io.compress.Compressor; +import org.apache.hadoop.io.compress.Decompressor; import org.apache.parquet.bytes.BytesInput; +import org.apache.parquet.hadoop.codec.SnappyCodec; import org.apache.parquet.hadoop.metadata.CompressionCodecName; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.Stream; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Objects; + /** * Deephaven flavor of the Hadoop/Parquet CompressionCodec factory, offering support for picking codecs from @@ -24,51 +38,61 @@ * CompressionCodecName enum value having loaded the codec in this way. */ public class DeephavenCompressorAdapterFactory { - - // Default codecs to list in the configuration rather than rely on the classloader - private static final Set DEFAULT_CODECS = Set.of( - // Manually specify the "parquet" codec rather than the ServiceLoader-selected snappy codec, which is - // apparently incompatible with other parquet files which use snappy. This codec does use platform-specific - // implementations, but has native implementations for the platforms we support today. - "org.apache.parquet.hadoop.codec.SnappyCodec"); - private static final List> CODECS = io.deephaven.configuration.Configuration.getInstance() - .getStringSetFromPropertyWithDefault("DeephavenCodecFactory.codecs", DEFAULT_CODECS).stream() - .map((String className) -> { - try { - return Class.forName(className); - } catch (ClassNotFoundException e) { - throw new IllegalStateException("Can't find codec with name " + className); - } - }).collect(Collectors.toList()); - private static volatile DeephavenCompressorAdapterFactory INSTANCE; - public static synchronized void setInstance(DeephavenCompressorAdapterFactory factory) { - if (INSTANCE != null) { - throw new IllegalStateException("Can't assign an instance when one is already set"); - } - INSTANCE = factory; - } - public static DeephavenCompressorAdapterFactory getInstance() { if (INSTANCE == null) { synchronized (DeephavenCompressorAdapterFactory.class) { if (INSTANCE == null) { - INSTANCE = new DeephavenCompressorAdapterFactory(CODECS); + INSTANCE = createInstance(); } } } return INSTANCE; } - public static class CodecWrappingCompressorAdapter implements CompressorAdapter { + private static DeephavenCompressorAdapterFactory createInstance() { + // It's important that we create an explicit hadoop configuration for these so they take precedence; they will + // come last when added to the map, so will overwrite other codecs that match the same name / extension. + // See org.apache.hadoop.io.compress.CompressionCodecFactory#addCodec. + final Map, CompressionCodecName> explicitConfig = Map.of( + // Manually specify the "parquet" codec rather than the ServiceLoader-selected snappy codec, + // which is apparently incompatible with other parquet files which use snappy. This codec + // does use platform-specific implementations, but has native implementations for the + // platforms we support today. + SnappyCodec.class, CompressionCodecName.SNAPPY, + // The rest of these are aircompressor codecs which have fast / pure java implementations + JdkGzipCodec.class, CompressionCodecName.GZIP, + LzoCodec.class, CompressionCodecName.LZO, + Lz4Codec.class, CompressionCodecName.LZ4, + ZstdCodec.class, CompressionCodecName.ZSTD); + final Configuration conf = configurationWithCodecClasses(explicitConfig.keySet()); + final CompressionCodecFactory factory = new CompressionCodecFactory(conf); + final Map codecToNames = + new HashMap<>(CompressionCodecName.values().length + explicitConfig.size()); + for (CompressionCodecName value : CompressionCodecName.values()) { + final String name = value.getHadoopCompressionCodecClassName(); + if (name != null) { + codecToNames.put(name, value); + } + } + for (Entry, CompressionCodecName> e : explicitConfig.entrySet()) { + codecToNames.put(e.getKey().getName(), e.getValue()); + } + return new DeephavenCompressorAdapterFactory(factory, Collections.unmodifiableMap(codecToNames)); + } + + private static class CodecWrappingCompressorAdapter implements CompressorAdapter { private final CompressionCodec compressionCodec; + private final CompressionCodecName compressionCodecName; private boolean innerCompressorPooled; private Compressor innerCompressor; - private CodecWrappingCompressorAdapter(CompressionCodec compressionCodec) { - this.compressionCodec = compressionCodec; + private CodecWrappingCompressorAdapter(CompressionCodec compressionCodec, + CompressionCodecName compressionCodecName) { + this.compressionCodec = Objects.requireNonNull(compressionCodec); + this.compressionCodecName = Objects.requireNonNull(compressionCodecName); } @Override @@ -93,10 +117,7 @@ public OutputStream compress(OutputStream os) throws IOException { @Override public CompressionCodecName getCodecName() { - return Stream.of(CompressionCodecName.values()) - .filter(codec -> compressionCodec.getDefaultExtension().equals(codec.getExtension())) - .findAny() - .get(); + return compressionCodecName; } @Override @@ -140,21 +161,20 @@ public void close() { } } - private static Configuration configurationWithCodecClasses(List> codecClasses) { + private static Configuration configurationWithCodecClasses( + Collection> codecClasses) { Configuration conf = new Configuration(); - // noinspection unchecked, rawtypes - CompressionCodecFactory.setCodecClasses(conf, (List) codecClasses); + CompressionCodecFactory.setCodecClasses(conf, new ArrayList<>(codecClasses)); return conf; } private final CompressionCodecFactory compressionCodecFactory; + private final Map codecClassnameToCodecName; - public DeephavenCompressorAdapterFactory(List> codecClasses) { - this(configurationWithCodecClasses(codecClasses)); - } - - public DeephavenCompressorAdapterFactory(Configuration configuration) { - compressionCodecFactory = new CompressionCodecFactory(configuration); + private DeephavenCompressorAdapterFactory(CompressionCodecFactory compressionCodecFactory, + Map codecClassnameToCodecName) { + this.compressionCodecFactory = Objects.requireNonNull(compressionCodecFactory); + this.codecClassnameToCodecName = Objects.requireNonNull(codecClassnameToCodecName); } /** @@ -167,11 +187,17 @@ public CompressorAdapter getByName(String codecName) { if (codecName.equalsIgnoreCase("UNCOMPRESSED")) { return CompressorAdapter.PASSTHRU; } - - CompressionCodec codec = compressionCodecFactory.getCodecByName(codecName); + final CompressionCodec codec = compressionCodecFactory.getCodecByName(codecName); if (codec == null) { - throw new IllegalArgumentException("Failed to find a compression codec with name " + codecName); + throw new IllegalArgumentException( + String.format("Failed to find CompressionCodec for codecName=%s", codecName)); + } + final CompressionCodecName ccn = codecClassnameToCodecName.get(codec.getClass().getName()); + if (ccn == null) { + throw new IllegalArgumentException(String.format( + "Failed to find CompressionCodecName for codecName=%s, codec=%s, codec.getDefaultExtension()=%s", + codecName, codec, codec.getDefaultExtension())); } - return new CodecWrappingCompressorAdapter(codec); + return new CodecWrappingCompressorAdapter(codec, ccn); } } diff --git a/extensions/parquet/compression/src/main/java/io/deephaven/parquet/compress/codec/LzoCodec.java b/extensions/parquet/compression/src/main/java/io/deephaven/parquet/compress/codec/LzoCodec.java deleted file mode 100644 index 1db729d88e6..00000000000 --- a/extensions/parquet/compression/src/main/java/io/deephaven/parquet/compress/codec/LzoCodec.java +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ -package io.deephaven.parquet.compress.codec; - -/** - * Provides an alternative file extension of ".lzo", while the subclass offers ".lzo_deflate". This is necessary to - * fully replace functionality of the non-ServiceLoader compression codec factory. - */ -public class LzoCodec extends io.airlift.compress.lzo.LzoCodec { - @Override - public String getDefaultExtension() { - return ".lzo"; - } -} diff --git a/extensions/parquet/compression/src/main/resources/META-INF/services/org.apache.hadoop.io.compress.CompressionCodec b/extensions/parquet/compression/src/main/resources/META-INF/services/org.apache.hadoop.io.compress.CompressionCodec deleted file mode 100644 index e981ac1d72c..00000000000 --- a/extensions/parquet/compression/src/main/resources/META-INF/services/org.apache.hadoop.io.compress.CompressionCodec +++ /dev/null @@ -1,4 +0,0 @@ -# Provides codec support that Deephaven will use out of the box, but isn't specified upstream -io.airlift.compress.lzo.LzoCodec -io.deephaven.parquet.compress.codec.ZstdCodec -io.deephaven.parquet.compress.codec.LzoCodec diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetSchemaReader.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetSchemaReader.java index d88b716ab57..bf8518b64a2 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetSchemaReader.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetSchemaReader.java @@ -352,6 +352,8 @@ public Optional> visit(final LogicalTypeAnnotation.TimeLogicalTypeAnnot @Override public Optional> visit( final LogicalTypeAnnotation.TimestampLogicalTypeAnnotation timestampLogicalType) { + // TODO(deephaven-core#3588): Unable to read parquet TimestampLogicalTypeAnnotation that is not adjusted + // to UTC if (timestampLogicalType.isAdjustedToUTC()) { switch (timestampLogicalType.getUnit()) { case MILLIS: diff --git a/extensions/parquet/table/src/test/e0.py b/extensions/parquet/table/src/test/e0.py new file mode 100644 index 00000000000..09416337baa --- /dev/null +++ b/extensions/parquet/table/src/test/e0.py @@ -0,0 +1,23 @@ +import pandas as pd +import numpy as np + +df = pd.DataFrame( + { + "a": list("abc"), + "b": list(range(1, 4)), + "c": np.arange(3, 6).astype("u1"), + "d": np.arange(4.0, 7.0, dtype="float64"), + "e": [True, False, True], + "f": pd.date_range("20130101", periods=3), + "g": pd.date_range("20130101", periods=3, tz="US/Eastern"), + "h": pd.Categorical(list("abc")), + "i": pd.Categorical(list("abc"), ordered=True), + } +) + +df.to_parquet("resources/e0/uncompressed.parquet", compression=None) +df.to_parquet("resources/e0/brotli.parquet", compression="brotli") +df.to_parquet("resources/e0/gzip.parquet", compression="gzip") +df.to_parquet("resources/e0/lz4.parquet", compression="lz4") +df.to_parquet("resources/e0/snappy.parquet", compression="snappy") +df.to_parquet("resources/e0/zstd.parquet", compression="zstd") diff --git a/extensions/parquet/table/src/test/e0.requirements.txt b/extensions/parquet/table/src/test/e0.requirements.txt new file mode 100644 index 00000000000..ba37038bfb6 --- /dev/null +++ b/extensions/parquet/table/src/test/e0.requirements.txt @@ -0,0 +1,6 @@ +numpy==1.24.2 +pandas==1.5.3 +pyarrow==4.0.1 +python-dateutil==2.8.2 +pytz==2022.7.1 +six==1.16.0 diff --git a/extensions/parquet/table/src/test/e1.py b/extensions/parquet/table/src/test/e1.py new file mode 100644 index 00000000000..408c327f3a8 --- /dev/null +++ b/extensions/parquet/table/src/test/e1.py @@ -0,0 +1,23 @@ +import pandas as pd +import numpy as np + +df = pd.DataFrame( + { + "a": list("abc"), + "b": list(range(1, 4)), + "c": np.arange(3, 6).astype("u1"), + "d": np.arange(4.0, 7.0, dtype="float64"), + "e": [True, False, True], + "f": pd.date_range("20130101", periods=3), + "g": pd.date_range("20130101", periods=3, tz="US/Eastern"), + "h": pd.Categorical(list("abc")), + "i": pd.Categorical(list("abc"), ordered=True), + } +) + +df.to_parquet("resources/e1/uncompressed.parquet", compression=None) +df.to_parquet("resources/e1/brotli.parquet", compression="brotli") +df.to_parquet("resources/e1/gzip.parquet", compression="gzip") +df.to_parquet("resources/e1/lz4.parquet", compression="lz4") +df.to_parquet("resources/e1/snappy.parquet", compression="snappy") +df.to_parquet("resources/e1/zstd.parquet", compression="zstd") diff --git a/extensions/parquet/table/src/test/e1.requirements.txt b/extensions/parquet/table/src/test/e1.requirements.txt new file mode 100644 index 00000000000..b5f6f59c296 --- /dev/null +++ b/extensions/parquet/table/src/test/e1.requirements.txt @@ -0,0 +1,6 @@ +numpy==1.24.2 +pandas==1.5.3 +pyarrow==11.0.0 +python-dateutil==2.8.2 +pytz==2022.7.1 +six==1.16.0 diff --git a/extensions/parquet/table/src/test/e2.py b/extensions/parquet/table/src/test/e2.py new file mode 100644 index 00000000000..446fb28519a --- /dev/null +++ b/extensions/parquet/table/src/test/e2.py @@ -0,0 +1,23 @@ +import pandas as pd +import numpy as np + +df = pd.DataFrame( + { + "a": list("abc"), + "b": list(range(1, 4)), + "c": np.arange(3, 6).astype("u1"), + "d": np.arange(4.0, 7.0, dtype="float64"), + "e": [True, False, True], + "f": pd.date_range("20130101", periods=3), + "g": pd.date_range("20130101", periods=3, tz="US/Eastern"), + "h": pd.Categorical(list("abc")), + "i": pd.Categorical(list("abc"), ordered=True), + } +) + +df.to_parquet("resources/e2/uncompressed.parquet", compression=None) +df.to_parquet("resources/e2/brotli.parquet", compression="brotli") +df.to_parquet("resources/e2/gzip.parquet", compression="gzip") +df.to_parquet("resources/e2/lz4.parquet", compression="lz4") +df.to_parquet("resources/e2/snappy.parquet", compression="snappy") +df.to_parquet("resources/e2/zstd.parquet", compression="zstd") diff --git a/extensions/parquet/table/src/test/e2.requirements.txt b/extensions/parquet/table/src/test/e2.requirements.txt new file mode 100644 index 00000000000..b1ccb61d6c7 --- /dev/null +++ b/extensions/parquet/table/src/test/e2.requirements.txt @@ -0,0 +1,9 @@ +cramjam==2.6.2 +fastparquet==2023.2.0 +fsspec==2023.3.0 +numpy==1.24.2 +packaging==23.0 +pandas==1.5.3 +python-dateutil==2.8.2 +pytz==2022.7.1 +six==1.16.0 diff --git a/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/TestParquetTools.java b/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/TestParquetTools.java index b8bc9d10a81..5dc25d65f0e 100644 --- a/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/TestParquetTools.java +++ b/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/TestParquetTools.java @@ -434,6 +434,62 @@ public void testMultipleRenamesWithSameOuterName() { t -> t.updateView("Y = Z", "Y = X").where("Y % 2 == 0")); } + @Test + public void e0() { + final Table uncompressed = + ParquetTools.readTable(TestParquetTools.class.getResource("/e0/uncompressed.parquet").getFile()); + + final Table gzip = ParquetTools.readTable(TestParquetTools.class.getResource("/e0/gzip.parquet").getFile()); + assertTableEquals(uncompressed, gzip); + + final Table lz4 = ParquetTools.readTable(TestParquetTools.class.getResource("/e0/lz4.parquet").getFile()); + assertTableEquals(uncompressed, lz4); + + final Table snappy = ParquetTools.readTable(TestParquetTools.class.getResource("/e0/snappy.parquet").getFile()); + assertTableEquals(uncompressed, snappy); + + final Table zstd = ParquetTools.readTable(TestParquetTools.class.getResource("/e0/zstd.parquet").getFile()); + assertTableEquals(uncompressed, zstd); + } + + @Test + public void e1() { + final Table uncompressed = + ParquetTools.readTable(TestParquetTools.class.getResource("/e1/uncompressed.parquet").getFile()); + + final Table gzip = ParquetTools.readTable(TestParquetTools.class.getResource("/e1/gzip.parquet").getFile()); + assertTableEquals(uncompressed, gzip); + + // TODO(deephaven-core#3585): LZ4_RAW parquet support + // final Table lz4 = ParquetTools.readTable(TestParquetTools.class.getResource("/e1/lz4.parquet").getFile()); + // assertTableEquals(uncompressed, lz4); + + final Table snappy = ParquetTools.readTable(TestParquetTools.class.getResource("/e1/snappy.parquet").getFile()); + assertTableEquals(uncompressed, snappy); + + final Table zstd = ParquetTools.readTable(TestParquetTools.class.getResource("/e1/zstd.parquet").getFile()); + assertTableEquals(uncompressed, zstd); + } + + // TODO(deephaven-core#3588): Unable to read parquet TimestampLogicalTypeAnnotation that is not adjusted to UTC + // @Test + // public void e2() { + // final Table uncompressed = + // ParquetTools.readTable(TestParquetTools.class.getResource("/e2/uncompressed.parquet").getFile()); + // + // final Table gzip = ParquetTools.readTable(TestParquetTools.class.getResource("/e2/gzip.parquet").getFile()); + // assertTableEquals(uncompressed, gzip); + // + // final Table lz4 = ParquetTools.readTable(TestParquetTools.class.getResource("/e2/lz4.parquet").getFile()); + // assertTableEquals(uncompressed, lz4); + // + // final Table snappy = ParquetTools.readTable(TestParquetTools.class.getResource("/e2/snappy.parquet").getFile()); + // assertTableEquals(uncompressed, snappy); + // + // final Table zstd = ParquetTools.readTable(TestParquetTools.class.getResource("/e2/zstd.parquet").getFile()); + // assertTableEquals(uncompressed, zstd); + // } + private void testWriteRead(Table source, Function transform) { final File f2w = new File(testRoot, "testWriteRead.parquet"); ParquetTools.writeTable(source, f2w); diff --git a/extensions/parquet/table/src/test/resources/e0/brotli.parquet b/extensions/parquet/table/src/test/resources/e0/brotli.parquet new file mode 100644 index 0000000000000000000000000000000000000000..01e7d994f64080e7d9019d59f64900ea4ab5dace GIT binary patch literal 6399 zcmcIpO>7&-6<$&_t4d0m$Xb>}h*Tirg^|cIe?-M}Qy@!9{Ie*Fl*B(H5cZGclDkWW zKcXnZfKj+bkfev^(!lT`2zn@roPr?8F})Wp5EMa?Q;@d7Iv$T-4Pm zQka~;_|2S`b__A{1mjmW*OxZtuXg5LyY~l}o*IXnUL7&Hh;caQ7xD`qI#wUsCZhlz z9hWc$hY`&L(odaU+CD@o5TtM0Tn}x`KQA$lE+L=hGcsBVAZktwSDQg&wT52 z{r?c62)yNFf zQ-Y!BXK5EEAw`nVZL_&;xap(?!;5o9Dqfmn{=Dd=DbE#>h7!TC=PEK^EW9?c$^&Zf zXOx0BhGf07c%SIufYjP}K-Zy-+>8%zU-{e@fL;!tfn!!XTS4 zd`L6jtelI%?)fN8xt$%MCaD~~OwmhM>`-v8P&;1O5!!(x9`YJn;fibLqs#M9*(rJf z1tO$8wvwS(xw5kJ?y`3c6ozZ7D0+SF=l>j{bVk( zo;^v8VlJ{=Fc*1pnI}JR%#)uJ*WVUhPDoDI$4e^| zrqWZjj_>B`ox8pU$e`zIb6QpMt*!brPL)8Q^%Mn0oi5kz!q89p%@%Y+q$^=JaPJKm z==P3?amg?{Zlxkiig+|G(_tNT2Q75x>uIvk6mxAfgEuJur5|>S825&xL4pK|~WSDoT@^8i#4(JU3*g$G3!tCfxANreY0b zC_T?X#To|@O*nvrlDaaaJYz@8Vhj)F5^0cXu z({i|feVglarM3oXZ_dG*6$TMazz`tnYO^g1+!S_)$zuu^lDwxL4Ofvvj%A?P7Nxd? z^`pWm9cdhjY=uHZ7Y(J`?g0`~nA#H8ZMI3hP-MQ%wFg)(S_7`#ZuSx0vDEI!O%0_R z>;CnC56JWx08Mj&_3(PgcaL%}vANvs!cF}n#Qk{XIzBh5NtR^~;Wv6>RrWT^me^>P zO|fiKmuIu=wxI#@8SF;c;e2!hba4z1(IWFP7WJ|$v|xwDcBquVu8@fL%8B?X2&1@O z8l+pinp32Bq|OIV0(>ESnyNReg-}Q4f=aI(OKqlN=|QOw*2?>-4)lAaLO?+sUdwm* zSihRmcKxMd+K;k~G3G<8d|PHucVet8gmQ|2cDCY?;y&oByT^Po-{qBv?mLkm`Q+7j z7yN9d65#-!=%YWCE95)ncw~y-XbrH}gh0eE6{7@GO3U}S!tQZ7aVVp2z}OX%N<~a6 zePTD3J}#*(r4-8Q^M$;>RLIrD#5UlKzM4|=y;3mJ;2>U%C#B>MbFzOUr3J>ZYZ=t% zfxi*1l)6o9mQ_XJ6S>MLmRP!$l98vUj<+WkPC6CfbR0)&77lqP4pr%iTO~i4SAqLt zG+Yej!UFIJ`zQk+{@wai&Sqf9%)(Hgi9yS^crCjz3xildjMZuTHUoo>cglV=W@1pw z9X=R8i`AMxDxZkd&bSIFVj|us6?3)GnMnFOsbohs?Z2YORBn|ECyin-T;mHmug00` z!}$UmyXHKV`Cz0oi;I#PIp$;JJa)_A8_u-9G&(mYk)0UkvdNE3bS-BorIrYv!@6MJ zbF>MzTZnbWS;Dv>ex+MJDESM)@M%%65#JBfU=}9fdtl1@B|RqC`#@jHn`!{m1Tm5K zb5N&t>p7m+c14}X@x6jGLv$oH(lcs9{%{b9!#+UV=^mc>Ngg?!^C>*)c{z>866904 zARY^6+d%g_-FlSYPx^KkLyVb&W0_^Zcg~?;P{n;SKuQBmTcc5 z$iOKM@TEW4jcVA}zc)&w?+p+^NXQ3!3t#zs<~Ub~pF$oDcyN1b4@g6E*(OnfIB-DT zqi&)E-B{4zcZ-d0L6_i3=y-_!BpwCVXVHG>V5q;P>z~C-e2`G0u;~PM0$cq_vCR>_ z6mbHR@J!-^EvO=&S#06K*H*^B8)a)KV+DNaS%E#hTQc;4Bv>!#-)Cf6X9Dm-o>b8; zY$f3xoDcUjkJ6gKNG N6}?PRd+=W${{yhEK3xC+ literal 0 HcmV?d00001 diff --git a/extensions/parquet/table/src/test/resources/e0/gzip.parquet b/extensions/parquet/table/src/test/resources/e0/gzip.parquet new file mode 100644 index 0000000000000000000000000000000000000000..b68912d7cdb9cbe3cd9360863e139f79af512fe4 GIT binary patch literal 6639 zcmcgxO>7(25njp+tvagXI9iqh*hVF)g#pX*k`xuubqg;kks>Y15@qd@Gy-Y=NUpTI zWceeCat)+FgEp=M6utx~QXnXjn-4h@C{P$kb7+A6rEOsJ&_kLO=*8%%=%FZDpfhht zisUZk#Hq73ci)>gJM(?>=FKeZbuJsE-Sk)JZ?4iF+I^Oyp8vr(MXnRFva_?IxX-4h z15?zmGs696Ku%NiBz<`nmEq^{FHq-Pvd<;LQs0}>&d!dkNIZz|{_W$fQ?SZBaQW$p zsfe5MOo2Y__IkYEb$Ng5VkBn#$jsC%7tmjh_H1UcPacHK4rIIR_~$J_7w8+}J0? zN2n})#R2LL<#L^5e>pw&){LL};rRRm=MAxT!FR>iNwPCna6{};kUWCPKTi4SQ(Y!X zcSG)uG55c~d^8RlVmCU%l>Jg{ecHPS~EJ&bOW^orERk%`f_C zYHEh0xk_-Ydk>g<6PJgqOo1Bw>7{tqA*ze)fA4=dO^7iw7z|&FW-yZ@V+_5{QER>=QM`bW^{xr zhw$QwUU#7Tuk5dOzWvI}-}&m-*5Ci~Qss|tzvB6Tdicg`u@P*4dhYTKi|s$#RJhC5 zCVe#9JCl8EOI@}<8Dsu*mU;Lrvb7l{Y;97?k?rSEUhjUXue_EC1*^Qi;bq>VA5maG z4}cFK;d}L8>jU^#AM<_Ru>i-W?nNk{r!JROL!{4A^u){<^pF{9)en11yKyGLQNpJ@ z<6XV?+&FYHiavz`1x^`0)sA9uW^(n;S^q33bl)wZ=-IA_7%z8?lbP0;c|BA9sn;L7 zl`&7Ui!h(Hwlhz%q&`krWS(RZVxHugXCD7FGLL^wyzf8l^+0lZ@1B{Ypc45!Rnb($ zy6@dnHv^ifs0Z6}MQ<8rJ#cCI#?8PU$Y2zxiDpR+%uWYP(NIBPHgz3l^@dn$z?3E9 zN)?7-GE{LGy!9eXEPLC;xY{v0Xr-vBy0SeevtVsE+EsKHXquW_Q7i;aquTB*RHR*1 zZXhy4ZHS845JCNBKs7;KGfVjH*7d}N#lWpTFoP%pBECKV!V-NZ3>cwXvjC;TDf-n)R9cSF2!4=l)1*{b7>Z3na*4abJ{hHJ6w%(njFsRGTK>6M01;;T0 zD||!Jqn7U^-}5OMi3a#tNF^gdDcM4QhA8m$LL%zmH&zDhWjPpS)m)5VN|}696xQ|& z$t?|i1IC8Dq8F7Fy+!QC)BAa&s^`NS*1Ev6c_CX?lFNWM_Cm_woB2?5PXxZmC#CaS zS&f}fnZZHqW(M^oh+hv^%2*~g3x=*s$!xL5C7v#)G>p^#9dA<+4(dgS=^&2OC>+{I z9ERRhmhvoFHz4-8SR@zDMr4R1?4t(pVApmXV>SXqW)z0qkr+(ADw!MeqcA7}Vk|lB z+XxI6UWfhI8;QXv)TL13h^sw+3@I5cAH^!DE6K!OK9?=`&cq5^Pp#CozWvuNPK9bg zIM~aDB4tUi;@UY=EjV9bW34|=H7OLWkBUX!i0(^qavmE6@C|30&G*jDL3A~ax!mVR zBf7S;lrr)pp5408zvpNZY*!KMh_i&efxq4;T+g#YC~}yyYQ!hQ)Ea(PpPM@LTO@0`>uTr<-`@hvO(( zF?Wcgm6uL&%tJmE1Z7_~^xeGB8WqdF+_&LGj>SGZy4=Qkn!)-AcA>r+{2u0C!AR8Q z5FfSIggxTd;Ve`~pM^DyqbY^cRq#DB7qK>6bIL_L18{zFp(8tm9M(;%FM!=Wh_g<5 z%u2Sc2!NZ1vlCD60w3@lZ6hbxr@AOW56Yz@q$ZoO2#niO*vb>d;M;OY-^!+zk{p9k&}*pjzv?>{t-XEPoChc`{cNVA%At8 zpTB+{K2qS7<*Ni4IK>IxtP6)R6UWx~M!xsG0V1G;@!+oFjpsA_Ss`%DX9r*);cN)KO(IDtjDhVj7`lrWwf_=F2@OPLPd7*|FaC*#e^3LII(d`BOG1n=9cBeaKpn~v_$UfQ!vVfzL=w?C&`&~fj{y+SkV$Oex$ zxJBJ{34Rv`YtR8{egv-@1bIQXuZ3ya8aM7kyse4_&@ryOgwV~>37Q`QT zg0#m#%oD_)xqSa}F|XXrNABQPkZ)_1pZ=c7swDt%^HW6Zf#(`L^Y(y$JxKR^47+T+ z{2y^g|Oa^frAPoc*0!kFHanP%Dps0L}ks z9-n`~STRPo9-+UjRGnh+_p3L9^rC@XH2nR_#r$=Fd9eWgwn}o4Z(|olzeTTNuu>#g z{Vtc^h2cPYUGR127P@-KUSoc?6r`!Z8VOg4fI0B-%qKVAo7)-yHu#x_>h_%TzV-Q= z)Th7r)5c%mTvt2)NMipYeWMJ$jRz+yVC!TLvCu+w@ZcA3nIg7sc<_ar`Rpe1#S(hZ zBFRC%jR)}_+8OunF%?6jjtXyQuzz{?y{GoZO;!NLWDikpp*k4%a@k~D!(`mgZ!<4% zp>Y;T4)Se{yMmPWOWKt3ngp?)@_xU<{PWKLNP1U*=Xc*U;gL;v{^nzT;=2@&JMeLw z@_YM2Q&Ks4nWC50+>plCsJ$Q@7wy3r54Qk&Va>Pq@tp;%9rPj+M2K|kr3qtwZDsGr z%fWSW(E8p6l5QI$BD`q`Co_36^LYcoz=yA0O_-}p>de>8zRXpoz}LxW%vEL-<|=PA z^ZJ*MdHs9h`{NCt7lPCG>gEbX1=juEE~klH-~WfjXCYY=rLz;EqYPE8A9}d@^jWA4 zG#G_?oYs&+>#HG+Qzam1Lq&mEf57zyFb$J&rwhXv8A>>eJbxc1y1Wx2T$+fTl~R`_ zMLe0M>99@)<1VTT4K-Qlh&qCy+8s|9I($nK28c|R2As$ZIADJkk~CnKwFd4zK1$zv z5PEI`Gm9d`;r1C2I_Ya+Ko31%2PhM}LcCQAA5K+{@e zBfb#}J*WIjY_a&H{80Z0@&A40KDGyqU6y5!;hDBngMGrXRW?~*vn<=u>4gHjGvR>s zJPwnrv7X!nUYtWCTx31PB42@p9^|mt8%!A-3Yqk{d3F8&}J5t#+90!+2ONM-=4YwNjr?jT%{PKU}Tk!br&}#>I(aoc06kmTOgzG8MyOBa z%B6lSov_iHYy$SC5J`lkN|Ip8YNa7p-aoBnj%Cyh7ze_xQWtlX5s{n9omSPZQjHb# z^>Qg(EfK8| zGsXJUmQ=2pmC;ZCcf3QfeAcgnPiJvtop8vGI8zg zBfQ_T^_c^Pyc33&BL=P1<+Z}569%!27#nuy=72%RYjYlLM+|DM&qvc2wp!yy~3E+oxh^nRO{BtXYEQf-sH==Unh5J1osPM?3?3M=A((e zlP{`j;*?L3`#7k9Zn)Fo>h#{6CH7Jn%O*WC;kDeQtXd`hH1dM^%uy!D?jlx)yM%Uw z{mP(rR1KG-@$-tFBfcD_u@ffYOJFL6CEX@C`^ZQtnQ{Q+1Tj+zbC9R@TScDN_C?)~ zvu6c&hVV#gVmQeSrQ>lT4d(!M=Z1La=l#g(KDY6s9+!50tU^51%HpY@Dy?dH|1c6jdhb8MHpi~&0~H9xsYGgQXAv1rl$Ksw3M*sgf`J@a~HbKcVQp>sPVB}7j!$u zBIbrCcCm=wsj8E}{2?xb=pum^M}#%L3qQ=cnC z4XWhgBqwXhIE=@9Opg;$Esce!a>~nCtFqy}7CX!z=HTq0_Dt$sC00`eZNJM$H%UIr zA8tnWT6wt+HIQZ7@N9>nY_dJ9rMn|2tI0ghb2vX}zY z!IRPP5dL{Q3hpnU{MeDfzpe9M*h_Q}Q<8A#1a}5|y=B?X6knDofkkNZ_}~Z{=+6T7 z(D1dLpWschO{B2`zVxWTkv^|A4@FNc5cJp$$f@Xiv%A!iOR9-ut<9a8 zH*enW_ujmDv#^iYQk3@6@6zD|+DCg=DeCq^4@FTtz65-UG)1q`flZu-pD(mS-Sdb6 z4-a$8?=8UF=UKS%9>x6H6QWmw2`}Xf!YsYu_xV5Z_&@V78D{BnQE(H?cTk0!zpeA3t?(h7=|yXuiG?qP;dvfzbTg`s08sFF?>t_-d5>Cq4507?9#1n0EZH-5@6Kb4sapz?3AUfU z6QY-GwvrvwuRYASH<{nxgqXTb%rQK}6N>&Zy^85ak@O3AJOK~xHEF@{&48JNi_C9t zg=i|cK@w0VEROsq%ood#rq%>O4gQRiZ+jf4pHqMS&EL1aggsmD{40g+$C+Ckv@>F5 z&46>(8sd^mIvuOmKXT+>-Hz33$iEfl;}wjR%fuYRGh&5D$?46%M^qfWI4QoH#r6;P z9zC1wjWq-C)*1rpl1_W`-#ZR(8V+y1xy`(~jo!FS%rQLEo3~MyzPRhCOHD%2tV{n{ zW&XJOe=5`4An;e(K|pa3_;!u?)7q5;7J{EAsDRH9o3h5!s}#Mmu>i$&gE|PoPS9Q) z36ROyiW~le&+jfl38&~~6iAS@*vgh-ePiw5v(?ZhDA;QoDEf&lBF3AxaWYb@k>3{# z1z){!jc2a2>M}pHSTfgHzuu%OG1plnnCm>V%$uJ!=FQKE|8KYaK1fdgCo5|d72FK? zy1Xv&M&K{YFT#p0$>-0-jylkEBmCj|vlrnu$e?1Qx?(-7g=Ry5NSk^&Z(Hpq-^dxitVfdwk%p{92kIN@Wn4%xV0VDKs6R22z zg#|YX5lx{edVgn|M0&!{vDo3J3qo{55YZIG0E|6!LyW~&K}c>0BASAzs~vu(AC8Hu zV8~8SZV3@h!3dp>>UPAIUIkEh`$0rg0FY2}UxAc|4ACbx#GcvNex@5A;rvx_4L2MS z&4KG*d{4j^VPtvH(aC8!J$|sq8-2N_L)trYu<52jL{l_G@Ve3IDIz~3x_0t7+=V0` zXwU6cJgi0Hbh^m_wfLJCt)=KGxtS8wqweRMRw29fcXM;Q>;Co+6G-5!$Y*le40hQA`30pVX?K9 zve*@~nL#a^xd34b*UO`PSI|nToJqEX*m+do5*N8vr@_Syg^#I&S~|CrOXo*bE}_?s za|ZMWRW7Qcj-ZzfAw6v5^utKCl8>OQV2y=1t2|ZMi-R<)i1CstqMhALvT_Xi+Toe7 zU+xQP(!|b|$C!ea=>yJAE}Mu7*&*U-JXbbqndA)IR1>&2#b`1jS5kyiPA?C5?(nRZ zJyj4JIQGSTwJzCs8&UYYj=SCf3I>{q9kB2gs zho%ms-D-r)YY_WNDp84-5+cMA_ECX&L=IasV>X9FVIGIpTn>7SSp36b28A2>`>8m?`G$EU8UdAe_O4&@iS}8ThXJS8M|O$ z&fAq(qA74@T&*)Tg!2V94xM?b2(hFwFBVlTc_yUEdFzR3lt0aZxdA#CPK~n#W1}4xGvn+4Kqa zK01`kjv4?pLCTgRJk+VfR!I=_L&=QeIU?0Hm`~c7VbR2mz z<}>1G=H;w7Rw18ioOC8?YOBf(=f%>I`!1g7W8Gm#6-QW43s@h)F4R}8+{XN?X&FO| zm6Pt8&?dMu&O&$oSvbTv>Owr<1?;)Gh_&JAtX#x10OzL?yR=iQVBIwD1+d$OIIHB2 z*)NSG4tSU0?42G-gDUw1smXdO0sWB>H}gc&$|EtRo(T%xRk_GP ziyah>^RRbt_gME`C0!^@nE0et6VOemAK3Wu`n#t7rN0D&xRQcR zC%m)Rnoo}HjQQmV2u#8=%@4Mqf$=P23lF|_3l`rL+e8^F;>*km?3vxFr4K=Z^`iNG zMyAb30AI+H2HJ(KByk52q5!YG%oY9+R8R#K!uMxX;HO=__ltqtzb|&X_sKWxy7iH| XPQG4)ui&4;=KZBocPZ)!{*U8-mj)Y| literal 0 HcmV?d00001 diff --git a/extensions/parquet/table/src/test/resources/e0/uncompressed.parquet b/extensions/parquet/table/src/test/resources/e0/uncompressed.parquet new file mode 100644 index 0000000000000000000000000000000000000000..a10b74a8ab6ed28fbb898a4f8f9339f51dfdaf64 GIT binary patch literal 6349 zcmcIp-*4O26{Z|VHIg*T9Mg~hAvJ`V2vEnNB+HG84hSV%G8N0QWLuOJ6b64uqC`@f zC|Q<+07bEYfPSz~2kFISiV9E^CE`oMmrPUi3ca#{lkf{hwyB2!ITR3K zZUKJ5z`~86QOxT=guW9_E>giT%+b_paP^k~_+!${(&duy1{hhS7bq}_4TTL$vtDQr z62sWuz!yBz970R(OlS#7;@GX2(vRi z3DF_f6XdrDznk!zW)BfuM0se@@xsIKO)x?)xC|lo5XWBy;E(z0CiBHjjHGwzOctJa z0th_!o|1-IaoW(+X-1(XTO;(;?cIBd@$^eU;$i!rr3ih?Wvh7N`Q3ZW@7{xW`VGu6 zJHr!-zDwW5yrW3og#v+40C$R)D!fiIPbC}8PjqPXI+XA#RqU6kgW6m1lj!!yfN6yAy-uGl(-4mrh-eJDGjZyL$ zm}7QElqSv(_3sgtKo5?K4|3T4;o&DQW_#ky0JyV;K>DPUo_ur9<4MEg$=5$&zQ2o} z_zcW3JJXYQEkeJ!?&TH z8=&B>ZJ_9iMbM(FcZUML%A9@iN*58T6t( z(QK&EjkTyL8Y&3Pfv&^I>WjTT3|Z3ebfKFdT@|~rSD(Vbws%U5tB%=8D|JoPmD5R? zP3yEj>LOfpU}|zlu^9}E?r1#Gky@(UM`niF7ZtHDg8Iv-YJ$3EHgN69arV)Z=qnGI zNfuENmrszeMeoD`BlKzms5pK_B|i!gO`&LJe|w8Wdcx1K*yE-TLiR%t(G}o!Q=cVOpQ!{8exbKO7Owf$LxVNWhm-WO>ms$!R$`db}%IeYIyo+Iw@b>8C+N zQ#54oy3y%rvN$8UZt{5Cg(M#sr|v3p$gvD`dWzapv3}G=-BKs1Xnrb0blp_?y#X*G zg{h~C{Z5b63tf|XVsC`yqB|0Mz0MHnovA%b>zF9r+GIClQ3z(#A?TTlZ6-Gp(N|RH z4p%BY7e2N>LPGysd5q7K#vaFUC-56TnFjZq?9pq9&CfG~~g)lt4H86{oKrdm?`JSGXr3%=E9 z2nkCQ*X7XoMqpMdFMSET-vsIzgRC2q( zH~kTBln2##sx5-Q=nt=#Pf8lQ#hbB7?q&h?C5Ydc7jNtmn>9n%rCg~#_9c^V@*2kJ z|IT-y2iFE8r}i_L%N`t!==#nQZ&XP<-MZl2bF>MzyU2CUSwg?Tf4yHjuChWrc~P-z z#1G>%n#W200i4RLYWoCx9~-J=PYr;YpybM|2zBb9Rgxt0K(XUExmR#zh>mKc22O1# zpNvvj*az@CKfp6T9Y@iQ`HVQ)c{wYNRmi8Bpq$Bu-l_`2d9n25zKc3-#3~w=w@}M%I$!<&?iBv^xD7@<@*BXOf0@70>RsxIy744|@l9k8|Hu5;a{m54uu(i`28i(N=7~RnY2i2Xb5+ zemg8&n_Lg?(!C*EtLXxc^Ef_iz*fiLnoas;n=>3@nW~iByDMBoy}gL{Ur za=CC;60#SNMVXJ z%gzey+1;w64?%+Uvi*HVrtL@oU&xaN+J&toaR(5h0I%Kb75)%ZPz4pj_vcjTgRa>7 m#X#*plDpkU literal 0 HcmV?d00001 diff --git a/extensions/parquet/table/src/test/resources/e0/zstd.parquet b/extensions/parquet/table/src/test/resources/e0/zstd.parquet new file mode 100644 index 0000000000000000000000000000000000000000..390475966489ba451cba6428ce65fdf01439293c GIT binary patch literal 6494 zcmcIp-EZ606{lQ9^%A#D6H}7_p)-V;$QH-ehvh~=2ZWL>S&HRYvaPS6a7c=hD3O#V zN|xmyKr!s8*wav8edyDG0edKlA?ScTw*SBe^kEqKv_GH&_Am^^unjxsl9VZt^x8CG zBHnw?J@=g7Irn@J$pKr6(q8&4I36R+M;fGgn);GJ#yq~k)jr0;qxrK@|iwGGXKXuE2 z3L8$CKlFxZuZfu_n7{P+|LI}AUSNK`5c(GK9qkIxKc2B`34Di$z3{sNzj=GW!(OBZ zyoOy)nBRLfL@$__1%ml~kN*=7^P!LV;tG1&D#H<%qrX8fJlF42%Ypj~)a@VD``&qc zfkmAuaNnF=zmNX5Q-R`y{p;_A=&L67hQ;51S!8~;2>!N9a*^*~7e&8LuVA=RBwPa? zPr!rWKt>bLt4T9xuP`4hg=i|cN&;3SU=I8|^X%F?b4P=~27ji(nwq)Pz~>z06RnhyN0hxzg~=HE-`K$|2N z`3?@mM0Bw29}_B$HXRk;%HsIxt#=+d+h*(l3gZmXZKJx__UwkmwwA@VU%ttFdL3=E zNpg|zXxodgcpuP~iq|H9^@{h0W#+4!|EK1?csS3#Z-FCO;QZOoyzjph&O-3x1QqaU zLR(Zg`UXWWtu84*c@8g?`&^RdiDiRtH<~WK5V{>(R?-w^h zYrtThZ6WDRlSG8KP2prE87sdp7z%#$+`WW(nFXEsu9cU0ndR?!su}Y#%L(%`^O<@6 z++&_UPyBzp=J!Ex`v3mgGDQW~0=_<{HaIQt`PC<3No|N{CqhpiDXJE}xAN#oxC=Cx zg$JD462ogNVU<%vAgCi*hLtwt218gz$h_BwX`D<&oJOC%3kzM|2@x(DVrQi^B~fmi z%+hpNC&Nh})rCi@B=j0Of|1gnOgDObM-+yLOc94%gBxAdDfu!L4Z8|Lnp4q~dz_;kmW|8Qkei;p5<;3&!}of!-4K&{nS!R>4nmq!00AWq zB?x(l5OwB4%$=>xN2>NN?q8;^WmiW?F6xHo-%{a|Frqx~sU%yD4>xu=Z72>@2zzS` zw(T$oX%2<}R=0WsN#Gp3YX*J)K@GvO5L`>=$sF zV$J>3Ch+1K9>PWT(=758Sr|bMi=)Yu#i@|ZjOy9UIS^BLUYz9nyi$_IOtQnr&Z2xJ zah~h+T9vpaaWQ#RPv^FB>HMTtNvQS1oCfnztrC@yhgZuQpB}ez>VBkF%}0<{FxGsW zl^#m$`Cgipgm_67P|kKHSv>@PW&f1lEf0A)sq4;`r#g8hGXy?My2i&c7q;5tN8z){_Jyya zawD7R)~coUG$(c=T5ea9EcY+#Hr4y}%2~G>OSJil?pGtH#*kkiW8WI55+6%yZoa4~ z$x}W}@^M%P-H_9f+B9#@l6z^4Ws4q(@Y-@Ir__i)&AMQ{bCe0P`-s&gm(XsoUmn(v zYLQATabDGH#5cn+whSBM|K_%WS|rm_|hMorc|8k-y5~*_Xd!_ zB=iUS0AJ;D;j~oAoI@N#_7JVW3M>Tg uPpH5T`rP2BBXM{~==blCZ`c*%BXxy*y#_yme+qN^OQmj7)B*g@%KrfEFG{We literal 0 HcmV?d00001 diff --git a/extensions/parquet/table/src/test/resources/e1/brotli.parquet b/extensions/parquet/table/src/test/resources/e1/brotli.parquet new file mode 100644 index 0000000000000000000000000000000000000000..bbda7e06fb96c18f684caa5f948f8e601a9e7eb2 GIT binary patch literal 6400 zcmcIpO>7&-6<$g-t4d0$$Xb>{h(I8sg^|cIe?-M}Qy@!9{IevBl*A=z1j7E2Tyl5G z@JAG77%&RA2$J;BTv`}D1VIl)ky8-_Jq9@kEf5qzkyDUE4~=`vv4_4lyQG#}QcWCd zZSKsxdGo&Sy?OIyVehlq0PUn-qF>&jT{N{wQ7=AEQ4inxH2CG#D<8c5O2+$-TQo&4 z(cU$fUx1&>yGdPhh#m(|QPjK62UF0v98=RTQ`5{NhnJpT4lhuyWtgXD+%ES+hx>g8 zlVoPjmo2XWB1KP8@LGU|qG0T|F!(t|{n0VybV<{{-Os-L@t<2Tb@+S%tQ5RP9t++RAF&!?F8ro2DE^jJSU^vWQTbLfX_W;Qqbp>ySl zW7G?Xqw@;-;55A%Vfu;7OHcKgiiGJq4)-Gm^Uo{H<0}|X>+-Q|{Pg;O4Mf$s`SsNN zZ=U3O5yTX+LQYnR$X`-h);>DfMEsUO;}9n7z0n7{r6 zLTfiN!SonsDEfKYjY&w6B=k5O9tUnZX~FQ^w3&)mrkOv_d1-2Sm879ec9HO?qeAuMs-;j>2uq_-J-W(#wfKKZ)idJo z9c|&DSU7x0Gv6#-%whSXFy(Qz#EPu(^dd#iuTDY1U8Q!sup_h+M*`$Ew&JRL=cB7L zP}wPZ76lTdJhrl_SXy1$d2i9X1`7SPWfZ;87ZKx?zHu^A%#qu*>|K8R)ODY^%wo*^ z*!sy_W<7hF8pT{@xnM5ybY7D|pm$UiMy)pAY{Sq``t=5ML!>KX zH*o(=7#Q}BiE-I9J8Y$-$f|TaEHh{ww|fnQ^L2DZtV;%ij@IZ6Ch9^}7Td^7liR$+ zw|P*%=aY3%SM)NjJvxkEzv;VgAv4Uv$K&!L5{BqUali=OUjr(pUp~Q(LPR4dir(Jb zAdw#Ob0D_3X@d~$5JWTr(E(#O?GOX;MG%r5f`~>SN@|@S>xX6HA{esM!&^c`BQQd} zuG$^xOD_T_+5I4*5dcUixvfCTLx$)>8`7WI+_Sb7H!48XUUnzlIF%j<+6Y(<; z#&EsdOE&~9tIF|6RS2F21TK7*s@BU~sHN~hwNs3xHdC>5ufT=%;z6nf{Z4@ksHh|8 zxt0*?mQ(tkzmQM+QMPN2g%GRUQP{Jc7^{e(tSX|Nt#~AV0Q%bAiIB{-1vO$|CvpQ! zL5sHmXET)u2ZTfy@id;xwTkh`7~E(DxL3qL#4qQggi}h-b$D*?q?kBT5F0qQ#iUx2 zl4_UOjipZtT0<>_GR8cY^B1^mMM`V~-{@;8E!QaoBQ+lUMSoIi?kKDHH&S|Fn7h7< z`U1pnz$>L~6Pra%RfR;hH1H*suA~%<(=+GWk+{=V31T|TBQ=SKGLeU-cBHL>pUi6z z`+PK<4`st5#1ZyUfq3}$s$*j|fy3@34%LYq^jt&GGaHjQNE~u3kK4Bi91Ol=_Mm%5O`l{t>n14kr-V%ekh`lD%2=17( z(3pG{_ArjR5K1=ydtxqPZMZWo7x4_h`N;>*?G*D^H;sD%?A9R8D!F5l*`CA!?;M<+ zSh@=S0CuE@KEXbU8&Dqq|dO6^wzU z<^}=ljOQX9Vxzj<**n-cOX+^N6>IR@^24>sHt{Y^cHvr$?&3I&+=0Ez>A84q@&I`)n4jl$r214Q5w!M~03x!mqamW!W39`yu(y}b`XLvxurQ35}3 zK;DCHq5$1k(2VaE8{dL1;gc}<5dBd;Dz49<{m@}wf6LH6_m^N0SE8`#gm(g4<4Ljg z0lyRhfk}8q`N0;HF`gN0;lbC|uE{sbR#3)@_%gBrdq%fl>O+uVy=Z)&k!d3mz!&nQ zjCNrwN!$U1D8Oqwet|y(6;wfm@ckv_S!wXiw>onBy4Yx3Cm*pZ=11y^@%g&^82&A6 P(qAfem7@0H|33Z)Cb2-f literal 0 HcmV?d00001 diff --git a/extensions/parquet/table/src/test/resources/e1/gzip.parquet b/extensions/parquet/table/src/test/resources/e1/gzip.parquet new file mode 100644 index 0000000000000000000000000000000000000000..fcd8ba59e754b2dad97d2a128c6dfdad0c20e7cb GIT binary patch literal 6640 zcmcgxU2NOd6{Z|l@lr2!-B6POZS#bg2oT4iB+HGmYzQS=G9BBo<(QNd6gK}P(IzQP zKbGYzKnJYYnx#OImjXiv6hr%#hdvA#Fa+o}U%RSHy?UfSji2bM)0|P#%MyH!w$?_b7gk1WR3S%G=x9iYf~rzW=w6HqXE+^T-pR zM<=3Vly?I3>0zJO_Z^S#w;o1jMh?wPOamN>9zsWB@Boj)G)rH0gZCoEod4bETb}Q} z@|z2O7i|8KQy|65KjN_ml#e>^B8A0c(EnjLKo7Uk%LM(OJ-)j`%nwd6?+yh%fh$*r ze)@_F!#sr1BMXyWN__m6cSZrFOZbPMLW09Bs>jgy;Bz?+EBd{S(qXS&Iu%zg-^c*HRMUvd_@%TNMI^^kw?J4R)}~sKK93il<$odYS$2!w;r>Uhhl)`N`_!Pk;W(*8+>D zsE;oG@SOqSeKGm8`2H~DJN2{Iem?^v!r38pqtIKeZ;y55d%hjsH;0&ipJncy#qc_e z4shiXUaaUf7rOsS|7!bNFTeEduY7gwy)Vv}{`mIG-uJ1;Z@d;C!1l-IuimoR{+w7s1<$(H&gZIL<2Cd8a%%`;D4jm(qRiSNCqeO_k7cYo|01&zq>ElZXv zRsFv>b33S8s@Sb*q5yZr)5@yd1pK1*R88P{P-HK-i*Bg#jaUXBwcicm-vr z7b5EOqFc4OSrX|Uo*i))O@|A`>4J#*T-3qXWv7dd_$U{u(*+UrxyTzO$(2Xf!clI> zPWNsJ5%sx|OC`feq%A$lLEg!Oi258rLTNP}QXVqI>e-O?%G~TNtNH@2ALXv#bVo!3 z+|>>~p~KrjM0rrMNVRNkTw0K-HLYSn+IQz*(Fucy`d}!)x=^atg!un{?h;;?3yU1b zZNjf}B?{aPj>~fKb<_k}Y3f=N4KTu)c!BIM-f}&w?(_;UZdOJ;9;gItNd%!{M{7 zl)|BsO4f6!s3TiKRZcVtytT?^GfOPWR$6m8!s$13?qE5==}IJRC}?Ls8Ov;dzPY+5 zFA6o;h}phVLdU0UCTrklj!#8Ha;ky;Oi2`~xn#`6Z@dWDi%KZQYMD5}#9KmL5?A+f zsZAYy1IC)NXynyJqe1K@miDq{*~muL?R8OLvtqiarWOEi{CVCK>e+B?R|3Ashc|@H zw9d}*R;U-dwSxLG#IJ*kHy4P_oM{+xDxL3eNh}q49pm(W$6Hs${c0X!+KYo9ghL;Q z!!+vZe3m8aCd57yk7gq2r~+|>ebgZy?COqd%m!ds8H8bHAO=e)%hvkrAPlOA7z=Lu zHUNW-*JVF;2VyXDRXLnIB{WwkIb@J=SvI8)}-(cIsw7ww%CR?((A( zT}LhPW|qXW-50v|9BqQ_GGZN2OUN7e8@1fcEGvei2N}CZd^}9eL70?}fk|LBn-lDP zsG$j6Jpg)wni5zE`qb)9T9&O<)sAEDUO~+e9nFl@TfITpY{rtX55Rk=jy2yON6C)4 zOC0UIbco`qwRtKeC>*nnd-zJl{5oUavN zJ<)(0C*chjV2(#Q4C3)L&h3*J4|aQ<4D4ZQmxJ>g&ie+Q$Dqm{NDJa9tpona~q!$i0h-+3-M4?}_{W#b|G{df#~e;w^dZnpL3ZT&;O#0Q}g zhfOEAQ~0zmo-1|m@x%!%!qtxtwxEFVT*oI|c$;5o;f-@elyM5)?5x0%J7&-6<*3Rty*rP$XbFdh(IN(h0(||e?-L$Qou_}q?VRsk&?J1jlkGHl1uI` zSuQDxG7J=jPeD-xz4Q_oIp&Z<4mtG{^w2{O4G;u56g~7%Z+4eja!ECD zthKo_^XAR_zW3(Mn}vPI7Gv~0{U#mRqy03sOi|xbK8m6Qe2MsyXo_B;1M4uo1V4Xx zi@M{Jf<6J}KAMA<-#2&dXB6{0UzolXN-k0U5KPjq1^j{MzQFrFCd({btO>0H8b!}h z@LGa~qF@}Q83#S$1Nh~+8`KBXHJHR_57P41-hg2Kbm_qj>Qidv0YJhNd@#u;xZunz`X4swL2SvX|FJaPAB*!NnSU&~oT z46Rc1w`JzV^8YDDuL7TT;j3=^73Rgt<@ljbl2p)dN)1I9=w*t&wKfOkbdA~z!#2?K zI1(X?v6a>Wd!O81fSOIwH&Gx%#$v13inX;9mrK>t~mBp6%p;eN(%F^{R6^XgZ3c+0EiDh2?urVLM^f?LqWijAq76RWau258H zJ?QTUhAf!DKi+&AQ4Lu+dm^>9zHXS2cUB)ijkG`py+~Iu>PlpNHDU<50s^D2X)rQ- zLbnIQDCxI5&`pr8g5B7&_h4YzdqRvWw%KtjHC55%C*v}U)|1|_gK&|)p-OGpV$jz+ z!_h=rY${R@ndwSTkcFNA>Q5tz0qUwz$F(QN*}L~6&s=22SwsX}K1RY4{U8n)p=awr z#r7*AdQpgI0!1}?Tbm@(V}6drE;l_8k{5!ACLsD??7kObB)$wn_CgTR1Vl}13se1Y zO;c6xkEh-d;vY_~P9BaZYkfST72BANhzgi?Acq&#GZF}5Mj%+}^(!+a0tFN3Rl z;fQDkT<`pQ0zQo(%k#EDPRq&By&b{qDP057-kpODFAXA^pdo?R^>$a4gelQ=lE>vP zBza$d;;bTv9LqqvD=S?E>qkw{Ol6#k>ZL+NS52kY?E@21n7WG4Yj;V#&{VN2bca|j zIzyq`Z4Z#%snRvowt>=EY$Li6jX*RbHbeL1Msgz&c}4|qvBlye{vGQhB>1nDd-&Y1 z@3Jg=0>9Cdsk4t*w!)?hEXT5KOI|3jJGKVQ?_)R3I`ipG(8V!4M2pO4Skx=9(1INn zTSqB}T`8CCS995O5N2?_GR${Gy{IYKR8x$f#Y8@N&NbV0K4GdtTCtJ@pOSNnbmA+3U0aq+#6CX6;;Y#Wt#0HK%X;-VsyV`)*&E!ujdPl1y3f4SdidOhyL(c60-}Kv@Ug}rksg?l#qCcEg zIw`8rP0omob2s);UxfILcyam;v02qMP0ST*BVRK42B%`2UOC^s%%7Pxi0L>FZWa%9 zCJ$Zf%iEPGnb#rq<#e)~C?+L{BkZFJ@rWKYr^ajshy7U`nlm{VrH*J6HfM2=dE{81 zwr?{ySbV4KM{6bry=sc_?1iu1{L#f+s&Nskm?r14txCDr7@djTsLAb`s%!r>%cp9m z%Ad8$@nl2ft+?7}Y5?a8Y#g}rR2AbXb5<-Wdg@fnkn`B90ydoKXk~P6&Qg0B%w-pj zN_0JEiPI}2o=#nG?>X88+a2UO<1C@y;J?{|nISrgp6c7Rp>#4#Wnmw{?|dK6{A3&j zE9O(;XyxU!I94E^s=RzE=~}bG4`#*EmHQr^=wr=gN0WwFPxrAtf?cSudZ~r^SJkto z6fdQ`HK9dtr<{e(?6YuyaWuq4z601Za}jI9qiMN_X8_JmIeuZMTE@C*-3ws11##BM z9kW{;$~^Ec!P&{=o8S*%r-tYg?2{?*a0iw1Nm7%IbQ1bQF=6G2te1vTTssw2ysNmg z{iDsnUXxWZ2CkYL2dr~}PxXn7=1%|MX!D#iqHrs=;I|!xYm@EbUAjAfYc;)(<2;TJ z>oA`gz>5{|g%dEws~kG%bP>naO^g@2HBUNLH`ij}{)YR0fcG(|*!Mdu+9qnwEzh#r z;oJA_5u_b*f0uE5#`Er2;K%Wh5J znK*vy_$~NIfh9W+2{Qo20lusUyJ-Xa*7rtb^t}NhaEahQ#Q9Qb|FpD`q&ox9{CcGdn! ZU9~=6Lm$Gwh0Xd)Wo}c{A^fk#{{X|GC6oXF literal 0 HcmV?d00001 diff --git a/extensions/parquet/table/src/test/resources/e1/snappy.parquet b/extensions/parquet/table/src/test/resources/e1/snappy.parquet new file mode 100644 index 0000000000000000000000000000000000000000..36a559277197178c5f1aa0ccb8a82df0bd9fb698 GIT binary patch literal 6377 zcmcIp&2Jmm5nsv@t;lMv%36W~h(I8sg@MR2KSae0T)<08q?VRsk&?J1-9Xqcl1uI` zSuQDxG7RJp^bq7!6lf3r6M~|L9*UldAn36zf}Db$d`@pgkyFu`x4YDmOR9-uJ)7@i zX5P$i=FOY8u#eb6l%A#ErNjHQpQe^6>h2>SMNtBFB6bo@(JORt1K3OO^M|&n`#ve? z6M(ny-VF49-^{J|DCRf55WTpXSfc!^z@=vb{=g@`z-K-t!^~f8THOG16g@*hw*&)4 z!8$^3I_873KI$FcV`N~vWeq4j0wOr?aDwxQ5?g?}KY}C^+wMoY~S7jH#Cjlo7O_ zz7wJs9JI0%({Fstcej~8+=iHXRZLMl!4r!9DZPy8N0Iak`g}njo;4Xk@$I0MgmcXA z?u2M+b)6)jLQot9PM9wj9*^x=1u^(DOunsQoPI(5<+p#|{0h!&t@W=Ijvr_4@Gwq@ zmCXU?>^;OK4|P0NuYcmozp4|f*N}gU%*TruE02mPiYLShuaeuFe-EfQdU29}H;dyR z?>~M%*&CY!=IuSisE0c4&3~6%-qc*)e0!I9br-$ysFZtLrQKpDl+rK)~5sL(Z}vl#`WeuLAzn z(CVu(`r9CFUlJ1ap&jmU;8r#=QAG3HtQa7!8a3Q|dXjnYDE!g|W)wwO!0jU-EYgp{fDwAR0Z?qe z!lKs-A&ps4jqdgqiS&q{L$b?Fj|s_Zf{?~c^g!7ouZbb~Iuo+j1R;%?sA?@?q8~2C zb!Ny(j~)pjjhPW!EzRqQL%q&G)$0c#jTwN1Qo1UnJYX3S&sbWXy46t0Z z2STUQ>La{!rDLis1F6yIW@IxGhG>Rugl^_$Vly6oNd*_#Lg5+zq4g0G{C4Fbwnw!+ zmSs=jH*Dz|`;2AFY%0%kEZef^`8>O8O91}>rzzIqr?x;A*U*R*;ip-Y%d;?o9u`MO zD2r1mo9R`unM)w1albOiwMD(4DVbzLj9o-UK5@x4S~WgyszOZbRnpuxm(C5!e8Q+4 zb0*AtWj?B*jA#^1G2O3m#$lvf%0-ZNV6VkEt3FfN%l$N~O7Vgwp`M*gvUCjc`r)~_ zSL}*f(z2Z`4sD8hrVDnqxojdTX8UMQ7x z?5T>j0b^I%)2i~G)+c(?x%0B#*2?j`#pjEWGGD06*cws6u@8fhtrCu z1vRq88PQSf#sSKU5WgWVPTwUuE4rqM*+O;bOFCEQRE*PG$J>+n3$qF_9mT;-!=X;a zp=&*PryL=C9b#WfB}(x^LV`HLIjRtk$YEn*%%)&Cn1-P-6@yW1i$;EH8U~q1jI~MU zHU)!)cfxrzr()16rWngy`RdIdUCbuySFws}ayHW}mkRaao!E<*+@7hr&R?^9s{3T$ZdF@%=CjreTu42c}{~v3!EF zkM@W5qdvqqyg5`1FVmr7wW5CY-0XZ^o%LR zib-!xXcD^BXtxL{`z^mAV-%bRcO}2w?>0Te6)zks5bGSaL z0YBY`juo&&2CVTZhe;|`z_s-fNs9u4>BQGfizk>9c8ulyx8h$|^L zbb>pJqt!UJHN?jeBfx|FOts{++^N>75rP+w7*pP9z`9&e{%c}KfE3N literal 0 HcmV?d00001 diff --git a/extensions/parquet/table/src/test/resources/e1/uncompressed.parquet b/extensions/parquet/table/src/test/resources/e1/uncompressed.parquet new file mode 100644 index 0000000000000000000000000000000000000000..797009419009fac4968747712dc15413cd362205 GIT binary patch literal 6350 zcmcIp&2QVt6{j3WYb0svI;J53LSP6r5nvrhAC@;-Y=Ka+B~!5+OSVNx!NTB|BuXTu zijrkH2v8I~6*&}pXfHwkf;|;Q&qYz}VX$p+vAu;acxE|-mYkW;5|YGcje0ak3KK4tU*C$*iw;YXu>2;l_Dz8Ka)J3S5cvUS z=Xw&NLyjlNZxMdC;Wx`3BDje1(4y^yi{aZ~gkEqMLhK=qzYf43^TloEv)dR+_tLp6 zT=4`Dc$S}$hFZ1T(6d=ap(RTr^vvlkKf`!>r66&!{m)W_zT>c!UGe<(1LpT1Ks>z$ ze9X@Agre`$_c8A%l6Rp%AQZq|ChdgBZRVGEBQzD>AepBS4o7Q8%pdN2GP5EKYVgmS zb=04K_xG)Tz;3N~|CPb^7rDDUv~!|l&wyk08sd&eI$=l7#$SKr%DRRtN`Jb?e0vw8 zGI^uA2Z+G zM^8Kke9X@EayBiqKap%x5eAqYS+-_-|+zxatD`VwHKbdOdjf^Ar^d zno>*A1$u>|?`2WZnC~I?^_y~o2*vvQiYhCEDX#|o>k`E zPa5;?=Va|~ch`c<5;Ut672XU5dx9YgX6P?>UPVGC)ZV$Ri(p9h?{(F}@e40g6jq^JCxh+S@aAS5pY5zRmh!PrwT z#6)}@gzSYNq8W&W))nUZ;hMM(hV1n8mJrbljM(jJUPm11bpQ>oA4D_*012fGR7iQq z5MydXoSB{NmxlQ%&R+-D^uiI558UAL2Lir|BFoFJK~Br*@smBl94LJQ(%zkeEiVls znxP?q*UfHUm4rFbb&|*BE+qL-KXX=*Lyl#j+n1HTg7u>zXr?kvMfFl4qMN2N=nsJj zDNKDu7JxmPHuqVUJ%!)o$u`*+EL&qUC6;5^t|c#(*gabV=8M?Pu+DsD z8+36D578p?Sr+w5EVN*U#nw^EV^_-OhV^{z5`ysF5MOr7jcnKU2^Si zlTVtekkE$pEVsjD3*#D}GU~^i3H@P>k87wS8WmH_j+&ft7^_taF_abUv6y7l7b<&s zkY!aVS=J=9vztp-k3nBQJQw#X15ry`*!ju?Q`B<K zfO|`dr(;SrLpX6pWhn56=k@%lirBz$Anj`nd0!h5yV=5dP48*7WXYQ6E3q11ZpryQ z;G6k~(<{STBHaHp4mDDxL)17bSOgY)B|`ts1Vp}bp*k$D|rU(KYd$#P19IKn=v5Rceldv45pI28Rj zw0$`km7Zvnw*5HBJaTN#+czH$7T-Dh(edS=*G(~zyYkhWKf0Jtx2|Fp*W`SzQ>&I+ zlQXd&Gr4_Jb?v`q`Bd-K`HN09k!p#&6<7OAjo^HNjYD^ys$wE-`o*HAr_aSKIgf)n zV8fY?)h6fWB7Km>Tz288MAvhcIK4*V>C^@Ho}*2$-9xTEX9@iV|FuE=q!!~7smrQW zBfcM}u^%VtdvL166w4>r`}jzyxM~2@1UX-c2~ejF+htKS4rMEj(|ZMHhUh4IdT7^% z%IP?rgM9$M3qw5fvvCxxn9qr$m6!A4Sc813^YXc*Ywa38@{6S__dPt($A-&}CXKP4 z7O_5pU8t{mrGxob*K?+nsHD9$p+j)zoQ0nMSvbTv8e+2018m=1#Mx@N zuT+ZXWj=Qac{COQ_W2P64b7FhL<#)B0eMfl`5JVy2|K>KY;G62giqe$L-c3)Xt=(F z_LC=${;s8e&?UE>cy1yxWXe1ArT)_X$# n=R;-iSnBm2laJVS`y+MT`g{$)h5r`j_eW(PP}C9ppN#(kivSp0 literal 0 HcmV?d00001 diff --git a/extensions/parquet/table/src/test/resources/e1/zstd.parquet b/extensions/parquet/table/src/test/resources/e1/zstd.parquet new file mode 100644 index 0000000000000000000000000000000000000000..52317b0f2044384374ae4823e2c7f5b1c6506c10 GIT binary patch literal 6499 zcmcIp&2JmW6<;c{BFJ*1*jknZh(I8!h0(~;k`xuwNC7V?ks>Y0A|-K28iBlDB$wP> zviuN583v3Xr=q7`8WcViD9}St^pIYR9@72+Es$dmMbLA53yNG?^u5_#YRO%yiDRwJ zotZap-tYI`ym_;*54l2wo~7TT**$uWrfyTz-9K#nXXTwCMfoU-67VJBOQI=ynP%2N zYYBdHp)KmJPYU=1m?KLT@)R`#gE`;KTR)_Y;Ui8oTKk@m0>tl|Y z`OCGzH2|mR846xY&`=bNS^B{knZR!->ZuQmzXkL7%ur9i@;&uUG78Mw3W0f~jE|qX z>mh{+FV3INhUi(Fvq(7q&FBBOkNIYX`SncbJJ|R1D?tBv%&$d=9WtJU-wpUp`U4T3 zMR{P>^2>|!i?>7cjLlghoPXx?|IWvJI>&r@10(IU;mM1olViLBe*#eQEIl;aWvdN5 zoa7joH#Gte?cUNujJaD15>NgMA$q~)FWWKyuaEg^p80qlV(zvy#lDAc6#WBw1yhzH zDI4(l0zOO$(%OXHPS}ZigL%0aqN(62Nm_-FIrNLntD7HAEDeGh{23*zM*zS0i}Xz%T8{u)GvKPVhB)Yw+I%Mt+Q;uWlD6sy;6H9LpWMO#x-3nx?-4*e zj2^yyJ)~mj({cX247Q)&{qTvmZ`KU3u+|W4mvoA6uWmbht2uo8)w|3em(Vwtr78A3 zeS7m&?z7yhg11V4*Yfw`_!S9F2C zP0@?1Gf>D^sl5xgY!yqfy1Kmg^V^{{P_Wn5 zQ1q@XBF5{saWYb^k$)~23ch^p`-Hj9qRxEZ>dU;i#`5<%)r`5$a>88ad1hY!>@lx@ zPW*ql>7Qff{omYLrl{arV6H6~vd|6udEr@DHDu-dRBCB`-ROoNtUP%ZZh{PY;f`R` zlk)8zWr>yOHM~!N9b4N{lO(*>NjXRng?rahXZ$ zv^Q)cT)1zjQcE@&^!4^|G|>_piqu19y3!M5p(lX)v#?@-x@y#L?a6Wa-u>`%2bpme zVF8zqkuXKyivvdJ`5I8M{0fV16e5~HQH|c#CW-WzpChruO&5gZh9IH|h&~v*?}iwO zuY!=>5JWTqQPo<4ryq`qt6<1Zk8cSPO~8n)mgaWEmR7E9hYT^s zHpHIU+I(VkKf?K|;A(C-BANo%yZDZP&%(&^qGgcNa&ok>BXoO8$AGkV=3w1TgNP<* zNZ@s?)lntEBf56-INXIK@9U@bDssrN47573(owK}R0XZ8j8jqFREX%hsq{L1U_uI0 zM-h6h4yhNKDt3g<5X(h-D0Dil0n$5DI$gD8pfnO$XV=*GN0m5FV8^>b~tQpr3`kZOuApmq%T02!u859*B14Hrlb=MF?t>m`S?Y)(W>#W zt|~;eekGON%BFI|G9Nc8N7*j)`(-|&p^j)2yJBik%Nhr4xs+p3wr`Ea7^gl~xr@CN zr%JJcCZV0}bfRlKuR?-O%++-cN z*QH2;RZ2<1DQgt_0)KE;$(*Q&4IF#Yu2z+IwE?l4%AJ+`&v+ zn99K@wnZbqIgNwNBgdN8zD?m^^7Yt{=2Q-Pr7K3$m%h65M;9}R`em#lnw&{D%cVkn zbS8G$Zg#h;I`&^PeX6u8{CTq!jn_rqjH`8~25`Q>#(^_WRWX|APK!lZPn?Mj?PhJ66PbA3GXlW`Qxn0v(0%uBC0mLZ=iynH6cWLX+TnoQ3xEvv7cMG{ji04cJq25o^O^uUy140OzL^ zy|hy)Vcj(E1+d$MIBVpN*)0rZ9(Whw?4)uH@CUFHL-YyusVnes2bFShQj?8j9Qs2s zX6A{k7l%?*I}=sBtFq_&N1KDa2B%^S95puzSQi4H=o1@_o&Lem=0(MkLyVbV0O!KTN8L)9KV13K76FWlAT9{8GzydU*?0|q=9|&d!s!1-T)D}MDQQs ze6hHHR^ZbYkViuiU>_Yq(9m4IMU=n~9FX^@n<+y#6}95K&84@YOZa3=K16?#kA~~> zXg_vr>u;O-m;MqA;z|-Wo$$_JYd%@7HR6{gATSBfBtO`K8pbn^Ej;+z-naNBxjM=? z314PbV9)H9Eqw?Qte4F1Gcs*P0{B9n)X*+$C5bzL5CwScq_6OYpn@u>5WYX50xNBy o^V7c4yC=2V_sB==iuIAYVt&2`U&6nIP5Vow?oiYr{P)WL0OcY{^Z)<= literal 0 HcmV?d00001 diff --git a/extensions/parquet/table/src/test/resources/e2/brotli.parquet b/extensions/parquet/table/src/test/resources/e2/brotli.parquet new file mode 100644 index 0000000000000000000000000000000000000000..f0def9676f03aa36ceaeb09a6bd4ff5602f65afb GIT binary patch literal 2623 zcmb_ePi)&%7=LjRFH5T`i+IL?Xc&t`-IRv5Db*;^RM3z(1Sx`!!?r4Wv0oB{V`q*t z^^YnQCINy;aNy9xgm%~oaTrn$9AOgN*lBR6CIma6N}SlK5)<&fXNTIsitH5Pv+6V5o*5hc75pyoD}lr&$lL?f@BS=K~w=9 zym!g`p<)wYvUYXClu^Fi#?(>fWRJqx`P1*a;KbpHiY646>Q)8`yHgQ8=&Hr%bgj#>>(W3vYjT(+odMWNRZhjdb3k$m&Wb-$n7R|o zW5MHUoco6K5^#57RXLFaf}CI_Mo4==N_!;T7d!`~Js`nIvqxSYt}@FbCRY1?)T+LvP$Bu_xBx8Bg*^&XWIhUK1um`R${^kbsk ze3NP}lCC9-PeQ<0U9)RaCuB8f0ave+Y*PWtk_ z^rouW=Adge3`?hLw688H=Qq`sK~243kuHUAYhaosMeS0T=)@(5k#OE?3hN0VRIdXn z@I0x;Fwr&Es6GQtqiyP_TdRQZ97IX0gjIN`vX}ms!UN0DY@MoGC1qrTYID2_Plr{& z|KdW#?!0(}gf?D+r^6BhHdql7UOYlVA1}evVTqP$ljwa6GZ8X$ybMo=Wtz5aMr?$K zBLrIG1$a6v0AopAqe~YT&RhM}2&o|;>hRkma+@kEwP9O)j?cdS?8~I@QpaLk)gO74 zlg5}RDTl;yhTM%POPzmM0;#|)1ixSvFk?G9b*K(sEn@a*&>yc5_VZ$kBVPtjnLil7Q`6NAy(U))6fmqcZuUdeio|2k@sLZ$Cox+R`^}z-(~^Px$<-6 x3Nr$pT*Cz`LDAJMB+mpK&-B*aj%_J^0cB`enQjgYQ&(nBpm*U*l?M{%>}# zZ;7*~5V~@yyx-!@aT`Uz%9d`KIl|S!4%Xawxc2A^#n3L*8 zg;oh3K=|-bLJ`Oi$2J8FUvz{MU=~)!kc@C24#FmzqXY|6u*g&;`@%qG8XPk*3zY2( z&$I))Z-w>cD+^Y#l+L6tWm6e^IE_&nuvnBO`J8O0k(`>IL@1pB22h}5*3V!uDAReF zBUhlzpH@;yjzmaF39XeJmhK4|oCvfA*Pf9}pxqOu6|n~-ipW}YiFOki+!u(<7O)1Q z-2@N=j55<+_0M#Px02vI5K}ImkNWEe_(;AhWuf&X+(8azmt7xx zzyQIiWpDHzFs=WPxtU_EBboAMuPnhRDN>C%CaEj8`qnhVwHsBZU^ymTrgd#fJ-eor zENYtthg2zicN(^xQ?)AfiAj8N5DDjlLt$qE6^P>KiebQl0*NqwtICnwH2^`!_@ zyCCZF%U!rNjkQ{J9X`j4AH4Jisr%G(m{x0zyv9W_CUWY5FwT&_8fB^SkR?EMyh88` zmIpJgXHt)v@U2AbI_>nwJB0l`Vw~Dwu1pygZU;M!=JA`Cz3Jy0ngz;SR^cwH3eO cI%=zd+P177(;Jp;s-wrzdH5T*0RPhd0~_nTwEzGB literal 0 HcmV?d00001 diff --git a/extensions/parquet/table/src/test/resources/e2/lz4.parquet b/extensions/parquet/table/src/test/resources/e2/lz4.parquet new file mode 100644 index 0000000000000000000000000000000000000000..c7416517a789f03fc9247bb553886df2d5ffba0e GIT binary patch literal 2664 zcmb_eL2u(k6doszH)>a_Q0*8;ijXmC1SsvcO{tbugaQJILxonL<-k&fu{}u)j-9m~ zv~5+X;($2pfgix3hdrS^^w6KM>X924#9_s0kNpL}do%Xd4sOIsJ5t=|_uluuZ{EC2 zbN9o~Hz}ca=Gz|d%&kkbkwL{k)avKndFHS)6qwpfs}OFzmb|Bxj^`VB%Vq*1Mr z(<~kS0%E&R{$g1|st{D+Q!6I#(hqXwAIMyykT)CsYve6*vrbNoeg=W!Z%`|je*p?m z{EMPO@MrmqT3V8vKmSAfeFYRAg!k&?nY*k$##gzn#+mHT_g{xZ^K|kX2i!k@+h;kP zii&ozn}l3|ZfGJtYRNjPZ(Vx^!jSW zP}nN$R;9-Zg%_L93djJ(lz~S{i`O?>%AR9nl0b}7O2^_TU3>4wnz(f7t-vW0WFcs zsAKPN=|$+d(xMfKbp-ZHL2<713>62!P_e`u=%mu3OA_R!gx>(+Nd*{@17Q8kYV_y8 z$5l`+!CZj*`o{o1uFmi3DI})b8m25$NPJoqEOOM4Mb6+H%bEHDJj#L3R0NxH-q4bR zI0t@Q!@jSQ1~h&w(8r4YlhW)NH-gz@;IM>`!pP&Xp>&C{48H09z)kk2+)%wBxeY#_ z+1yWkT4;aEorLJmYHcXJ11Hdd5yHcR2aFFito=m0X>sIwCu$! zB3xtv{X5$wyOaJB3TH8e2p1`4I9MeV(qBU1E~XISBE`@TS@}M)NC^#JOe4ZY8aoXA zl8p#=3BhnNfe04~U@Up!P593C{UF{ep~@1<4u3R9cW7a$gD?!Vk%=2Ay;~nxN{ENE_zcK#>K0I&d literal 0 HcmV?d00001 diff --git a/extensions/parquet/table/src/test/resources/e2/snappy.parquet b/extensions/parquet/table/src/test/resources/e2/snappy.parquet new file mode 100644 index 0000000000000000000000000000000000000000..f06e8ff2cf50481c51712e4366d31a2657ef7e2f GIT binary patch literal 2667 zcmb_eL2u(k6dpT{H*}ZXQW)c)fGmqf3rb7dgsQA^2neJ-RA>cS4lE@a+vCLG*uino zwpFD)RUGywaO`Qt0U=KN132`+jSJ$$0de9d0PoG%TRXTBEA2>*p5J@l`@VVeGRd8H zKiZ~*-lF{u)xpqdgOFEms)P_-QQ(s)^`3)<3y)ZkwNKwGq_tTx<0+W#|}%4`0X~qV5>$3M&B1(3`F1 zx9vuYUTad)1X`*Zy78Iud6O88{w^WS7H|Ly)NK1Ls>w7*q(z1YX@1{?mdIr`u#32i zGW1+&QB`7Hf&Ikz6tL$?-_&pbObtscfX>twU6CL!BXj_CrUD~!0Bn$3tAhpbX$_Q1 zFc;u~@jif0Ym2)&hs11Ke#SCIX*IzjM-5rz3@)%d)}DYz1@L1H!IqpiwB#TzfFISd z@9Sh08b2232a55H((Iepqxod$vXqbFB;Yes=@RoQ_@;+LFFl-cQwySW4}2kWc$oS0 z*!hCHDKY-2x1sbdoInRg2oDcFV0@rq?H}|D&fpnx{-tB-N>1a^6+?$XGW98oJT^0b zUpcnjIGj(SVGw!zKA+jQtb50{AMnr{Mr^|2J(`DM$Fe6pWgbh}g{K^sO~IZ(hAlf_ z15Q#6^S~sy&%F(38Xxh*J~@C4si2D5W?11;W*PpU#PcX{V~^V>9cy8OwzHf?gv%_T zf45h$JL#{WaFj&)B3vebvE*qm;k&(i(d?jtDo?07{Lup4v5lpU;z-Q#-H+e;fXz~#M2NMsk+%hC ziHMGM0bC|1J*tv4{*NS}D%?Ww1?z&CIPrMGJ$Un3IO9cqqC#2UCF7LeZ7vI|qy$eZ zB~9ifC8EI7D>=Y>A>k~I6WHIe9R^Oql0&>&d^nFOOTL=(6vchblUWc)7}?p{>2B_9 zZi%B37uv9Nw|ogc%u84_l5<+R;btjIQiyLsRXFk~nA^gP(d>%5D!a`Jq}!WsZ+1}# uXi9?=q!dXHPKdctP`oicOviC#Wd*EUvUSs$2cc(ey+KalC+-gX&HNXPp=X!? literal 0 HcmV?d00001 diff --git a/extensions/parquet/table/src/test/resources/e2/uncompressed.parquet b/extensions/parquet/table/src/test/resources/e2/uncompressed.parquet new file mode 100644 index 0000000000000000000000000000000000000000..50855c72df891ab70821cfa89c58ecdc5f6eb281 GIT binary patch literal 2663 zcmb_eF>l*O6h2BcD>y;n8a;*rgn%Gmp#@~uwp=4MG$=!X4jzI8$&whtkvvIkDN-d* zMQp=>r%stOb?guX8G@icA?TPPKr#fKItBR=Y2Uk}Y*MC#1jzy79p8K3`@VbkbkdFM zH@7IEdvvcw4OkeoMo5JaVrUvX89rQmc<_+}g7)ctX*Bu~i=(QhvnRlI=*|TghUxHG zItwIZ4ugtV>8knbY__sl!miS*7Z}bm&rSRH+c(CmRY-6Y-^SU$r2mPt8uMT_`{#!% z5N1Cez2G?i_ul<02h%C2*~g+1GE+)O*`!TWx{@z=txB|M`3U_~e5L;6CnNQSe8lJ~ zp_kVxmd4g#mpVPwD7?6YRzLu(yfu^1<;?73{VQnZ5R0gO_+Yisk=0O!LHOXSsX^u) zVqUolU}YNhM*WXwtwAr>DX9Z31)F)#yjLe?t+Pu=y#XA+0y&$0gX${Gm0^(?L73mM zpd4ygHLM>Fvj}~uHE2a)J&Cb#_;;Au!ukKgaUADp^#AA&ct08J6ez8F-KbKi3hQ^%<^I z2hM<>En(f)$O;sGDAA{yd8*Yr)|b&_)bp6&gE$FzYH4j^T>{(qu;+`zF}L&}64$^M zGM9&$&4}HfxhIJEZm9{Wci{wD&_Z~4@PPJ#f;FER=bXXkF6s!qE zII02;;1pGF>KFz0xxWrY;{%>JCkGIr6qHdr3^UASR_+fZo*GT)j3YZsU{596-?)tb3;7rN;XCB5x$s8-r!u^VSylWjfdZ|Es!0FNT>MV}Lm3a{U3kUd81u*X4}SR^ z&Jgk%Y0N<;X(3BeIDp7~Fc-L`Bozbv@W&JF*ENhh3UBkLdqsV~pYr-oyh(q1^Hq#D z9}a$I{Q1w{_W2ZEN<*sR#=1gt*9y&seB@`<^y( z`fNbS8j#iXf}zlLY>7%v6@o7|kOFGMm9wq`SxL+;Z*PH{8OCx{*FRgUwiBJ)(DTn; zP7NY&pXU`T4_CTYsaC$Om8xX5LZE`QWL4MnkM*Deda2z4s8o>ySukhquu4=JW{a>u zKftiVwt)?jmr>%a<(Hm?K31xvAhC|XeyHC?>|>>EsC-xqm8X~iofoQPMS|Rfu#2Gc z0y1(AgzcuQ^6m`yei4;RFcaWi{T71n7iX)wz`&%eZo+b^VB|$n(8zh@G;&gBXfD*J z=w1e`a&$6{d?n{}7QMtfzYb+=eP6&&75#xyX&WyE<3Y!vG3$kq$3}+I1mg!vke zF?DH7FD+TWYzprQMp&`~7UCpTCv^D7 zPYw-ROe5S`8aoXAoI->-hoHNdK)AC6IF>B-2CTJnCm8MLP^AHRo8OzEJGOYLqc9M2 zeEWlI@6u7sqJU$qWaKRYS|FlsUIG^hijVRn_2(oZ)zm43U$7>M2_u(9%*D4Z^+#-4 zpU9Ba_l$8$&o+npc~ZRRl@dqej1rOH`IYSRb0K0h4kN7Z*z!F)qS1sOEnVD?A&ov8 zvzUuJWYNeA1Mb;wY&SQzHydKB#DUhyoGqWCjmJea=*cHY~A8&irmhLgA-24<4LOeLFF?Xl;(X5)4E M0)OLf;=j~?0mSBw+yDRo literal 0 HcmV?d00001 diff --git a/py/server/tests/test_parquet.py b/py/server/tests/test_parquet.py index 3c6fd582ddb..e58ca97abc2 100644 --- a/py/server/tests/test_parquet.py +++ b/py/server/tests/test_parquet.py @@ -187,7 +187,7 @@ def test_round_trip_data(self): self.round_trip_with_compression("SNAPPY", dh_table) # LZO is not fully supported in python/c++ # self.round_trip_with_compression("LZO", dh_table) - # TODO(deephaven-core#3148) This test seems to write parquet output with LZ4_RAW as the compression type, Java can't read it + # TODO(deephaven-core#3148): LZ4_RAW parquet support # self.round_trip_with_compression("LZ4", dh_table) self.round_trip_with_compression("GZIP", dh_table) self.round_trip_with_compression("ZSTD", dh_table) From 581d377298d4907118057ab576fc295192678817 Mon Sep 17 00:00:00 2001 From: Nate Bauernfeind Date: Fri, 31 Mar 2023 10:28:00 -0600 Subject: [PATCH 14/29] Specify Use of Java NIO for extensions-arrow (#3637) --- extensions/arrow/build.gradle | 2 ++ 1 file changed, 2 insertions(+) diff --git a/extensions/arrow/build.gradle b/extensions/arrow/build.gradle index 77b0c454537..453c2456ede 100644 --- a/extensions/arrow/build.gradle +++ b/extensions/arrow/build.gradle @@ -33,3 +33,5 @@ spotless { ) } } + +apply plugin: 'io.deephaven.java-open-nio' From a94110ebdd03d77455001e679d464eeaeb42666c Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Fri, 31 Mar 2023 10:21:11 -0700 Subject: [PATCH 15/29] Adds is_refreshing support for parquet read (#3600) Fixes #3596 --- .../impl/AbstractTableLocationProvider.java | 37 ++++++- .../util/ExecutorTableDataRefreshService.java | 2 + .../parquet/base/ParquetFileReader.java | 56 +++++------ .../base/ParquetFileReaderException.java | 9 ++ .../parquet/table/ParquetInstructions.java | 31 +++++- .../parquet/table/ParquetSchemaReader.java | 2 +- .../deephaven/parquet/table/ParquetTools.java | 54 ++++++++--- .../table/layout/ParquetFileHelper.java | 12 +++ .../layout/ParquetFlatPartitionedLayout.java | 24 ++++- .../ParquetKeyValuePartitionedLayout.java | 3 +- .../layout/ParquetMetadataFileLayout.java | 3 + .../table/location/ParquetColumnLocation.java | 3 +- .../location/ParquetTableLocationKey.java | 29 ++++++ py/server/deephaven/parquet.py | 97 ++++++++++++++----- 14 files changed, 277 insertions(+), 85 deletions(-) create mode 100644 extensions/parquet/base/src/main/java/io/deephaven/parquet/base/ParquetFileReaderException.java create mode 100644 extensions/parquet/table/src/main/java/io/deephaven/parquet/table/layout/ParquetFileHelper.java diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/locations/impl/AbstractTableLocationProvider.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/locations/impl/AbstractTableLocationProvider.java index bfa9a4ba717..b7f537b85fe 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/locations/impl/AbstractTableLocationProvider.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/locations/impl/AbstractTableLocationProvider.java @@ -9,8 +9,12 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Objects; /** * Partial {@link TableLocationProvider} implementation for standalone use or as part of a {@link TableDataService}. @@ -45,6 +49,7 @@ public abstract class AbstractTableLocationProvider private volatile boolean initialized; + private List partitionKeys; private boolean locationCreatedRecorder; /** @@ -56,6 +61,7 @@ public abstract class AbstractTableLocationProvider protected AbstractTableLocationProvider(@NotNull final TableKey tableKey, final boolean supportsSubscriptions) { super(supportsSubscriptions); this.tableKey = tableKey.makeImmutable(); + this.partitionKeys = null; } /** @@ -103,9 +109,11 @@ protected final void handleTableLocationKey(@NotNull final TableLocationKey loca // observeInsert out of the business of subscription processing. locationCreatedRecorder = false; final Object result = tableLocations.putIfAbsent(locationKey, this::observeInsert); - if (locationCreatedRecorder && subscriptions.deliverNotification(Listener::handleTableLocationKey, - toKeyImmutable(result), true)) { - onEmpty(); + if (locationCreatedRecorder) { + verifyPartitionKeys(locationKey); + if (subscriptions.deliverNotification(Listener::handleTableLocationKey, toKeyImmutable(result), true)) { + onEmpty(); + } } } } @@ -196,6 +204,16 @@ public TableLocation getTableLocationIfPresent(@NotNull final TableLocationKey t } } + private void verifyPartitionKeys(@NotNull TableLocationKey locationKey) { + if (partitionKeys == null) { + partitionKeys = new ArrayList<>(locationKey.getPartitionKeys()); + } else if (!equals(partitionKeys, locationKey.getPartitionKeys())) { + throw new TableDataException(String.format( + "%s has produced an inconsistent TableLocationKey with unexpected partition keys. expected=%s actual=%s.", + this, partitionKeys, locationKey.getPartitionKeys())); + } + } + /** * Key definition for {@link TableLocation} or {@link TableLocationKey} lookup by {@link TableLocationKey}. */ @@ -225,4 +243,17 @@ private static TableLocationKey toKey(@NotNull final Object keyOrLocation) { private static ImmutableTableLocationKey toKeyImmutable(@NotNull final Object keyOrLocation) { return (ImmutableTableLocationKey) toKey(keyOrLocation); } + + private static boolean equals(Collection c1, Collection c2) { + final Iterator i2 = c2.iterator(); + for (T t1 : c1) { + if (!i2.hasNext()) { + return false; + } + if (!Objects.equals(t1, i2.next())) { + return false; + } + } + return !i2.hasNext(); + } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/locations/util/ExecutorTableDataRefreshService.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/locations/util/ExecutorTableDataRefreshService.java index a36b49e7ef2..3fcb344be42 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/locations/util/ExecutorTableDataRefreshService.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/locations/util/ExecutorTableDataRefreshService.java @@ -87,6 +87,8 @@ private void doRefresh() { refresh(); } catch (TableDataException e) { subscriptionAggregator.activationFailed(this, e); + } catch (Throwable t) { + subscriptionAggregator.activationFailed(this, new TableDataException("Unexpected error", t)); } if (firstInvocation) { firstInvocation = false; diff --git a/extensions/parquet/base/src/main/java/io/deephaven/parquet/base/ParquetFileReader.java b/extensions/parquet/base/src/main/java/io/deephaven/parquet/base/ParquetFileReader.java index 282d240ea57..3e14d8b2d33 100644 --- a/extensions/parquet/base/src/main/java/io/deephaven/parquet/base/ParquetFileReader.java +++ b/extensions/parquet/base/src/main/java/io/deephaven/parquet/base/ParquetFileReader.java @@ -27,6 +27,7 @@ public class ParquetFileReader { private static final int FOOTER_LENGTH_SIZE = 4; private static final String MAGIC_STR = "PAR1"; static final byte[] MAGIC = MAGIC_STR.getBytes(StandardCharsets.US_ASCII); + public final FileMetaData fileMetaData; private final SeekableChannelsProvider channelsProvider; private final Path rootPath; @@ -45,7 +46,8 @@ public ParquetFileReader(final String filePath, final SeekableChannelsProvider c final long fileLen = readChannel.size(); if (fileLen < MAGIC.length + FOOTER_LENGTH_SIZE + MAGIC.length) { // MAGIC + data + footer + // footerIndex + MAGIC - throw new RuntimeException(filePath + " is not a Parquet file (too small length: " + fileLen + ")"); + throw new ParquetFileReaderException( + filePath + " is not a Parquet file (too small length: " + fileLen + ")"); } final long footerLengthIndex = fileLen - FOOTER_LENGTH_SIZE - MAGIC.length; @@ -55,13 +57,13 @@ public ParquetFileReader(final String filePath, final SeekableChannelsProvider c final byte[] magic = new byte[MAGIC.length]; Helpers.readBytes(readChannel, magic); if (!Arrays.equals(MAGIC, magic)) { - throw new RuntimeException( + throw new ParquetFileReaderException( filePath + " is not a Parquet file. expected magic number at tail " + Arrays.toString(MAGIC) + " but found " + Arrays.toString(magic)); } final long footerIndex = footerLengthIndex - footerLength; if (footerIndex < MAGIC.length || footerIndex >= footerLengthIndex) { - throw new RuntimeException( + throw new ParquetFileReaderException( "corrupted file: the footer index is not within the file: " + footerIndex); } readChannel.position(footerIndex); @@ -165,7 +167,7 @@ private int readIntLittleEndian(SeekableByteChannel f) throws IOException { tempBuf.order(ByteOrder.LITTLE_ENDIAN); int read = f.read(tempBuf); if (read != 4) { - throw new IOException("Expected for bytes, only read " + read); + throw new IOException("Expected four bytes, only read " + read); } tempBuf.flip(); return tempBuf.getInt(); @@ -180,8 +182,8 @@ public RowGroupReader getRowGroup(int groupNumber) { getSchema()); } - private static MessageType fromParquetSchema(List schema, - List columnOrders) { + private static MessageType fromParquetSchema(List schema, List columnOrders) + throws ParquetFileReaderException { final Iterator iterator = schema.iterator(); final SchemaElement root = iterator.next(); final Types.MessageTypeBuilder builder = Types.buildMessage(); @@ -193,7 +195,7 @@ private static MessageType fromParquetSchema(List schema, } private static void buildChildren(Types.GroupBuilder builder, Iterator schema, - int childrenCount, List columnOrders, int columnCount) { + int childrenCount, List columnOrders, int columnCount) throws ParquetFileReaderException { for (int i = 0; i < childrenCount; ++i) { SchemaElement schemaElement = schema.next(); Object childBuilder; @@ -260,8 +262,7 @@ && getLogicalTypeAnnotation(schemaElement.logicalType) != null } - private static LogicalTypeAnnotation.TimeUnit convertTimeUnit( - TimeUnit unit) { + private static LogicalTypeAnnotation.TimeUnit convertTimeUnit(TimeUnit unit) throws ParquetFileReaderException { switch (unit.getSetField()) { case MICROS: return LogicalTypeAnnotation.TimeUnit.MICROS; @@ -270,11 +271,11 @@ private static LogicalTypeAnnotation.TimeUnit convertTimeUnit( case NANOS: return LogicalTypeAnnotation.TimeUnit.NANOS; default: - throw new RuntimeException("Unknown time unit " + unit); + throw new ParquetFileReaderException("Unknown time unit " + unit); } } - static LogicalTypeAnnotation getLogicalTypeAnnotation(LogicalType type) { + static LogicalTypeAnnotation getLogicalTypeAnnotation(LogicalType type) throws ParquetFileReaderException { switch (type.getSetField()) { case MAP: return LogicalTypeAnnotation.mapType(); @@ -290,8 +291,7 @@ static LogicalTypeAnnotation getLogicalTypeAnnotation(LogicalType type) { return LogicalTypeAnnotation.listType(); case TIME: TimeType time = type.getTIME(); - return LogicalTypeAnnotation.timeType(time.isAdjustedToUTC, - convertTimeUnit(time.unit)); + return LogicalTypeAnnotation.timeType(time.isAdjustedToUTC, convertTimeUnit(time.unit)); case STRING: return LogicalTypeAnnotation.stringType(); case DECIMAL: @@ -304,19 +304,17 @@ static LogicalTypeAnnotation getLogicalTypeAnnotation(LogicalType type) { return null; case TIMESTAMP: TimestampType timestamp = type.getTIMESTAMP(); - return LogicalTypeAnnotation.timestampType(timestamp.isAdjustedToUTC, - convertTimeUnit(timestamp.unit)); + return LogicalTypeAnnotation.timestampType(timestamp.isAdjustedToUTC, convertTimeUnit(timestamp.unit)); default: - throw new RuntimeException("Unknown logical type " + type); + throw new ParquetFileReaderException("Unknown logical type " + type); } } - private static org.apache.parquet.schema.Type.Repetition fromParquetRepetition( - FieldRepetitionType repetition) { + private static org.apache.parquet.schema.Type.Repetition fromParquetRepetition(FieldRepetitionType repetition) { return org.apache.parquet.schema.Type.Repetition.valueOf(repetition.name()); } - private static PrimitiveType.PrimitiveTypeName getPrimitive(Type type) { + private static PrimitiveType.PrimitiveTypeName getPrimitive(Type type) throws ParquetFileReaderException { switch (type) { case BYTE_ARRAY: // TODO: rename BINARY and remove this switch return PrimitiveType.PrimitiveTypeName.BINARY; @@ -335,7 +333,7 @@ private static PrimitiveType.PrimitiveTypeName getPrimitive(Type type) { case FIXED_LEN_BYTE_ARRAY: return PrimitiveType.PrimitiveTypeName.FIXED_LEN_BYTE_ARRAY; default: - throw new RuntimeException("Unknown type " + type); + throw new ParquetFileReaderException("Unknown type " + type); } } @@ -347,8 +345,8 @@ private static org.apache.parquet.schema.ColumnOrder fromParquetColumnOrder(Colu return org.apache.parquet.schema.ColumnOrder.undefined(); } - private static LogicalTypeAnnotation getLogicalTypeAnnotation(ConvertedType type, - SchemaElement schemaElement) { + private static LogicalTypeAnnotation getLogicalTypeAnnotation(ConvertedType type, SchemaElement schemaElement) + throws ParquetFileReaderException { switch (type) { case UTF8: return LogicalTypeAnnotation.stringType(); @@ -367,17 +365,13 @@ private static LogicalTypeAnnotation getLogicalTypeAnnotation(ConvertedType type case DATE: return LogicalTypeAnnotation.dateType(); case TIME_MILLIS: - return LogicalTypeAnnotation.timeType(true, - LogicalTypeAnnotation.TimeUnit.MILLIS); + return LogicalTypeAnnotation.timeType(true, LogicalTypeAnnotation.TimeUnit.MILLIS); case TIME_MICROS: - return LogicalTypeAnnotation.timeType(true, - LogicalTypeAnnotation.TimeUnit.MICROS); + return LogicalTypeAnnotation.timeType(true, LogicalTypeAnnotation.TimeUnit.MICROS); case TIMESTAMP_MILLIS: - return LogicalTypeAnnotation.timestampType(true, - LogicalTypeAnnotation.TimeUnit.MILLIS); + return LogicalTypeAnnotation.timestampType(true, LogicalTypeAnnotation.TimeUnit.MILLIS); case TIMESTAMP_MICROS: - return LogicalTypeAnnotation.timestampType(true, - LogicalTypeAnnotation.TimeUnit.MICROS); + return LogicalTypeAnnotation.timestampType(true, LogicalTypeAnnotation.TimeUnit.MICROS); case INTERVAL: return LogicalTypeAnnotation.IntervalLogicalTypeAnnotation.getInstance(); case INT_8: @@ -401,7 +395,7 @@ private static LogicalTypeAnnotation getLogicalTypeAnnotation(ConvertedType type case BSON: return LogicalTypeAnnotation.bsonType(); default: - throw new RuntimeException( + throw new ParquetFileReaderException( "Can't convert converted type to logical type, unknown converted type " + type); } } diff --git a/extensions/parquet/base/src/main/java/io/deephaven/parquet/base/ParquetFileReaderException.java b/extensions/parquet/base/src/main/java/io/deephaven/parquet/base/ParquetFileReaderException.java new file mode 100644 index 00000000000..af8c2124df9 --- /dev/null +++ b/extensions/parquet/base/src/main/java/io/deephaven/parquet/base/ParquetFileReaderException.java @@ -0,0 +1,9 @@ +package io.deephaven.parquet.base; + +import java.io.IOException; + +public class ParquetFileReaderException extends IOException { + public ParquetFileReaderException(String message) { + super(message); + } +} diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetInstructions.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetInstructions.java index e1e7e1c8984..011b65f0160 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetInstructions.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetInstructions.java @@ -64,6 +64,7 @@ public static int getDefaultMaximumDictionaryKeys() { private static final int MIN_DEFAULT_PAGE_SIZE = 64 << 10; private static volatile int defaultTargetPageSize = 1 << 20; + private static final boolean DEFAULT_IS_REFRESHING = false; /** * Set the default target page size (in bytes) used to section rows of data into pages during column writing. This @@ -124,6 +125,11 @@ public final String getColumnNameFromParquetColumnNameOrDefault(final String par public abstract int getTargetPageSize(); + /** + * @return if the data source is refreshing + */ + public abstract boolean isRefreshing(); + @VisibleForTesting public static boolean sameColumnNamesAndCodecMappings(final ParquetInstructions i1, final ParquetInstructions i2) { if (i1 == EMPTY) { @@ -183,6 +189,11 @@ public boolean isLegacyParquet() { public int getTargetPageSize() { return defaultTargetPageSize; } + + @Override + public boolean isRefreshing() { + return DEFAULT_IS_REFRESHING; + } }; private static class ColumnInstructions { @@ -247,8 +258,8 @@ private static final class ReadOnly extends ParquetInstructions { private final String compressionCodecName; private int maximumDictionaryKeys; private final boolean isLegacyParquet; - private final int targetPageSize; + private final boolean isRefreshing; private ReadOnly( final KeyedObjectHashMap columnNameToInstructions, @@ -256,13 +267,15 @@ private ReadOnly( final String compressionCodecName, final int maximumDictionaryKeys, final boolean isLegacyParquet, - final int targetPageSize) { + final int targetPageSize, + final boolean isRefreshing) { this.columnNameToInstructions = columnNameToInstructions; this.parquetColumnNameToInstructions = parquetColumnNameToColumnName; this.compressionCodecName = compressionCodecName; this.maximumDictionaryKeys = maximumDictionaryKeys; this.isLegacyParquet = isLegacyParquet; this.targetPageSize = targetPageSize; + this.isRefreshing = isRefreshing; } private String getOrDefault(final String columnName, final String defaultValue, @@ -341,6 +354,11 @@ public int getTargetPageSize() { return targetPageSize; } + @Override + public boolean isRefreshing() { + return isRefreshing; + } + KeyedObjectHashMap copyColumnNameToInstructions() { // noinspection unchecked return (columnNameToInstructions == null) @@ -388,8 +406,8 @@ public static class Builder { private String compressionCodecName = defaultCompressionCodecName; private int maximumDictionaryKeys = defaultMaximumDictionaryKeys; private boolean isLegacyParquet; - private int targetPageSize = defaultTargetPageSize; + private boolean isRefreshing = DEFAULT_IS_REFRESHING; public Builder() {} @@ -544,6 +562,11 @@ public Builder setTargetPageSize(final int targetPageSize) { return this; } + public Builder setIsRefreshing(final boolean isRefreshing) { + this.isRefreshing = isRefreshing; + return this; + } + public ParquetInstructions build() { final KeyedObjectHashMap columnNameToInstructionsOut = columnNameToInstructions; columnNameToInstructions = null; @@ -551,7 +574,7 @@ public ParquetInstructions build() { parquetColumnNameToInstructions; parquetColumnNameToInstructions = null; return new ReadOnly(columnNameToInstructionsOut, parquetColumnNameToColumnNameOut, compressionCodecName, - maximumDictionaryKeys, isLegacyParquet, targetPageSize); + maximumDictionaryKeys, isLegacyParquet, targetPageSize, isRefreshing); } } diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetSchemaReader.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetSchemaReader.java index bf8518b64a2..ab6a18f6824 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetSchemaReader.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetSchemaReader.java @@ -96,7 +96,7 @@ public static ParquetInstructions readParquetSchema( @NotNull final ParquetInstructions readInstructions, @NotNull final ColumnDefinitionConsumer consumer, @NotNull final BiFunction, String> legalizeColumnNameFunc) throws IOException { - final ParquetFileReader parquetFileReader = ParquetTools.getParquetFileReader(new File(filePath)); + final ParquetFileReader parquetFileReader = ParquetTools.getParquetFileReaderChecked(new File(filePath)); final ParquetMetadata parquetMetadata = new ParquetMetadataConverter().fromParquetMetadata(parquetFileReader.fileMetaData); return readParquetSchema(parquetFileReader.getSchema(), parquetMetadata.getFileMetaData().getKeyValueMetaData(), diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetTools.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetTools.java index 04bf4fda38b..883819a93ae 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetTools.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/ParquetTools.java @@ -11,6 +11,8 @@ import io.deephaven.engine.table.ColumnDefinition; import io.deephaven.engine.table.Table; import io.deephaven.engine.table.TableDefinition; +import io.deephaven.engine.table.impl.locations.util.TableDataRefreshService; +import io.deephaven.engine.updategraph.UpdateGraphProcessor; import io.deephaven.engine.util.TableTools; import io.deephaven.vector.*; import io.deephaven.stringset.StringSet; @@ -380,6 +382,9 @@ private static Table readTableInternal(@NotNull final File source, final BasicFileAttributes sourceAttr = readAttributes(sourcePath); if (sourceAttr.isRegularFile()) { if (sourceFileName.endsWith(PARQUET_FILE_EXTENSION)) { + if (instructions.isRefreshing()) { + throw new IllegalArgumentException("Unable to have a refreshing single parquet file"); + } final ParquetTableLocationKey tableLocationKey = new ParquetTableLocationKey(source, 0, null); final Pair>, ParquetInstructions> schemaInfo = convertSchema( tableLocationKey.getFileReader().getSchema(), @@ -471,9 +476,15 @@ public static Table readPartitionedTable( StandaloneTableKey.getInstance(), locationKeyFinder, new ParquetTableLocationFactory(readInstructions), - null); - return new PartitionAwareSourceTable(tableDefinition, "Read multiple parquet files with " + locationKeyFinder, - RegionedTableComponentFactoryImpl.INSTANCE, locationProvider, null); + readInstructions.isRefreshing() ? TableDataRefreshService.getSharedRefreshService() : null); + return new PartitionAwareSourceTable( + tableDefinition, + readInstructions.isRefreshing() + ? "Read refreshing parquet files with " + locationKeyFinder + : "Read multiple parquet files with " + locationKeyFinder, + RegionedTableComponentFactoryImpl.INSTANCE, + locationProvider, + readInstructions.isRefreshing() ? UpdateGraphProcessor.DEFAULT : null); } /** @@ -487,11 +498,14 @@ public static Table readPartitionedTable( public static Table readPartitionedTableInferSchema( @NotNull final TableLocationKeyFinder locationKeyFinder, @NotNull final ParquetInstructions readInstructions) { - final RecordingLocationKeyFinder recordingLocationKeyFinder = - new RecordingLocationKeyFinder<>(); - locationKeyFinder.findKeys(recordingLocationKeyFinder); - final List foundKeys = recordingLocationKeyFinder.getRecordedKeys(); + final RecordingLocationKeyFinder initialKeys = new RecordingLocationKeyFinder<>(); + locationKeyFinder.findKeys(initialKeys); + final List foundKeys = initialKeys.getRecordedKeys(); if (foundKeys.isEmpty()) { + if (readInstructions.isRefreshing()) { + throw new IllegalArgumentException( + "Unable to infer schema for a refreshing partitioned parquet table when there are no initial parquet files"); + } return TableTools.emptyTable(0); } // TODO (https://github.com/deephaven/deephaven-core/issues/877): Support schema merge when discovering multiple @@ -513,8 +527,8 @@ public static Table readPartitionedTableInferSchema( getUnboxedTypeIfBoxed(partitionValue.getClass()), null, ColumnDefinition.ColumnType.Partitioning)); } allColumns.addAll(schemaInfo.getFirst()); - return readPartitionedTable(recordingLocationKeyFinder, schemaInfo.getSecond(), - TableDefinition.of(allColumns)); + return readPartitionedTable(readInstructions.isRefreshing() ? locationKeyFinder : initialKeys, + schemaInfo.getSecond(), TableDefinition.of(allColumns)); } /** @@ -597,22 +611,34 @@ private static ParquetSchemaReader.ColumnDefinitionConsumer makeSchemaReaderCons } /** - * Make a {@link ParquetFileReader} for the supplied {@link File}. + * Make a {@link ParquetFileReader} for the supplied {@link File}. Wraps {@link IOException} as + * {@link TableDataException}. * * @param parquetFile The {@link File} to read * @return The new {@link ParquetFileReader} */ public static ParquetFileReader getParquetFileReader(@NotNull final File parquetFile) { try { - return new ParquetFileReader( - parquetFile.getAbsolutePath(), - new CachedChannelProvider( - new TrackedSeekableChannelsProvider(TrackedFileHandleFactory.getInstance()), 1 << 7)); + return getParquetFileReaderChecked(parquetFile); } catch (IOException e) { throw new TableDataException("Failed to create Parquet file reader: " + parquetFile, e); } } + /** + * Make a {@link ParquetFileReader} for the supplied {@link File}. + * + * @param parquetFile The {@link File} to read + * @return The new {@link ParquetFileReader} + * @throws IOException if an IO exception occurs + */ + public static ParquetFileReader getParquetFileReaderChecked(@NotNull File parquetFile) throws IOException { + return new ParquetFileReader( + parquetFile.getAbsolutePath(), + new CachedChannelProvider( + new TrackedSeekableChannelsProvider(TrackedFileHandleFactory.getInstance()), 1 << 7)); + } + @VisibleForTesting public static Table readParquetSchemaAndTable( @NotNull final File source, @NotNull final ParquetInstructions readInstructionsIn, diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/layout/ParquetFileHelper.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/layout/ParquetFileHelper.java new file mode 100644 index 00000000000..ada783a3afe --- /dev/null +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/layout/ParquetFileHelper.java @@ -0,0 +1,12 @@ +package io.deephaven.parquet.table.layout; + +import java.nio.file.Path; + +import static io.deephaven.parquet.table.ParquetTableWriter.PARQUET_FILE_EXTENSION; + +final class ParquetFileHelper { + + public static boolean fileNameMatches(Path path) { + return path.getFileName().toString().endsWith(PARQUET_FILE_EXTENSION); + } +} diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/layout/ParquetFlatPartitionedLayout.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/layout/ParquetFlatPartitionedLayout.java index d54369ccf3d..d81979a7616 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/layout/ParquetFlatPartitionedLayout.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/layout/ParquetFlatPartitionedLayout.java @@ -13,22 +13,28 @@ import java.nio.file.DirectoryStream; import java.nio.file.Files; import java.nio.file.Path; +import java.util.HashMap; +import java.util.Map; import java.util.function.Consumer; -import static io.deephaven.parquet.table.ParquetTableWriter.PARQUET_FILE_EXTENSION; - /** * Parquet {@link TableLocationKeyFinder location finder} that will discover multiple files in a single directory. */ public final class ParquetFlatPartitionedLayout implements TableLocationKeyFinder { + private static ParquetTableLocationKey locationKey(Path path) { + return new ParquetTableLocationKey(path.toFile(), 0, null); + } + private final File tableRootDirectory; + private final Map cache; /** * @param tableRootDirectory The directory to search for .parquet files. */ public ParquetFlatPartitionedLayout(@NotNull final File tableRootDirectory) { this.tableRootDirectory = tableRootDirectory; + cache = new HashMap<>(); } public String toString() { @@ -36,11 +42,19 @@ public String toString() { } @Override - public void findKeys(@NotNull final Consumer locationKeyObserver) { + public synchronized void findKeys(@NotNull final Consumer locationKeyObserver) { try (final DirectoryStream parquetFileStream = - Files.newDirectoryStream(tableRootDirectory.toPath(), "*" + PARQUET_FILE_EXTENSION)) { + Files.newDirectoryStream(tableRootDirectory.toPath(), ParquetFileHelper::fileNameMatches)) { for (final Path parquetFilePath : parquetFileStream) { - locationKeyObserver.accept(new ParquetTableLocationKey(parquetFilePath.toFile(), 0, null)); + ParquetTableLocationKey locationKey = cache.get(parquetFilePath); + if (locationKey == null) { + locationKey = locationKey(parquetFilePath); + if (!locationKey.verifyFileReader()) { + continue; + } + cache.put(parquetFilePath, locationKey); + } + locationKeyObserver.accept(locationKey); } } catch (final IOException e) { throw new TableDataException("Error finding parquet locations under " + tableRootDirectory, e); diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/layout/ParquetKeyValuePartitionedLayout.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/layout/ParquetKeyValuePartitionedLayout.java index d89d9ee1219..4a7d277863a 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/layout/ParquetKeyValuePartitionedLayout.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/layout/ParquetKeyValuePartitionedLayout.java @@ -4,7 +4,6 @@ package io.deephaven.parquet.table.layout; import io.deephaven.parquet.table.location.ParquetTableLocationKey; -import io.deephaven.parquet.table.ParquetTableWriter; import org.jetbrains.annotations.NotNull; import java.io.File; @@ -17,7 +16,7 @@ public class ParquetKeyValuePartitionedLayout extends KeyValuePartitionLayout path.getFileName().toString().endsWith(ParquetTableWriter.PARQUET_FILE_EXTENSION), + ParquetFileHelper::fileNameMatches, (path, partitions) -> new ParquetTableLocationKey(path.toFile(), 0, partitions), maxPartitioningLevels); } diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/layout/ParquetMetadataFileLayout.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/layout/ParquetMetadataFileLayout.java index a0ee581b4cc..97b0505619b 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/layout/ParquetMetadataFileLayout.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/layout/ParquetMetadataFileLayout.java @@ -82,6 +82,9 @@ public ParquetMetadataFileLayout(@NotNull final File metadataFile, public ParquetMetadataFileLayout(@NotNull final File metadataFile, @Nullable final File commonMetadataFile, @NotNull final ParquetInstructions inputInstructions) { + if (inputInstructions.isRefreshing()) { + throw new IllegalArgumentException("ParquetMetadataFileLayout does not support refreshing"); + } this.metadataFile = metadataFile; this.commonMetadataFile = commonMetadataFile; if (!metadataFile.exists()) { diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/location/ParquetColumnLocation.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/location/ParquetColumnLocation.java index 07d171bef40..e6b08b156b5 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/location/ParquetColumnLocation.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/location/ParquetColumnLocation.java @@ -170,7 +170,8 @@ public METADATA_TYPE getMetadata( } catch (Exception e) { log.warn().append("Failed to read expected grouping file ").append(groupingFileName) .append(" for table location ").append(tl()).append(", column ") - .append(getName()); + .append(getName()) + .endl(); return null; } final Map columnTypes = ParquetSchemaReader.parseMetadata( diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/location/ParquetTableLocationKey.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/location/ParquetTableLocationKey.java index 41994bc34a4..8e1292be3d6 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/location/ParquetTableLocationKey.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/location/ParquetTableLocationKey.java @@ -58,6 +58,35 @@ public String getImplementationName() { return IMPLEMENTATION_NAME; } + /** + * Returns {@code true} if a previous {@link ParquetFileReader} has been created, or if one was successfully created + * on-demand. + * + *

+ * When {@code false}, this may mean that the file: + *

    + *
  1. does not exist, or is otherwise inaccessible
  2. + *
  3. is in the process of being written, and is not yet a valid parquet file
  4. + *
  5. is _not_ a parquet file
  6. + *
  7. is a corrupt parquet file
  8. + *
+ * + * Callers wishing to handle these cases more explicit may call + * {@link ParquetTools#getParquetFileReaderChecked(File)}. + * + * @return true if the file reader exists or was successfully created + */ + public synchronized boolean verifyFileReader() { + if (fileReader != null) { + return true; + } + try { + fileReader = ParquetTools.getParquetFileReaderChecked(file); + } catch (IOException e) { + return false; + } + return true; + } /** * Get a previously-{@link #setFileReader(ParquetFileReader) set} or on-demand created {@link ParquetFileReader} for diff --git a/py/server/deephaven/parquet.py b/py/server/deephaven/parquet.py index b9d849405fc..d6217491b58 100644 --- a/py/server/deephaven/parquet.py +++ b/py/server/deephaven/parquet.py @@ -30,10 +30,25 @@ class ColumnInstruction: use_dictionary: bool = False -def _build_parquet_instructions(col_instructions: List[ColumnInstruction] = None, compression_codec_name: str = None, - max_dictionary_keys: int = None, is_legacy_parquet: bool = False, - for_read: bool = True): - if not any([col_instructions, compression_codec_name, max_dictionary_keys, is_legacy_parquet]): +def _build_parquet_instructions( + col_instructions: List[ColumnInstruction] = None, + compression_codec_name: str = None, + max_dictionary_keys: int = None, + is_legacy_parquet: bool = False, + target_page_size: int = None, + is_refreshing: bool = False, + for_read: bool = True, +): + if not any( + [ + col_instructions, + compression_codec_name, + max_dictionary_keys is not None, + is_legacy_parquet, + target_page_size is not None, + is_refreshing, + ] + ): return None builder = _JParquetInstructions.builder() @@ -56,19 +71,29 @@ def _build_parquet_instructions(col_instructions: List[ColumnInstruction] = None if max_dictionary_keys is not None: builder.setMaximumDictionaryKeys(max_dictionary_keys) - if is_legacy_parquet: - builder.setIsLegacyParquet(True) + builder.setIsLegacyParquet(is_legacy_parquet) + + if target_page_size is not None: + builder.setTargetPageSize(target_page_size) + + builder.setIsRefreshing(is_refreshing) return builder.build() -def read(path: str, col_instructions: List[ColumnInstruction] = None, is_legacy_parquet: bool = False) -> Table: +def read( + path: str, + col_instructions: List[ColumnInstruction] = None, + is_legacy_parquet: bool = False, + is_refreshing: bool = False, +) -> Table: """ Reads in a table from a single parquet, metadata file, or directory with recognized layout. Args: path (str): the file or directory to examine col_instructions (List[ColumnInstruction]): instructions for customizations while reading is_legacy_parquet (bool): if the parquet data is legacy + is_refreshing (bool): if the parquet data represents a refreshing source Returns: a table @@ -78,9 +103,12 @@ def read(path: str, col_instructions: List[ColumnInstruction] = None, is_legacy_ """ try: - read_instructions = _build_parquet_instructions(col_instructions=col_instructions, - is_legacy_parquet=is_legacy_parquet, - for_read=True) + read_instructions = _build_parquet_instructions( + col_instructions=col_instructions, + is_legacy_parquet=is_legacy_parquet, + is_refreshing=is_refreshing, + for_read=True, + ) if read_instructions: return Table(j_table=_JParquetTools.readTable(path, read_instructions)) @@ -109,9 +137,15 @@ def delete(path: str) -> None: raise DHError(e, f"failed to delete a parquet table: {path} on disk.") from e -def write(table: Table, path: str, col_definitions: List[Column] = None, - col_instructions: List[ColumnInstruction] = None, compression_codec_name: str = None, - max_dictionary_keys: int = None) -> None: +def write( + table: Table, + path: str, + col_definitions: List[Column] = None, + col_instructions: List[ColumnInstruction] = None, + compression_codec_name: str = None, + max_dictionary_keys: int = None, + target_page_size: int = None, +) -> None: """ Write a table to a Parquet file. Args: @@ -123,15 +157,19 @@ def write(table: Table, path: str, col_definitions: List[Column] = None, col_instructions (List[ColumnInstruction]): instructions for customizations while writing, default is None compression_codec_name (str): the default compression codec to use, if not specified, defaults to SNAPPY max_dictionary_keys (int): the maximum dictionary keys allowed, if not specified, defaults to 2^20 (1,048,576) + target_page_size (int): the target page size in bytes, if not specified, defaults to 2^20 bytes (1 MiB) Raises: DHError """ try: - write_instructions = _build_parquet_instructions(col_instructions=col_instructions, - compression_codec_name=compression_codec_name, - max_dictionary_keys=max_dictionary_keys, - for_read=False) + write_instructions = _build_parquet_instructions( + col_instructions=col_instructions, + compression_codec_name=compression_codec_name, + max_dictionary_keys=max_dictionary_keys, + target_page_size=target_page_size, + for_read=False, + ) table_definition = None if col_definitions is not None: @@ -151,9 +189,16 @@ def write(table: Table, path: str, col_definitions: List[Column] = None, raise DHError(e, "failed to write to parquet data.") from e -def batch_write(tables: List[Table], paths: List[str], col_definitions: List[Column], - col_instructions: List[ColumnInstruction] = None, compression_codec_name: str = None, - max_dictionary_keys: int = None, grouping_cols: List[str] = None): +def batch_write( + tables: List[Table], + paths: List[str], + col_definitions: List[Column], + col_instructions: List[ColumnInstruction] = None, + compression_codec_name: str = None, + max_dictionary_keys: int = None, + target_page_size: int = None, + grouping_cols: List[str] = None, +): """ Writes tables to disk in parquet format to a supplied set of paths. If you specify grouping columns, there must already be grouping information for those columns in the sources. @@ -170,16 +215,20 @@ def batch_write(tables: List[Table], paths: List[str], col_definitions: List[Col col_instructions (List[ColumnInstruction]): instructions for customizations while writing compression_codec_name (str): the compression codec to use, if not specified, defaults to SNAPPY max_dictionary_keys (int): the maximum dictionary keys allowed, if not specified, defaults to 2^20 (1,048,576) + target_page_size (int): the target page size in bytes, if not specified, defaults to 2^20 bytes (1 MiB) grouping_cols (List[str]): the group column names Raises: DHError """ try: - write_instructions = _build_parquet_instructions(col_instructions=col_instructions, - compression_codec_name=compression_codec_name, - max_dictionary_keys=max_dictionary_keys, - for_read=False) + write_instructions = _build_parquet_instructions( + col_instructions=col_instructions, + compression_codec_name=compression_codec_name, + max_dictionary_keys=max_dictionary_keys, + target_page_size=target_page_size, + for_read=False, + ) table_definition = _JTableDefinition.of([col.j_column_definition for col in col_definitions]) From 40d779aa3b4342fa9141318d52a4d60d7c856e9a Mon Sep 17 00:00:00 2001 From: Colin Alworth Date: Fri, 31 Mar 2023 13:34:04 -0500 Subject: [PATCH 16/29] Provide reconnect wiring for other JS API types (#3632) Fixes #3616 --- .../web/client/api/JsPartitionedTable.java | 39 +++++++-- .../io/deephaven/web/client/api/JsTable.java | 21 ++--- .../web/client/api/WorkerConnection.java | 28 ++++--- .../client/api/lifecycle/HasLifecycle.java | 82 +++++++++++++------ .../web/client/api/tree/JsTreeTable.java | 17 +++- .../web/client/api/widget/plot/JsFigure.java | 55 +++++++++++-- .../web/client/state/TableReviver.java | 5 +- 7 files changed, 176 insertions(+), 71 deletions(-) diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/JsPartitionedTable.java b/web/client-api/src/main/java/io/deephaven/web/client/api/JsPartitionedTable.java index c388852f697..8dab570c4b9 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/JsPartitionedTable.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/JsPartitionedTable.java @@ -11,6 +11,7 @@ import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.partitionedtable_pb.PartitionedTableDescriptor; import io.deephaven.web.client.api.barrage.WebBarrageUtils; import io.deephaven.web.client.api.barrage.def.ColumnDefinition; +import io.deephaven.web.client.api.lifecycle.HasLifecycle; import io.deephaven.web.client.api.subscription.SubscriptionTableData; import io.deephaven.web.client.api.subscription.TableSubscription; import io.deephaven.web.client.api.widget.JsWidget; @@ -29,7 +30,7 @@ import java.util.Map; @JsType(namespace = "dh", name = "PartitionedTable") -public class JsPartitionedTable extends HasEventHandling { +public class JsPartitionedTable extends HasLifecycle { public static final String EVENT_KEYADDED = "keyadded", EVENT_DISCONNECT = JsTable.EVENT_DISCONNECT, EVENT_RECONNECT = JsTable.EVENT_RECONNECT, @@ -82,17 +83,37 @@ public Promise refetch() { return w.getExportedObjects()[0].fetch(); }).then(result -> { keys = (JsTable) result; - subscription = keys.subscribe( - JsArray.asJsArray(keys.findColumns(descriptor.getKeyColumnNamesList().asArray(new String[0])))); - subscription.addEventListener(TableSubscription.EVENT_UPDATED, this::handleKeys); - - LazyPromise promise = new LazyPromise<>(); - subscription.addEventListenerOneShot(TableSubscription.EVENT_UPDATED, data -> promise.succeed(this)); - keys.addEventListener(JsTable.EVENT_DISCONNECT, e -> promise.fail("Underlying table disconnected")); - return promise.asPromise(); + // TODO(deephaven-core#3604) in case of a new session, we should do a full refetch + keys.addEventListener(JsTable.EVENT_DISCONNECT, event -> fireEvent(EVENT_DISCONNECT)); + keys.addEventListener(JsTable.EVENT_RECONNECT, event -> { + subscribeToKeys().then(ignore -> { + unsuppressEvents(); + fireEvent(EVENT_RECONNECT); + return null; + }, failure -> { + CustomEventInit init = CustomEventInit.create(); + init.setDetail(failure); + unsuppressEvents(); + fireEvent(EVENT_RECONNECTFAILED, init); + suppressEvents(); + return null; + }); + }); + return subscribeToKeys(); }); } + private Promise subscribeToKeys() { + subscription = keys.subscribe( + JsArray.asJsArray(keys.findColumns(descriptor.getKeyColumnNamesList().asArray(new String[0])))); + subscription.addEventListener(TableSubscription.EVENT_UPDATED, this::handleKeys); + + LazyPromise promise = new LazyPromise<>(); + subscription.addEventListenerOneShot(TableSubscription.EVENT_UPDATED, data -> promise.succeed(this)); + keys.addEventListener(JsTable.EVENT_DISCONNECT, e -> promise.fail("Underlying table disconnected")); + return promise.asPromise(); + } + private void handleKeys(Event update) { // noinspection unchecked CustomEvent event = diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/JsTable.java b/web/client-api/src/main/java/io/deephaven/web/client/api/JsTable.java index 8570039e901..d6a1d8da9fb 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/JsTable.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/JsTable.java @@ -24,7 +24,6 @@ import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.SelectDistinctRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.SnapshotTableRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.SnapshotWhenTableRequest; -import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.comboaggregaterequest.Aggregate; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.runchartdownsamplerequest.ZoomRange; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.ticket_pb.Ticket; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.ticket_pb.TypedTicket; @@ -59,6 +58,7 @@ import io.deephaven.web.shared.fu.JsProvider; import io.deephaven.web.shared.fu.JsRunnable; import io.deephaven.web.shared.fu.RemoverFn; +import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsMethod; import jsinterop.annotations.JsOptional; import jsinterop.annotations.JsProperty; @@ -75,7 +75,7 @@ * TODO provide hooks into the event handlers so we can see if no one is listening any more and release the table * handle/viewport. */ -public class JsTable extends HasEventHandling implements HasTableBinding, HasLifecycle { +public class JsTable extends HasLifecycle implements HasTableBinding { @JsProperty(namespace = "dh.Table") public static final String EVENT_SIZECHANGED = "sizechanged", EVENT_UPDATED = "updated", @@ -171,6 +171,13 @@ public static Sort reverse() { return Sort.reverse(); } + @JsIgnore + @Override + public Promise refetch() { + // TODO(deephaven-core#3604) consider supporting this method when new session reconnects are supported + return Promise.reject("Cannot reconnect a Table with refetch(), see deephaven-core#3604"); + } + @JsMethod public Promise batch(JsConsumer userCode) { boolean rootBatch = batchDepth++ == 0; @@ -1113,7 +1120,6 @@ public void maybeRevive(ClientTableState state) { } } - @Override public void revive(ClientTableState state) { JsLog.debug("Revive!", (state == state()), this); if (state == state()) { @@ -1125,10 +1131,6 @@ public void revive(ClientTableState state) { } } - public void die(Object error) { - notifyDeath(this, error); - } - public Promise downsample(LongWrapper[] zoomRange, int pixelCount, String xCol, String[] yCols) { JsLog.info("downsample", zoomRange, pixelCount, xCol, yCols); final String fetchSummary = "downsample(" + Arrays.toString(zoomRange) + ", " + pixelCount + ", " + xCol + ", " @@ -1664,11 +1666,6 @@ public void rollback() { getBinding().rollback(); } - @Override - public void disconnected() { - notifyDisconnect(this); - } - public void setSize(double s) { boolean changed = this.size != s; if (changed) { diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/WorkerConnection.java b/web/client-api/src/main/java/io/deephaven/web/client/api/WorkerConnection.java index 5d0377743da..00b7d1d6836 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/WorkerConnection.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/WorkerConnection.java @@ -201,7 +201,7 @@ private enum State { private final Map> subscriptionStreams = new HashMap<>(); private ResponseStreamWrapper exportNotifications; - private JsSet figures = new JsSet<>(); + private JsSet simpleReconnectableInstances = new JsSet<>(); private List pastLogs = new ArrayList<>(); private JsConsumer recordLog = pastLogs::add; @@ -325,15 +325,20 @@ private void connectToWorker() { reviver.revive(metadata, hasActiveSubs); - figures.forEach((p0, p1, p2) -> p0.refetch()); + simpleReconnectableInstances.forEach((item, index, arr) -> item.refetch()); } else { + // wire up figures to attempt to reconnect when ready + simpleReconnectableInstances.forEach((item, index, arr) -> { + item.reconnect(); + return null; + }); + // only notify that we're back, no need to re-create or re-fetch anything ClientTableState[] hasActiveSubs = cache.getAllStates().stream() .filter(cts -> !cts.isEmpty()) .toArray(ClientTableState[]::new); reviver.revive(metadata, hasActiveSubs); - } info.connected(); @@ -590,11 +595,11 @@ public void exportedTableUpdateMessage(TableTicket clientId, long size) { // @Override public void connectionLost() { - // notify all active tables and figures that the connection is closed - figures.forEach((p0, p1, p2) -> { + // notify all active tables and widgets that the connection is closed + // TODO(deephaven-core#3604) when a new session is created, refetch all widgets and use that to drive reconnect + simpleReconnectableInstances.forEach((item, index, array) -> { try { - p0.fireEvent(JsFigure.EVENT_DISCONNECT); - p0.suppressEvents(); + item.disconnected(); } catch (Exception e) { JsLog.warn("Error in firing Figure.EVENT_DISCONNECT event", e); } @@ -605,6 +610,7 @@ public void connectionLost() { cts.forActiveLifecycles(HasLifecycle::disconnected); } + if (state == State.Disconnected) { // deliberately closed, don't try to reopen at this time JsLog.debug("WorkerConnection.onClose Disconnected, not trying to reopen"); @@ -891,12 +897,12 @@ public Promise getWidget(JsVariableDefinition varDef) { .then(response -> new JsWidget(this, c -> fetchObject(varDef, c)).refetch()); } - public void registerFigure(JsFigure figure) { - this.figures.add(figure); + public void registerSimpleReconnectable(HasLifecycle figure) { + this.simpleReconnectableInstances.add(figure); } - public void releaseFigure(JsFigure figure) { - this.figures.delete(figure); + public void unregisterSimpleReconnectable(HasLifecycle figure) { + this.simpleReconnectableInstances.delete(figure); } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/lifecycle/HasLifecycle.java b/web/client-api/src/main/java/io/deephaven/web/client/api/lifecycle/HasLifecycle.java index 2a4c195ccb6..56cb27e3e9a 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/lifecycle/HasLifecycle.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/lifecycle/HasLifecycle.java @@ -3,54 +3,84 @@ */ package io.deephaven.web.client.api.lifecycle; +import elemental2.dom.CustomEvent; import elemental2.dom.CustomEventInit; +import elemental2.promise.Promise; import io.deephaven.web.client.api.HasEventHandling; import io.deephaven.web.client.api.JsTable; import io.deephaven.web.client.fu.JsLog; -import io.deephaven.web.client.state.ClientTableState; import static io.deephaven.web.client.api.JsTable.EVENT_RECONNECTFAILED; /** - * An abstraction over the lifecycle methods used to reconnect JsTable, so we can have non-JsTable bound states get the - * same revivification treatment. + * An abstraction over simple lifecycle methods, to see if objects are currently connected to their server-side + * counterparts. */ -public interface HasLifecycle { - - // extend HasEventHandling to get these three provided for you. - void suppressEvents(); - - void unsuppressEvents(); - - boolean isSuppress(); - - void revive(ClientTableState state); - +public abstract class HasLifecycle extends HasEventHandling { /** - * You should probably just call notifyDeath(this, failure), assuming you implement in an object that - * HasEventHandlers. + * Simple flag to see if already connected - that is, if true, will not fire a reconnect event unless disconnected + * again. */ - void die(Object failure); + private boolean connected = true; - default void notifyDeath(HasEventHandling handler, Object error) { + /** + * Signal that reconnect was attempted and failed due to differences between client and server state. + */ + public void die(Object error) { JsLog.debug("Die!", this, error); final CustomEventInit init = CustomEventInit.create(); init.setDetail(error); unsuppressEvents(); - handler.fireEvent(EVENT_RECONNECTFAILED, init); + fireEvent(EVENT_RECONNECTFAILED, init); suppressEvents(); } - default void maybeRevive(ClientTableState state) { - if (isSuppress()) { - revive(state); - } + /** + * Mark the object as being connected to its corresponding server-side object. + */ + public void reconnect() { + connected = true; + unsuppressEvents(); + fireEvent(JsTable.EVENT_RECONNECT); } - void disconnected(); + /** + * Indicate that a new session has been created on the server, and this object should re-create its corresponding + * server-side object if possible. Override this to implement custom behavior, being sure to call reconnect() when + * finished. + * + * @return a promise that will resolve when this object is reconnected + */ + public Promise refetch() { + reconnect(); + return Promise.resolve(this); + } - default void notifyDisconnect(HasEventHandling handler) { - handler.fireEvent(JsTable.EVENT_DISCONNECT); + /** + * Mark the object as (still) disconnected from its corresponding server-side object, but reconnect will be + * attempted in the future. + */ + public void disconnected() { + connected = false; + fireEvent(JsTable.EVENT_DISCONNECT); suppressEvents(); } + + /** + * Resolves immediately if connected, otherwise will resolve the next time this object is marked as connected, or + * reject if it can't connect. + */ + public Promise nextReconnect() { + if (connected) { + return Promise.resolve((Void) null); + } + return new Promise<>((resolve, reject) -> { + addEventListenerOneShot( + HasEventHandling.EventPair.of(JsTable.EVENT_RECONNECT, event -> resolve.onInvoke((Void) null)), + HasEventHandling.EventPair.of(JsTable.EVENT_DISCONNECT, + event -> reject.onInvoke(((CustomEvent) event).detail)), + HasEventHandling.EventPair.of(EVENT_RECONNECTFAILED, + event -> reject.onInvoke(((CustomEvent) event).detail))); + }); + } } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/tree/JsTreeTable.java b/web/client-api/src/main/java/io/deephaven/web/client/api/tree/JsTreeTable.java index c4947d02926..012bc7ce1ce 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/tree/JsTreeTable.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/tree/JsTreeTable.java @@ -36,6 +36,7 @@ import io.deephaven.web.client.api.barrage.def.InitialTableDefinition; import io.deephaven.web.client.api.barrage.stream.BiDiStream; import io.deephaven.web.client.api.filter.FilterCondition; +import io.deephaven.web.client.api.lifecycle.HasLifecycle; import io.deephaven.web.client.api.subscription.ViewportData; import io.deephaven.web.client.api.subscription.ViewportRow; import io.deephaven.web.client.api.tree.JsTreeTable.TreeViewportData.TreeRow; @@ -70,7 +71,7 @@ * * The table size will be -1 until a viewport has been fetched. */ -public class JsTreeTable extends HasEventHandling { +public class JsTreeTable extends HasLifecycle { @JsProperty(namespace = "dh.TreeTable") public static final String EVENT_UPDATED = "updated", EVENT_DISCONNECT = "disconnect", @@ -319,6 +320,11 @@ private enum RebuildStep { public JsTreeTable(WorkerConnection workerConnection, JsWidget widget) { this.connection = workerConnection; this.widget = widget; + + // register for same-session disconnect/reconnect callbacks + this.connection.registerSimpleReconnectable(this); + + // TODO(deephaven-core#3604) factor most of the rest of this out for a refetch, in case of new session HierarchicalTableDescriptor treeDescriptor = HierarchicalTableDescriptor.deserializeBinary(widget.getDataAsU8()); @@ -834,6 +840,8 @@ public Promise getViewportData() { public void close() { JsLog.debug("Closing tree table", this); + connection.unregisterSimpleReconnectable(this); + // Presently it is never necessary to release widget tickets, since they can't be export tickets. // connection.releaseTicket(widget.getTicket()); @@ -857,6 +865,13 @@ public void close() { }); stream = null; } + + if (sourceTable.isAvailable()) { + sourceTable.get().then(table -> { + table.close(); + return null; + }); + } } @JsMethod diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsFigure.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsFigure.java index 93ff24325af..0e4f8faf393 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsFigure.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsFigure.java @@ -14,10 +14,11 @@ import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.ExportedTableCreationResponse; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.ticket_pb.TypedTicket; import io.deephaven.web.client.api.Callbacks; -import io.deephaven.web.client.api.HasEventHandling; import io.deephaven.web.client.api.JsPartitionedTable; import io.deephaven.web.client.api.JsTable; import io.deephaven.web.client.api.WorkerConnection; +import io.deephaven.web.client.api.console.JsVariableChanges; +import io.deephaven.web.client.api.lifecycle.HasLifecycle; import io.deephaven.web.client.api.widget.JsWidget; import io.deephaven.web.client.fu.JsLog; import io.deephaven.web.client.fu.LazyPromise; @@ -40,7 +41,7 @@ import java.util.stream.Stream; @JsType(name = "Figure", namespace = "dh.plot") -public class JsFigure extends HasEventHandling { +public class JsFigure extends HasLifecycle { @JsProperty(namespace = "dh.plot.Figure") public static final String EVENT_UPDATED = "updated", @@ -182,6 +183,38 @@ public Promise refetch() { }); } + /** + * Asks the figure to fire a reconnect event after its tables are ready. + */ + @JsIgnore + public void reconnect() { + // For each table and partitioned table, listen for reconnect events - when all have reconnected, + // signal that the figure itself has disconnected. If any one table disconnects, this will be canceled. + Promise.all( + Stream.concat( + Arrays.stream(tables), + Arrays.stream(partitionedTables)) + .map(HasLifecycle::nextReconnect) + .toArray(Promise[]::new)) + .then(ignore -> { + verifyTables(); + return null; + }).then(ignore -> { + unsuppressEvents(); + fireEvent(EVENT_RECONNECT); + enqueueSubscriptionCheck(); + return null; + }, failure -> { + CustomEventInit init = CustomEventInit.create(); + init.setDetail(failure); + unsuppressEvents(); + fireEvent(EVENT_RECONNECTFAILED, init); + suppressEvents(); + return null; + }); + } + + @JsProperty public String getTitle() { if (descriptor.hasTitle()) { @@ -655,7 +688,7 @@ public Promise fetch(JsFigure figure, FetchObjectResponse response) { int nextPartitionedTableIndex = 0; for (int i = 0; i < response.getTypedExportIdList().length; i++) { TypedTicket ticket = response.getTypedExportIdList().getAt(i); - if (ticket.getType().equals("Table")) { + if (ticket.getType().equals(JsVariableChanges.TABLE)) { // Note that creating a CTS like this means we can't actually refetch it, but that's okay, we can't // reconnect in this way without refetching the entire figure anyway. int tableIndex = nextTableIndex++; @@ -666,13 +699,13 @@ public Promise fetch(JsFigure figure, FetchObjectResponse response) { }).then(etcr -> { ClientTableState cts = connection.newStateFromUnsolicitedTable(etcr, "table for figure"); JsTable table = new JsTable(connection, cts); - // never attempt a reconnect, since we might have a different figure schema entirely - table.addEventListener(JsTable.EVENT_DISCONNECT, ignore -> table.close()); + // TODO(deephaven-core#3604) if using a new session don't attempt a reconnect, since we might + // have a different figure schema entirely + // table.addEventListener(JsTable.EVENT_DISCONNECT, ignore -> table.close()); tables[tableIndex] = table; return Promise.resolve(table); }); - } else if (ticket.getType().equals("PartitionedTable")) { - + } else if (ticket.getType().equals(JsVariableChanges.PARTITIONEDTABLE)) { int partitionedTableIndex = nextPartitionedTableIndex++; promises[i] = Callbacks.grpcUnaryPromise(c -> { FetchObjectRequest partitionedTableRequest = new FetchObjectRequest(); @@ -683,6 +716,10 @@ public Promise fetch(JsFigure figure, FetchObjectResponse response) { JsPartitionedTable partitionedTable = new JsPartitionedTable(connection, new JsWidget(connection, callback -> callback.handleResponse(null, object, ticket.getTicket()))); + // TODO(deephaven-core#3604) if using a new session don't attempt a reconnect, since we might + // have a different figure schema entirely + // partitionedTable.addEventListener(JsPartitionedTable.EVENT_DISCONNECT, ignore -> + // partitionedTable.close()); partitionedTables[partitionedTableIndex] = partitionedTable; return partitionedTable.refetch(); }); @@ -693,11 +730,11 @@ public Promise fetch(JsFigure figure, FetchObjectResponse response) { return Promise.all(promises) .then(ignore -> { - connection.registerFigure(figure); + connection.registerSimpleReconnectable(figure); return Promise.resolve( new FigureTableFetchData(tables, partitionedTables, - f -> this.connection.releaseFigure(f))); + f -> this.connection.unregisterSimpleReconnectable(f))); }); } } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/state/TableReviver.java b/web/client-api/src/main/java/io/deephaven/web/client/state/TableReviver.java index 2cd967a0b40..15e8f7c5185 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/state/TableReviver.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/state/TableReviver.java @@ -79,7 +79,7 @@ private void doRevive(ClientTableState[] states, BrowserHeaders metadata) { JsLog.debug("Attempting revive on ", state); state.maybeRevive(metadata).then( success -> { - state.forActiveLifecycles(t -> t.revive(state)); + state.forActiveLifecycles(t -> ((JsTable) t).revive(state)); return null; }, failure -> { state.forActiveLifecycles(t -> t.die(failure)); @@ -137,8 +137,7 @@ private void sendRequest(BatchBuilder requester, Map t.revive(succeeded)); - + succeeded.forActiveLifecycles(t -> ((JsTable) t).revive(succeeded)); } }); stream.onEnd(status -> { From c04ceaf68b5f4305177d8b0b0ac58085d111f4a6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 31 Mar 2023 16:19:24 -0400 Subject: [PATCH 17/29] Update web version 0.34.0 (#3641) * [create-pull-request] automated change --------- Co-authored-by: deephaven-internal Co-authored-by: mikebender --- web/client-ui/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/client-ui/Dockerfile b/web/client-ui/Dockerfile index d68e6c163a5..d63d57b70fd 100644 --- a/web/client-ui/Dockerfile +++ b/web/client-ui/Dockerfile @@ -2,9 +2,9 @@ FROM deephaven/node:local-build WORKDIR /usr/src/app # Most of the time, these versions are the same, except in cases where a patch only affects one of the packages -ARG WEB_VERSION=0.33.0 -ARG GRID_VERSION=0.33.0 -ARG CHART_VERSION=0.33.0 +ARG WEB_VERSION=0.34.0 +ARG GRID_VERSION=0.34.0 +ARG CHART_VERSION=0.34.0 # Pull in the published code-studio package from npmjs and extract is RUN set -eux; \ From 05fcdadaf429ca6ee98fbcc097ac28913a608a64 Mon Sep 17 00:00:00 2001 From: Matthew Runyon Date: Fri, 31 Mar 2023 16:07:14 -0500 Subject: [PATCH 18/29] Add signatureHelp and hover to Python autocomplete (#3607) Corresponds with https://github.com/deephaven/web-client-ui/pull/1178 This addresses the first 3 items in #3453 except deprecation tags. Adds signatureHelp and hover requests to the Python autocomplete server Requires you build and force reinstall the Python server locally unless you are using pip -e flag for your local Python server. Put the plumbing in place for autocomplete cancellation and diagnostic requests --- .../impl/ConsoleServiceAuthWiring.java | 28 + .../proto/deephaven/proto/console.grpc.pb.cc | 48 +- .../proto/deephaven/proto/console.grpc.pb.h | 199 +- .../proto/deephaven/proto/console.pb.cc | 9676 ++++++-- .../client/proto/deephaven/proto/console.pb.h | 18399 +++++++++++----- go/internal/proto/console/console.pb.go | 3935 +++- go/internal/proto/console/console_grpc.pb.go | 36 + .../main/proto/deephaven/proto/console.proto | 142 +- py/client/pydeephaven/proto/console_pb2.py | 206 +- .../pydeephaven/proto/console_pb2_grpc.py | 33 + .../auto_completer/_completer.py | 174 +- .../console/ConsoleServiceGrpcImpl.java | 23 +- .../completer/JavaAutoCompleteObserver.java | 139 +- .../completer/PythonAutoCompleteObserver.java | 276 +- .../deephaven/web/client/ide/IdeSession.java | 123 +- .../web/client/ide/LspTranslate.java | 61 +- .../web/shared/ide/lsp/CompletionItem.java | 2 +- .../deephaven/web/shared/ide/lsp/Hover.java | 24 + .../web/shared/ide/lsp/MarkupContent.java | 26 + .../shared/ide/lsp/ParameterInformation.java | 24 + .../shared/ide/lsp/SignatureInformation.java | 58 + .../proto/console_pb/AutoCompleteRequest.java | 705 +- .../console_pb/AutoCompleteResponse.java | 776 +- .../console_pb/CancelAutoCompleteRequest.java | 205 + .../CancelAutoCompleteResponse.java | 30 + .../proto/console_pb/CompletionItem.java | 58 +- .../proto/console_pb/Diagnostic.java | 484 + .../GetCompletionItemsResponse.java | 50 +- .../console_pb/GetDiagnosticRequest.java | 154 + .../proto/console_pb/GetHoverRequest.java | 174 + .../proto/console_pb/GetHoverResponse.java | 214 + .../GetPublishDiagnosticResponse.java | 459 + .../console_pb/GetPullDiagnosticResponse.java | 459 + .../console_pb/GetSignatureHelpRequest.java | 499 + .../console_pb/GetSignatureHelpResponse.java | 303 + .../proto/console_pb/MarkupContent.java | 82 + .../console_pb/ParameterInformation.java | 130 + .../console_pb/SignatureHelpContext.java | 361 + .../console_pb/SignatureInformation.java | 238 + .../autocompleterequest/RequestCase.java | 3 + .../autocompleteresponse/ResponseCase.java | 6 +- .../diagnostic/CodeDescription.java | 66 + .../diagnostic/DiagnosticSeverityMap.java | 52 + .../diagnostic/DiagnosticTagMap.java | 40 + .../console_pb_service/ConsoleService.java | 45 + .../ConsoleServiceClient.java | 147 + .../proto/table_pb/SeekRowRequest.java | 3 + .../proto/table_pb/SeekRowResponse.java | 3 + 48 files changed, 29574 insertions(+), 9804 deletions(-) create mode 100644 web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/Hover.java create mode 100644 web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/MarkupContent.java create mode 100644 web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/ParameterInformation.java create mode 100644 web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/SignatureInformation.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/CancelAutoCompleteRequest.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/CancelAutoCompleteResponse.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/Diagnostic.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetDiagnosticRequest.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetHoverRequest.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetHoverResponse.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetPublishDiagnosticResponse.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetPullDiagnosticResponse.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetSignatureHelpRequest.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetSignatureHelpResponse.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/MarkupContent.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/ParameterInformation.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/SignatureHelpContext.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/SignatureInformation.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/diagnostic/CodeDescription.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/diagnostic/DiagnosticSeverityMap.java create mode 100644 web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/diagnostic/DiagnosticTagMap.java diff --git a/authorization/src/main/java/io/deephaven/auth/codegen/impl/ConsoleServiceAuthWiring.java b/authorization/src/main/java/io/deephaven/auth/codegen/impl/ConsoleServiceAuthWiring.java index fc866261aaa..c4fb74e36f7 100644 --- a/authorization/src/main/java/io/deephaven/auth/codegen/impl/ConsoleServiceAuthWiring.java +++ b/authorization/src/main/java/io/deephaven/auth/codegen/impl/ConsoleServiceAuthWiring.java @@ -11,6 +11,7 @@ import io.deephaven.auth.ServiceAuthWiring; import io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest; import io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest; +import io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest; import io.deephaven.proto.backplane.script.grpc.CancelCommandRequest; import io.deephaven.proto.backplane.script.grpc.ConsoleServiceGrpc; import io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest; @@ -52,6 +53,8 @@ default ServerServiceDefinition intercept(ConsoleServiceGrpc.ConsoleServiceImplB serviceBuilder.addMethod(ServiceAuthWiring.intercept( service, "AutoCompleteStream", this::onCallStartedAutoCompleteStream, this::onMessageReceivedAutoCompleteStream)); + serviceBuilder.addMethod(ServiceAuthWiring.intercept( + service, "CancelAutoComplete", null, this::onMessageReceivedCancelAutoComplete)); serviceBuilder.addMethod(ServiceAuthWiring.intercept( service, "OpenAutoCompleteStream", null, this::onMessageReceivedOpenAutoCompleteStream)); serviceBuilder.addMethod(ServiceAuthWiring.intercept( @@ -141,6 +144,16 @@ void onMessageReceivedBindTableToVariable(AuthContext authContext, */ void onMessageReceivedAutoCompleteStream(AuthContext authContext, AutoCompleteRequest request); + /** + * Authorize a request to CancelAutoComplete. + * + * @param authContext the authentication context of the request + * @param request the request to authorize + * @throws io.grpc.StatusRuntimeException if the user is not authorized to invoke CancelAutoComplete + */ + void onMessageReceivedCancelAutoComplete(AuthContext authContext, + CancelAutoCompleteRequest request); + /** * Authorize a request to OpenAutoCompleteStream. * @@ -187,6 +200,9 @@ public void onCallStartedAutoCompleteStream(AuthContext authContext) {} public void onMessageReceivedAutoCompleteStream(AuthContext authContext, AutoCompleteRequest request) {} + public void onMessageReceivedCancelAutoComplete(AuthContext authContext, + CancelAutoCompleteRequest request) {} + public void onMessageReceivedOpenAutoCompleteStream(AuthContext authContext, AutoCompleteRequest request) {} @@ -238,6 +254,11 @@ public void onMessageReceivedAutoCompleteStream(AuthContext authContext, ServiceAuthWiring.operationNotAllowed(); } + public void onMessageReceivedCancelAutoComplete(AuthContext authContext, + CancelAutoCompleteRequest request) { + ServiceAuthWiring.operationNotAllowed(); + } + public void onMessageReceivedOpenAutoCompleteStream(AuthContext authContext, AutoCompleteRequest request) { ServiceAuthWiring.operationNotAllowed(); @@ -313,6 +334,13 @@ public void onMessageReceivedAutoCompleteStream(AuthContext authContext, } } + public void onMessageReceivedCancelAutoComplete(AuthContext authContext, + CancelAutoCompleteRequest request) { + if (delegate != null) { + delegate.onMessageReceivedCancelAutoComplete(authContext, request); + } + } + public void onMessageReceivedOpenAutoCompleteStream(AuthContext authContext, AutoCompleteRequest request) { if (delegate != null) { diff --git a/cpp-client/deephaven/client/proto/deephaven/proto/console.grpc.pb.cc b/cpp-client/deephaven/client/proto/deephaven/proto/console.grpc.pb.cc index ef652765dd0..556f17f83b4 100644 --- a/cpp-client/deephaven/client/proto/deephaven/proto/console.grpc.pb.cc +++ b/cpp-client/deephaven/client/proto/deephaven/proto/console.grpc.pb.cc @@ -35,6 +35,7 @@ static const char* ConsoleService_method_names[] = { "/io.deephaven.proto.backplane.script.grpc.ConsoleService/CancelCommand", "/io.deephaven.proto.backplane.script.grpc.ConsoleService/BindTableToVariable", "/io.deephaven.proto.backplane.script.grpc.ConsoleService/AutoCompleteStream", + "/io.deephaven.proto.backplane.script.grpc.ConsoleService/CancelAutoComplete", "/io.deephaven.proto.backplane.script.grpc.ConsoleService/OpenAutoCompleteStream", "/io.deephaven.proto.backplane.script.grpc.ConsoleService/NextAutoCompleteStream", }; @@ -54,8 +55,9 @@ ConsoleService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& cha , rpcmethod_CancelCommand_(ConsoleService_method_names[5], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_BindTableToVariable_(ConsoleService_method_names[6], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_AutoCompleteStream_(ConsoleService_method_names[7], options.suffix_for_stats(),::grpc::internal::RpcMethod::BIDI_STREAMING, channel) - , rpcmethod_OpenAutoCompleteStream_(ConsoleService_method_names[8], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel) - , rpcmethod_NextAutoCompleteStream_(ConsoleService_method_names[9], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_CancelAutoComplete_(ConsoleService_method_names[8], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_OpenAutoCompleteStream_(ConsoleService_method_names[9], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel) + , rpcmethod_NextAutoCompleteStream_(ConsoleService_method_names[10], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) {} ::grpc::Status ConsoleService::Stub::GetConsoleTypes(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::GetConsoleTypesRequest& request, ::io::deephaven::proto::backplane::script::grpc::GetConsoleTypesResponse* response) { @@ -228,6 +230,29 @@ ::grpc::ClientAsyncReaderWriter< ::io::deephaven::proto::backplane::script::grpc return ::grpc::internal::ClientAsyncReaderWriterFactory< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>::Create(channel_.get(), cq, rpcmethod_AutoCompleteStream_, context, false, nullptr); } +::grpc::Status ConsoleService::Stub::CancelAutoComplete(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest& request, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_CancelAutoComplete_, context, request, response); +} + +void ConsoleService::Stub::async::CancelAutoComplete(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* request, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_CancelAutoComplete_, context, request, response, std::move(f)); +} + +void ConsoleService::Stub::async::CancelAutoComplete(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* request, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_CancelAutoComplete_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>* ConsoleService::Stub::PrepareAsyncCancelAutoCompleteRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_CancelAutoComplete_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>* ConsoleService::Stub::AsyncCancelAutoCompleteRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncCancelAutoCompleteRaw(context, request, cq); + result->StartCall(); + return result; +} + ::grpc::ClientReader< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* ConsoleService::Stub::OpenAutoCompleteStreamRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest& request) { return ::grpc::internal::ClientReaderFactory< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>::Create(channel_.get(), rpcmethod_OpenAutoCompleteStream_, context, request); } @@ -350,6 +375,16 @@ ConsoleService::Service::Service() { }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( ConsoleService_method_names[8], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< ConsoleService::Service, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](ConsoleService::Service* service, + ::grpc::ServerContext* ctx, + const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* req, + ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* resp) { + return service->CancelAutoComplete(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + ConsoleService_method_names[9], ::grpc::internal::RpcMethod::SERVER_STREAMING, new ::grpc::internal::ServerStreamingHandler< ConsoleService::Service, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>( [](ConsoleService::Service* service, @@ -359,7 +394,7 @@ ConsoleService::Service::Service() { return service->OpenAutoCompleteStream(ctx, req, writer); }, this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - ConsoleService_method_names[9], + ConsoleService_method_names[10], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< ConsoleService::Service, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::BrowserNextResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](ConsoleService::Service* service, @@ -428,6 +463,13 @@ ::grpc::Status ConsoleService::Service::AutoCompleteStream(::grpc::ServerContext return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } +::grpc::Status ConsoleService::Service::CancelAutoComplete(::grpc::ServerContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* request, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + ::grpc::Status ConsoleService::Service::OpenAutoCompleteStream(::grpc::ServerContext* context, const ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest* request, ::grpc::ServerWriter< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* writer) { (void) context; (void) request; diff --git a/cpp-client/deephaven/client/proto/deephaven/proto/console.grpc.pb.h b/cpp-client/deephaven/client/proto/deephaven/proto/console.grpc.pb.h index e49a144cf82..cf4eb129ff6 100644 --- a/cpp-client/deephaven/client/proto/deephaven/proto/console.grpc.pb.h +++ b/cpp-client/deephaven/client/proto/deephaven/proto/console.grpc.pb.h @@ -110,6 +110,13 @@ class ConsoleService final { std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>> PrepareAsyncAutoCompleteStream(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>>(PrepareAsyncAutoCompleteStreamRaw(context, cq)); } + virtual ::grpc::Status CancelAutoComplete(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest& request, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>> AsyncCancelAutoComplete(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>>(AsyncCancelAutoCompleteRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>> PrepareAsyncCancelAutoComplete(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>>(PrepareAsyncCancelAutoCompleteRaw(context, request, cq)); + } // // Half of the browser-based (browser's can't do bidirectional streams without websockets) // implementation for AutoCompleteStream. @@ -153,6 +160,8 @@ class ConsoleService final { // be closed as well. A given document should only be edited within one stream at a // time. virtual void AutoCompleteStream(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest,::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* reactor) = 0; + virtual void CancelAutoComplete(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* request, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* response, std::function) = 0; + virtual void CancelAutoComplete(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* request, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; // // Half of the browser-based (browser's can't do bidirectional streams without websockets) // implementation for AutoCompleteStream. @@ -184,6 +193,8 @@ class ConsoleService final { virtual ::grpc::ClientReaderWriterInterface< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* AutoCompleteStreamRaw(::grpc::ClientContext* context) = 0; virtual ::grpc::ClientAsyncReaderWriterInterface< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* AsyncAutoCompleteStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) = 0; virtual ::grpc::ClientAsyncReaderWriterInterface< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* PrepareAsyncAutoCompleteStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>* AsyncCancelAutoCompleteRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>* PrepareAsyncCancelAutoCompleteRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientReaderInterface< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* OpenAutoCompleteStreamRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest& request) = 0; virtual ::grpc::ClientAsyncReaderInterface< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* AsyncOpenAutoCompleteStreamRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest& request, ::grpc::CompletionQueue* cq, void* tag) = 0; virtual ::grpc::ClientAsyncReaderInterface< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* PrepareAsyncOpenAutoCompleteStreamRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest& request, ::grpc::CompletionQueue* cq) = 0; @@ -253,6 +264,13 @@ class ConsoleService final { std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>> PrepareAsyncAutoCompleteStream(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>>(PrepareAsyncAutoCompleteStreamRaw(context, cq)); } + ::grpc::Status CancelAutoComplete(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest& request, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>> AsyncCancelAutoComplete(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>>(AsyncCancelAutoCompleteRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>> PrepareAsyncCancelAutoComplete(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>>(PrepareAsyncCancelAutoCompleteRaw(context, request, cq)); + } std::unique_ptr< ::grpc::ClientReader< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>> OpenAutoCompleteStream(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest& request) { return std::unique_ptr< ::grpc::ClientReader< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>>(OpenAutoCompleteStreamRaw(context, request)); } @@ -286,6 +304,8 @@ class ConsoleService final { void BindTableToVariable(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::BindTableToVariableRequest* request, ::io::deephaven::proto::backplane::script::grpc::BindTableToVariableResponse* response, std::function) override; void BindTableToVariable(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::BindTableToVariableRequest* request, ::io::deephaven::proto::backplane::script::grpc::BindTableToVariableResponse* response, ::grpc::ClientUnaryReactor* reactor) override; void AutoCompleteStream(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest,::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* reactor) override; + void CancelAutoComplete(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* request, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* response, std::function) override; + void CancelAutoComplete(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* request, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* response, ::grpc::ClientUnaryReactor* reactor) override; void OpenAutoCompleteStream(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest* request, ::grpc::ClientReadReactor< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* reactor) override; void NextAutoCompleteStream(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest* request, ::io::deephaven::proto::backplane::script::grpc::BrowserNextResponse* response, std::function) override; void NextAutoCompleteStream(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest* request, ::io::deephaven::proto::backplane::script::grpc::BrowserNextResponse* response, ::grpc::ClientUnaryReactor* reactor) override; @@ -318,6 +338,8 @@ class ConsoleService final { ::grpc::ClientReaderWriter< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* AutoCompleteStreamRaw(::grpc::ClientContext* context) override; ::grpc::ClientAsyncReaderWriter< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* AsyncAutoCompleteStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) override; ::grpc::ClientAsyncReaderWriter< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* PrepareAsyncAutoCompleteStreamRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>* AsyncCancelAutoCompleteRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>* PrepareAsyncCancelAutoCompleteRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientReader< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* OpenAutoCompleteStreamRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest& request) override; ::grpc::ClientAsyncReader< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* AsyncOpenAutoCompleteStreamRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest& request, ::grpc::CompletionQueue* cq, void* tag) override; ::grpc::ClientAsyncReader< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* PrepareAsyncOpenAutoCompleteStreamRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest& request, ::grpc::CompletionQueue* cq) override; @@ -331,6 +353,7 @@ class ConsoleService final { const ::grpc::internal::RpcMethod rpcmethod_CancelCommand_; const ::grpc::internal::RpcMethod rpcmethod_BindTableToVariable_; const ::grpc::internal::RpcMethod rpcmethod_AutoCompleteStream_; + const ::grpc::internal::RpcMethod rpcmethod_CancelAutoComplete_; const ::grpc::internal::RpcMethod rpcmethod_OpenAutoCompleteStream_; const ::grpc::internal::RpcMethod rpcmethod_NextAutoCompleteStream_; }; @@ -353,6 +376,7 @@ class ConsoleService final { // be closed as well. A given document should only be edited within one stream at a // time. virtual ::grpc::Status AutoCompleteStream(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest>* stream); + virtual ::grpc::Status CancelAutoComplete(::grpc::ServerContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* request, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* response); // // Half of the browser-based (browser's can't do bidirectional streams without websockets) // implementation for AutoCompleteStream. @@ -522,12 +546,32 @@ class ConsoleService final { } }; template + class WithAsyncMethod_CancelAutoComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_CancelAutoComplete() { + ::grpc::Service::MarkMethodAsync(8); + } + ~WithAsyncMethod_CancelAutoComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status CancelAutoComplete(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* /*request*/, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestCancelAutoComplete(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(8, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template class WithAsyncMethod_OpenAutoCompleteStream : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_OpenAutoCompleteStream() { - ::grpc::Service::MarkMethodAsync(8); + ::grpc::Service::MarkMethodAsync(9); } ~WithAsyncMethod_OpenAutoCompleteStream() override { BaseClassMustBeDerivedFromService(this); @@ -538,7 +582,7 @@ class ConsoleService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestOpenAutoCompleteStream(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest* request, ::grpc::ServerAsyncWriter< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncServerStreaming(8, context, request, writer, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncServerStreaming(9, context, request, writer, new_call_cq, notification_cq, tag); } }; template @@ -547,7 +591,7 @@ class ConsoleService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithAsyncMethod_NextAutoCompleteStream() { - ::grpc::Service::MarkMethodAsync(9); + ::grpc::Service::MarkMethodAsync(10); } ~WithAsyncMethod_NextAutoCompleteStream() override { BaseClassMustBeDerivedFromService(this); @@ -558,10 +602,10 @@ class ConsoleService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestNextAutoCompleteStream(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::script::grpc::BrowserNextResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(9, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(10, context, request, response, new_call_cq, notification_cq, tag); } }; - typedef WithAsyncMethod_GetConsoleTypes > > > > > > > > > AsyncService; + typedef WithAsyncMethod_GetConsoleTypes > > > > > > > > > > AsyncService; template class WithCallbackMethod_GetConsoleTypes : public BaseClass { private: @@ -770,12 +814,39 @@ class ConsoleService final { { return nullptr; } }; template + class WithCallbackMethod_CancelAutoComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_CancelAutoComplete() { + ::grpc::Service::MarkMethodCallback(8, + new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* request, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* response) { return this->CancelAutoComplete(context, request, response); }));} + void SetMessageAllocatorFor_CancelAutoComplete( + ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(8); + static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_CancelAutoComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status CancelAutoComplete(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* /*request*/, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* CancelAutoComplete( + ::grpc::CallbackServerContext* /*context*/, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* /*request*/, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* /*response*/) { return nullptr; } + }; + template class WithCallbackMethod_OpenAutoCompleteStream : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithCallbackMethod_OpenAutoCompleteStream() { - ::grpc::Service::MarkMethodCallback(8, + ::grpc::Service::MarkMethodCallback(9, new ::grpc::internal::CallbackServerStreamingHandler< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>( [this]( ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest* request) { return this->OpenAutoCompleteStream(context, request); })); @@ -797,13 +868,13 @@ class ConsoleService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithCallbackMethod_NextAutoCompleteStream() { - ::grpc::Service::MarkMethodCallback(9, + ::grpc::Service::MarkMethodCallback(10, new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::BrowserNextResponse>( [this]( ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest* request, ::io::deephaven::proto::backplane::script::grpc::BrowserNextResponse* response) { return this->NextAutoCompleteStream(context, request, response); }));} void SetMessageAllocatorFor_NextAutoCompleteStream( ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::BrowserNextResponse>* allocator) { - ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(9); + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(10); static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::BrowserNextResponse>*>(handler) ->SetMessageAllocator(allocator); } @@ -818,7 +889,7 @@ class ConsoleService final { virtual ::grpc::ServerUnaryReactor* NextAutoCompleteStream( ::grpc::CallbackServerContext* /*context*/, const ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest* /*request*/, ::io::deephaven::proto::backplane::script::grpc::BrowserNextResponse* /*response*/) { return nullptr; } }; - typedef WithCallbackMethod_GetConsoleTypes > > > > > > > > > CallbackService; + typedef WithCallbackMethod_GetConsoleTypes > > > > > > > > > > CallbackService; typedef CallbackService ExperimentalCallbackService; template class WithGenericMethod_GetConsoleTypes : public BaseClass { @@ -957,12 +1028,29 @@ class ConsoleService final { } }; template + class WithGenericMethod_CancelAutoComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_CancelAutoComplete() { + ::grpc::Service::MarkMethodGeneric(8); + } + ~WithGenericMethod_CancelAutoComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status CancelAutoComplete(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* /*request*/, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template class WithGenericMethod_OpenAutoCompleteStream : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_OpenAutoCompleteStream() { - ::grpc::Service::MarkMethodGeneric(8); + ::grpc::Service::MarkMethodGeneric(9); } ~WithGenericMethod_OpenAutoCompleteStream() override { BaseClassMustBeDerivedFromService(this); @@ -979,7 +1067,7 @@ class ConsoleService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithGenericMethod_NextAutoCompleteStream() { - ::grpc::Service::MarkMethodGeneric(9); + ::grpc::Service::MarkMethodGeneric(10); } ~WithGenericMethod_NextAutoCompleteStream() override { BaseClassMustBeDerivedFromService(this); @@ -1151,12 +1239,32 @@ class ConsoleService final { } }; template + class WithRawMethod_CancelAutoComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_CancelAutoComplete() { + ::grpc::Service::MarkMethodRaw(8); + } + ~WithRawMethod_CancelAutoComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status CancelAutoComplete(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* /*request*/, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestCancelAutoComplete(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(8, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template class WithRawMethod_OpenAutoCompleteStream : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_OpenAutoCompleteStream() { - ::grpc::Service::MarkMethodRaw(8); + ::grpc::Service::MarkMethodRaw(9); } ~WithRawMethod_OpenAutoCompleteStream() override { BaseClassMustBeDerivedFromService(this); @@ -1167,7 +1275,7 @@ class ConsoleService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestOpenAutoCompleteStream(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncWriter< ::grpc::ByteBuffer>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncServerStreaming(8, context, request, writer, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncServerStreaming(9, context, request, writer, new_call_cq, notification_cq, tag); } }; template @@ -1176,7 +1284,7 @@ class ConsoleService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawMethod_NextAutoCompleteStream() { - ::grpc::Service::MarkMethodRaw(9); + ::grpc::Service::MarkMethodRaw(10); } ~WithRawMethod_NextAutoCompleteStream() override { BaseClassMustBeDerivedFromService(this); @@ -1187,7 +1295,7 @@ class ConsoleService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestNextAutoCompleteStream(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(9, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(10, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -1368,12 +1476,34 @@ class ConsoleService final { { return nullptr; } }; template + class WithRawCallbackMethod_CancelAutoComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_CancelAutoComplete() { + ::grpc::Service::MarkMethodRawCallback(8, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->CancelAutoComplete(context, request, response); })); + } + ~WithRawCallbackMethod_CancelAutoComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status CancelAutoComplete(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* /*request*/, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* CancelAutoComplete( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template class WithRawCallbackMethod_OpenAutoCompleteStream : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawCallbackMethod_OpenAutoCompleteStream() { - ::grpc::Service::MarkMethodRawCallback(8, + ::grpc::Service::MarkMethodRawCallback(9, new ::grpc::internal::CallbackServerStreamingHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( ::grpc::CallbackServerContext* context, const::grpc::ByteBuffer* request) { return this->OpenAutoCompleteStream(context, request); })); @@ -1395,7 +1525,7 @@ class ConsoleService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithRawCallbackMethod_NextAutoCompleteStream() { - ::grpc::Service::MarkMethodRawCallback(9, + ::grpc::Service::MarkMethodRawCallback(10, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this]( ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->NextAutoCompleteStream(context, request, response); })); @@ -1574,12 +1704,39 @@ class ConsoleService final { virtual ::grpc::Status StreamedBindTableToVariable(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::io::deephaven::proto::backplane::script::grpc::BindTableToVariableRequest,::io::deephaven::proto::backplane::script::grpc::BindTableToVariableResponse>* server_unary_streamer) = 0; }; template + class WithStreamedUnaryMethod_CancelAutoComplete : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_CancelAutoComplete() { + ::grpc::Service::MarkMethodStreamed(8, + new ::grpc::internal::StreamedUnaryHandler< + ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>* streamer) { + return this->StreamedCancelAutoComplete(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_CancelAutoComplete() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status CancelAutoComplete(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* /*request*/, ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedCancelAutoComplete(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest,::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>* server_unary_streamer) = 0; + }; + template class WithStreamedUnaryMethod_NextAutoCompleteStream : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithStreamedUnaryMethod_NextAutoCompleteStream() { - ::grpc::Service::MarkMethodStreamed(9, + ::grpc::Service::MarkMethodStreamed(10, new ::grpc::internal::StreamedUnaryHandler< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::BrowserNextResponse>( [this](::grpc::ServerContext* context, @@ -1600,7 +1757,7 @@ class ConsoleService final { // replace default version of method with streamed unary virtual ::grpc::Status StreamedNextAutoCompleteStream(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest,::io::deephaven::proto::backplane::script::grpc::BrowserNextResponse>* server_unary_streamer) = 0; }; - typedef WithStreamedUnaryMethod_GetConsoleTypes > > > > > > StreamedUnaryService; + typedef WithStreamedUnaryMethod_GetConsoleTypes > > > > > > > StreamedUnaryService; template class WithSplitStreamingMethod_SubscribeToLogs : public BaseClass { private: @@ -1634,7 +1791,7 @@ class ConsoleService final { void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} public: WithSplitStreamingMethod_OpenAutoCompleteStream() { - ::grpc::Service::MarkMethodStreamed(8, + ::grpc::Service::MarkMethodStreamed(9, new ::grpc::internal::SplitServerStreamingHandler< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>( [this](::grpc::ServerContext* context, @@ -1656,7 +1813,7 @@ class ConsoleService final { virtual ::grpc::Status StreamedOpenAutoCompleteStream(::grpc::ServerContext* context, ::grpc::ServerSplitStreamer< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest,::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse>* server_split_streamer) = 0; }; typedef WithSplitStreamingMethod_SubscribeToLogs > SplitStreamedService; - typedef WithStreamedUnaryMethod_GetConsoleTypes > > > > > > > > StreamedService; + typedef WithStreamedUnaryMethod_GetConsoleTypes > > > > > > > > > StreamedService; }; } // namespace grpc diff --git a/cpp-client/deephaven/client/proto/deephaven/proto/console.pb.cc b/cpp-client/deephaven/client/proto/deephaven/proto/console.pb.cc index cc7383a6dd4..2e8e48057c2 100644 --- a/cpp-client/deephaven/client/proto/deephaven/proto/console.pb.cc +++ b/cpp-client/deephaven/client/proto/deephaven/proto/console.pb.cc @@ -201,9 +201,35 @@ struct CancelCommandResponseDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CancelCommandResponseDefaultTypeInternal _CancelCommandResponse_default_instance_; +PROTOBUF_CONSTEXPR CancelAutoCompleteRequest::CancelAutoCompleteRequest( + ::_pbi::ConstantInitialized) + : console_id_(nullptr) + , request_id_(0){} +struct CancelAutoCompleteRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR CancelAutoCompleteRequestDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~CancelAutoCompleteRequestDefaultTypeInternal() {} + union { + CancelAutoCompleteRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CancelAutoCompleteRequestDefaultTypeInternal _CancelAutoCompleteRequest_default_instance_; +PROTOBUF_CONSTEXPR CancelAutoCompleteResponse::CancelAutoCompleteResponse( + ::_pbi::ConstantInitialized){} +struct CancelAutoCompleteResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR CancelAutoCompleteResponseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~CancelAutoCompleteResponseDefaultTypeInternal() {} + union { + CancelAutoCompleteResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CancelAutoCompleteResponseDefaultTypeInternal _CancelAutoCompleteResponse_default_instance_; PROTOBUF_CONSTEXPR AutoCompleteRequest::AutoCompleteRequest( ::_pbi::ConstantInitialized) - : _oneof_case_{}{} + : console_id_(nullptr) + , request_id_(0) + , _oneof_case_{}{} struct AutoCompleteRequestDefaultTypeInternal { PROTOBUF_CONSTEXPR AutoCompleteRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} @@ -215,7 +241,9 @@ struct AutoCompleteRequestDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AutoCompleteRequestDefaultTypeInternal _AutoCompleteRequest_default_instance_; PROTOBUF_CONSTEXPR AutoCompleteResponse::AutoCompleteResponse( ::_pbi::ConstantInitialized) - : _oneof_case_{}{} + : request_id_(0) + , success_(false) + , _oneof_case_{}{} struct AutoCompleteResponseDefaultTypeInternal { PROTOBUF_CONSTEXPR AutoCompleteResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} @@ -344,6 +372,19 @@ struct PositionDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PositionDefaultTypeInternal _Position_default_instance_; +PROTOBUF_CONSTEXPR MarkupContent::MarkupContent( + ::_pbi::ConstantInitialized) + : kind_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) + , value_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}){} +struct MarkupContentDefaultTypeInternal { + PROTOBUF_CONSTEXPR MarkupContentDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~MarkupContentDefaultTypeInternal() {} + union { + MarkupContent _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MarkupContentDefaultTypeInternal _MarkupContent_default_instance_; PROTOBUF_CONSTEXPR GetCompletionItemsRequest::GetCompletionItemsRequest( ::_pbi::ConstantInitialized) : console_id_(nullptr) @@ -393,10 +434,10 @@ PROTOBUF_CONSTEXPR CompletionItem::CompletionItem( , commit_characters_() , label_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) , detail_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) - , documentation_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) , sort_text_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) , filter_text_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) , text_edit_(nullptr) + , documentation_(nullptr) , start_(0) , length_(0) , kind_(0) @@ -425,6 +466,178 @@ struct TextEditDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TextEditDefaultTypeInternal _TextEdit_default_instance_; +PROTOBUF_CONSTEXPR GetSignatureHelpRequest::GetSignatureHelpRequest( + ::_pbi::ConstantInitialized) + : context_(nullptr) + , text_document_(nullptr) + , position_(nullptr){} +struct GetSignatureHelpRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetSignatureHelpRequestDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetSignatureHelpRequestDefaultTypeInternal() {} + union { + GetSignatureHelpRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetSignatureHelpRequestDefaultTypeInternal _GetSignatureHelpRequest_default_instance_; +PROTOBUF_CONSTEXPR SignatureHelpContext::SignatureHelpContext( + ::_pbi::ConstantInitialized) + : trigger_character_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) + , active_signature_help_(nullptr) + , trigger_kind_(0) + , is_retrigger_(false){} +struct SignatureHelpContextDefaultTypeInternal { + PROTOBUF_CONSTEXPR SignatureHelpContextDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~SignatureHelpContextDefaultTypeInternal() {} + union { + SignatureHelpContext _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SignatureHelpContextDefaultTypeInternal _SignatureHelpContext_default_instance_; +PROTOBUF_CONSTEXPR GetSignatureHelpResponse::GetSignatureHelpResponse( + ::_pbi::ConstantInitialized) + : signatures_() + , active_signature_(0) + , active_parameter_(0){} +struct GetSignatureHelpResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetSignatureHelpResponseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetSignatureHelpResponseDefaultTypeInternal() {} + union { + GetSignatureHelpResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetSignatureHelpResponseDefaultTypeInternal _GetSignatureHelpResponse_default_instance_; +PROTOBUF_CONSTEXPR SignatureInformation::SignatureInformation( + ::_pbi::ConstantInitialized) + : parameters_() + , label_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) + , documentation_(nullptr) + , active_parameter_(0){} +struct SignatureInformationDefaultTypeInternal { + PROTOBUF_CONSTEXPR SignatureInformationDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~SignatureInformationDefaultTypeInternal() {} + union { + SignatureInformation _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SignatureInformationDefaultTypeInternal _SignatureInformation_default_instance_; +PROTOBUF_CONSTEXPR ParameterInformation::ParameterInformation( + ::_pbi::ConstantInitialized) + : label_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) + , documentation_(nullptr){} +struct ParameterInformationDefaultTypeInternal { + PROTOBUF_CONSTEXPR ParameterInformationDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~ParameterInformationDefaultTypeInternal() {} + union { + ParameterInformation _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ParameterInformationDefaultTypeInternal _ParameterInformation_default_instance_; +PROTOBUF_CONSTEXPR GetHoverRequest::GetHoverRequest( + ::_pbi::ConstantInitialized) + : text_document_(nullptr) + , position_(nullptr){} +struct GetHoverRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetHoverRequestDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetHoverRequestDefaultTypeInternal() {} + union { + GetHoverRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetHoverRequestDefaultTypeInternal _GetHoverRequest_default_instance_; +PROTOBUF_CONSTEXPR GetHoverResponse::GetHoverResponse( + ::_pbi::ConstantInitialized) + : contents_(nullptr) + , range_(nullptr){} +struct GetHoverResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetHoverResponseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetHoverResponseDefaultTypeInternal() {} + union { + GetHoverResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetHoverResponseDefaultTypeInternal _GetHoverResponse_default_instance_; +PROTOBUF_CONSTEXPR GetDiagnosticRequest::GetDiagnosticRequest( + ::_pbi::ConstantInitialized) + : identifier_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) + , previous_result_id_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) + , text_document_(nullptr){} +struct GetDiagnosticRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetDiagnosticRequestDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetDiagnosticRequestDefaultTypeInternal() {} + union { + GetDiagnosticRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetDiagnosticRequestDefaultTypeInternal _GetDiagnosticRequest_default_instance_; +PROTOBUF_CONSTEXPR GetPullDiagnosticResponse::GetPullDiagnosticResponse( + ::_pbi::ConstantInitialized) + : items_() + , kind_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) + , result_id_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}){} +struct GetPullDiagnosticResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetPullDiagnosticResponseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetPullDiagnosticResponseDefaultTypeInternal() {} + union { + GetPullDiagnosticResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetPullDiagnosticResponseDefaultTypeInternal _GetPullDiagnosticResponse_default_instance_; +PROTOBUF_CONSTEXPR GetPublishDiagnosticResponse::GetPublishDiagnosticResponse( + ::_pbi::ConstantInitialized) + : diagnostics_() + , uri_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) + , version_(0){} +struct GetPublishDiagnosticResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetPublishDiagnosticResponseDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~GetPublishDiagnosticResponseDefaultTypeInternal() {} + union { + GetPublishDiagnosticResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetPublishDiagnosticResponseDefaultTypeInternal _GetPublishDiagnosticResponse_default_instance_; +PROTOBUF_CONSTEXPR Diagnostic_CodeDescription::Diagnostic_CodeDescription( + ::_pbi::ConstantInitialized) + : href_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}){} +struct Diagnostic_CodeDescriptionDefaultTypeInternal { + PROTOBUF_CONSTEXPR Diagnostic_CodeDescriptionDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~Diagnostic_CodeDescriptionDefaultTypeInternal() {} + union { + Diagnostic_CodeDescription _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Diagnostic_CodeDescriptionDefaultTypeInternal _Diagnostic_CodeDescription_default_instance_; +PROTOBUF_CONSTEXPR Diagnostic::Diagnostic( + ::_pbi::ConstantInitialized) + : tags_() + , _tags_cached_byte_size_(0) + , code_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) + , source_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) + , message_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) + , data_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}) + , range_(nullptr) + , code_description_(nullptr) + , severity_(0) +{} +struct DiagnosticDefaultTypeInternal { + PROTOBUF_CONSTEXPR DiagnosticDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~DiagnosticDefaultTypeInternal() {} + union { + Diagnostic _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DiagnosticDefaultTypeInternal _Diagnostic_default_instance_; PROTOBUF_CONSTEXPR FigureDescriptor_ChartDescriptor::FigureDescriptor_ChartDescriptor( ::_pbi::ConstantInitialized) : series_() @@ -712,8 +925,8 @@ PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORIT } // namespace proto } // namespace deephaven } // namespace io -static ::_pb::Metadata file_level_metadata_deephaven_2fproto_2fconsole_2eproto[45]; -static const ::_pb::EnumDescriptor* file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[7]; +static ::_pb::Metadata file_level_metadata_deephaven_2fproto_2fconsole_2eproto[60]; +static const ::_pb::EnumDescriptor* file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[9]; static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_deephaven_2fproto_2fconsole_2eproto = nullptr; const uint32_t TableStruct_deephaven_2fproto_2fconsole_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { @@ -823,11 +1036,30 @@ const uint32_t TableStruct_deephaven_2fproto_2fconsole_2eproto::offsets[] PROTOB ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest, console_id_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest, request_id_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, _internal_metadata_), ~0u, // no _extensions_ PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, _oneof_case_[0]), ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, console_id_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest, request_id_), + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, ::_pbi::kInvalidFieldOffsetTag, ::_pbi::kInvalidFieldOffsetTag, ::_pbi::kInvalidFieldOffsetTag, @@ -839,6 +1071,12 @@ const uint32_t TableStruct_deephaven_2fproto_2fconsole_2eproto::offsets[] PROTOB PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse, _oneof_case_[0]), ~0u, // no _weak_field_map_ ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse, request_id_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse, success_), + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, ::_pbi::kInvalidFieldOffsetTag, PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse, response_), ~0u, // no _has_bits_ @@ -916,6 +1154,14 @@ const uint32_t TableStruct_deephaven_2fproto_2fconsole_2eproto::offsets[] PROTOB PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::Position, line_), PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::Position, character_), ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::MarkupContent, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::MarkupContent, kind_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::MarkupContent, value_), + ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ @@ -954,7 +1200,6 @@ const uint32_t TableStruct_deephaven_2fproto_2fconsole_2eproto::offsets[] PROTOB PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::CompletionItem, label_), PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::CompletionItem, kind_), PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::CompletionItem, detail_), - PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::CompletionItem, documentation_), PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::CompletionItem, deprecated_), PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::CompletionItem, preselect_), PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::CompletionItem, text_edit_), @@ -963,6 +1208,7 @@ const uint32_t TableStruct_deephaven_2fproto_2fconsole_2eproto::offsets[] PROTOB PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::CompletionItem, insert_text_format_), PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::CompletionItem, additional_text_edits_), PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::CompletionItem, commit_characters_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::CompletionItem, documentation_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::TextEdit, _internal_metadata_), ~0u, // no _extensions_ @@ -971,6 +1217,144 @@ const uint32_t TableStruct_deephaven_2fproto_2fconsole_2eproto::offsets[] PROTOB ~0u, // no _inlined_string_donated_ PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::TextEdit, range_), PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::TextEdit, text_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest, context_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest, text_document_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest, position_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext, _has_bits_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext, trigger_kind_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext, trigger_character_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext, is_retrigger_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext, active_signature_help_), + ~0u, + 0, + ~0u, + ~0u, + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse, signatures_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse, active_signature_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse, active_parameter_), + ~0u, + 0, + 1, + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::SignatureInformation, _has_bits_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::SignatureInformation, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::SignatureInformation, label_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::SignatureInformation, documentation_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::SignatureInformation, parameters_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::SignatureInformation, active_parameter_), + ~0u, + ~0u, + ~0u, + 0, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::ParameterInformation, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::ParameterInformation, label_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::ParameterInformation, documentation_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetHoverRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetHoverRequest, text_document_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetHoverRequest, position_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetHoverResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetHoverResponse, contents_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetHoverResponse, range_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest, _has_bits_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest, text_document_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest, identifier_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest, previous_result_id_), + ~0u, + 0, + 1, + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse, kind_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse, result_id_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse, items_), + ~0u, + 0, + ~0u, + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse, uri_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse, version_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse, diagnostics_), + ~0u, + 0, + ~0u, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription, href_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::Diagnostic, _has_bits_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::Diagnostic, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::Diagnostic, range_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::Diagnostic, severity_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::Diagnostic, code_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::Diagnostic, code_description_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::Diagnostic, source_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::Diagnostic, message_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::Diagnostic, tags_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::Diagnostic, data_), + ~0u, + ~0u, + 0, + 3, + 1, + ~0u, + ~0u, + 2, PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor, _has_bits_), PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor, _internal_metadata_), ~0u, // no _extensions_ @@ -1251,37 +1635,52 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode { 85, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::BindTableToVariableResponse)}, { 91, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::CancelCommandRequest)}, { 99, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::CancelCommandResponse)}, - { 105, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest)}, - { 116, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse)}, - { 124, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::BrowserNextResponse)}, - { 130, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest)}, - { 138, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::TextDocumentItem)}, - { 148, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest)}, - { 156, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent)}, - { 165, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest)}, - { 174, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::DocumentRange)}, - { 182, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier)}, - { 190, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::Position)}, - { 198, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest)}, - { 209, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::CompletionContext)}, - { 217, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse)}, - { 226, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::CompletionItem)}, - { 246, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::TextEdit)}, - { 254, 275, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor)}, - { 290, 310, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor)}, - { 324, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor)}, - { 344, 353, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault)}, - { 356, 365, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault)}, - { 368, 377, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault)}, - { 380, 407, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor)}, - { 428, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod)}, - { 436, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday)}, - { 444, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate)}, - { 453, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor)}, - { 464, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor)}, - { 474, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor)}, - { 487, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor)}, - { 496, 510, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor)}, + { 105, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest)}, + { 113, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse)}, + { 119, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest)}, + { 135, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse)}, + { 149, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::BrowserNextResponse)}, + { 155, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest)}, + { 163, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::TextDocumentItem)}, + { 173, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest)}, + { 181, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent)}, + { 190, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest)}, + { 199, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::DocumentRange)}, + { 207, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier)}, + { 215, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::Position)}, + { 223, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::MarkupContent)}, + { 231, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest)}, + { 242, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::CompletionContext)}, + { 250, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse)}, + { 259, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::CompletionItem)}, + { 279, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::TextEdit)}, + { 287, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest)}, + { 296, 306, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext)}, + { 310, 319, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse)}, + { 322, 332, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::SignatureInformation)}, + { 336, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::ParameterInformation)}, + { 344, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::GetHoverRequest)}, + { 352, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::GetHoverResponse)}, + { 360, 369, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest)}, + { 372, 381, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse)}, + { 384, 393, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse)}, + { 396, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription)}, + { 403, 417, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::Diagnostic)}, + { 425, 446, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor)}, + { 461, 481, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor)}, + { 495, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor)}, + { 515, 524, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault)}, + { 527, 536, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault)}, + { 539, 548, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault)}, + { 551, 578, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor)}, + { 599, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod)}, + { 607, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday)}, + { 615, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate)}, + { 624, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor)}, + { 635, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor)}, + { 645, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor)}, + { 658, -1, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor)}, + { 667, 681, -1, sizeof(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -1299,6 +1698,8 @@ static const ::_pb::Message* const file_default_instances[] = { &::io::deephaven::proto::backplane::script::grpc::_BindTableToVariableResponse_default_instance_._instance, &::io::deephaven::proto::backplane::script::grpc::_CancelCommandRequest_default_instance_._instance, &::io::deephaven::proto::backplane::script::grpc::_CancelCommandResponse_default_instance_._instance, + &::io::deephaven::proto::backplane::script::grpc::_CancelAutoCompleteRequest_default_instance_._instance, + &::io::deephaven::proto::backplane::script::grpc::_CancelAutoCompleteResponse_default_instance_._instance, &::io::deephaven::proto::backplane::script::grpc::_AutoCompleteRequest_default_instance_._instance, &::io::deephaven::proto::backplane::script::grpc::_AutoCompleteResponse_default_instance_._instance, &::io::deephaven::proto::backplane::script::grpc::_BrowserNextResponse_default_instance_._instance, @@ -1310,11 +1711,24 @@ static const ::_pb::Message* const file_default_instances[] = { &::io::deephaven::proto::backplane::script::grpc::_DocumentRange_default_instance_._instance, &::io::deephaven::proto::backplane::script::grpc::_VersionedTextDocumentIdentifier_default_instance_._instance, &::io::deephaven::proto::backplane::script::grpc::_Position_default_instance_._instance, + &::io::deephaven::proto::backplane::script::grpc::_MarkupContent_default_instance_._instance, &::io::deephaven::proto::backplane::script::grpc::_GetCompletionItemsRequest_default_instance_._instance, &::io::deephaven::proto::backplane::script::grpc::_CompletionContext_default_instance_._instance, &::io::deephaven::proto::backplane::script::grpc::_GetCompletionItemsResponse_default_instance_._instance, &::io::deephaven::proto::backplane::script::grpc::_CompletionItem_default_instance_._instance, &::io::deephaven::proto::backplane::script::grpc::_TextEdit_default_instance_._instance, + &::io::deephaven::proto::backplane::script::grpc::_GetSignatureHelpRequest_default_instance_._instance, + &::io::deephaven::proto::backplane::script::grpc::_SignatureHelpContext_default_instance_._instance, + &::io::deephaven::proto::backplane::script::grpc::_GetSignatureHelpResponse_default_instance_._instance, + &::io::deephaven::proto::backplane::script::grpc::_SignatureInformation_default_instance_._instance, + &::io::deephaven::proto::backplane::script::grpc::_ParameterInformation_default_instance_._instance, + &::io::deephaven::proto::backplane::script::grpc::_GetHoverRequest_default_instance_._instance, + &::io::deephaven::proto::backplane::script::grpc::_GetHoverResponse_default_instance_._instance, + &::io::deephaven::proto::backplane::script::grpc::_GetDiagnosticRequest_default_instance_._instance, + &::io::deephaven::proto::backplane::script::grpc::_GetPullDiagnosticResponse_default_instance_._instance, + &::io::deephaven::proto::backplane::script::grpc::_GetPublishDiagnosticResponse_default_instance_._instance, + &::io::deephaven::proto::backplane::script::grpc::_Diagnostic_CodeDescription_default_instance_._instance, + &::io::deephaven::proto::backplane::script::grpc::_Diagnostic_default_instance_._instance, &::io::deephaven::proto::backplane::script::grpc::_FigureDescriptor_ChartDescriptor_default_instance_._instance, &::io::deephaven::proto::backplane::script::grpc::_FigureDescriptor_SeriesDescriptor_default_instance_._instance, &::io::deephaven::proto::backplane::script::grpc::_FigureDescriptor_MultiSeriesDescriptor_default_instance_._instance, @@ -1365,77 +1779,169 @@ const char descriptor_table_protodef_deephaven_2fproto_2fconsole_2eproto[] PROTO "\022=\n\nconsole_id\030\001 \001(\0132).io.deephaven.prot" "o.backplane.grpc.Ticket\022=\n\ncommand_id\030\002 " "\001(\0132).io.deephaven.proto.backplane.grpc." - "Ticket\"\027\n\025CancelCommandResponse\"\223\003\n\023Auto" - "CompleteRequest\022V\n\ropen_document\030\001 \001(\0132=" + "Ticket\"\027\n\025CancelCommandResponse\"n\n\031Cance" + "lAutoCompleteRequest\022=\n\nconsole_id\030\001 \001(\013" + "2).io.deephaven.proto.backplane.grpc.Tic" + "ket\022\022\n\nrequest_id\030\002 \001(\005\"\034\n\032CancelAutoCom" + "pleteResponse\"\361\005\n\023AutoCompleteRequest\022=\n" + "\nconsole_id\030\005 \001(\0132).io.deephaven.proto.b" + "ackplane.grpc.Ticket\022\022\n\nrequest_id\030\006 \001(\005" + "\022V\n\ropen_document\030\001 \001(\0132=.io.deephaven.p" + "roto.backplane.script.grpc.OpenDocumentR" + "equestH\000\022Z\n\017change_document\030\002 \001(\0132\?.io.d" + "eephaven.proto.backplane.script.grpc.Cha" + "ngeDocumentRequestH\000\022c\n\024get_completion_i" + "tems\030\003 \001(\0132C.io.deephaven.proto.backplan" + "e.script.grpc.GetCompletionItemsRequestH" + "\000\022_\n\022get_signature_help\030\007 \001(\0132A.io.deeph" + "aven.proto.backplane.script.grpc.GetSign" + "atureHelpRequestH\000\022N\n\tget_hover\030\010 \001(\01329." + "io.deephaven.proto.backplane.script.grpc" + ".GetHoverRequestH\000\022X\n\016get_diagnostic\030\t \001" + "(\0132>.io.deephaven.proto.backplane.script" + ".grpc.GetDiagnosticRequestH\000\022X\n\016close_do" + "cument\030\004 \001(\0132>.io.deephaven.proto.backpl" + "ane.script.grpc.CloseDocumentRequestH\000B\t" + "\n\007request\"\221\004\n\024AutoCompleteResponse\022\022\n\nre" + "quest_id\030\002 \001(\005\022\017\n\007success\030\003 \001(\010\022`\n\020compl" + "etion_items\030\001 \001(\0132D.io.deephaven.proto.b" + "ackplane.script.grpc.GetCompletionItemsR" + "esponseH\000\022X\n\nsignatures\030\004 \001(\0132B.io.deeph" + "aven.proto.backplane.script.grpc.GetSign" + "atureHelpResponseH\000\022K\n\005hover\030\005 \001(\0132:.io." + "deephaven.proto.backplane.script.grpc.Ge" + "tHoverResponseH\000\022Y\n\ndiagnostic\030\006 \001(\0132C.i" + "o.deephaven.proto.backplane.script.grpc." + "GetPullDiagnosticResponseH\000\022d\n\022diagnosti" + "c_publish\030\007 \001(\0132F.io.deephaven.proto.bac" + "kplane.script.grpc.GetPublishDiagnosticR" + "esponseH\000B\n\n\010response\"\025\n\023BrowserNextResp" + "onse\"\253\001\n\023OpenDocumentRequest\022A\n\nconsole_" + "id\030\001 \001(\0132).io.deephaven.proto.backplane." + "grpc.TicketB\002\030\001\022Q\n\rtext_document\030\002 \001(\0132:" ".io.deephaven.proto.backplane.script.grp" - "c.OpenDocumentRequestH\000\022Z\n\017change_docume" - "nt\030\002 \001(\0132\?.io.deephaven.proto.backplane." - "script.grpc.ChangeDocumentRequestH\000\022c\n\024g" - "et_completion_items\030\003 \001(\0132C.io.deephaven" - ".proto.backplane.script.grpc.GetCompleti" - "onItemsRequestH\000\022X\n\016close_document\030\004 \001(\013" - "2>.io.deephaven.proto.backplane.script.g" - "rpc.CloseDocumentRequestH\000B\t\n\007request\"\204\001" - "\n\024AutoCompleteResponse\022`\n\020completion_ite" - "ms\030\001 \001(\0132D.io.deephaven.proto.backplane." - "script.grpc.GetCompletionItemsResponseH\000" - "B\n\n\010response\"\025\n\023BrowserNextResponse\"\247\001\n\023" - "OpenDocumentRequest\022=\n\nconsole_id\030\001 \001(\0132" - ").io.deephaven.proto.backplane.grpc.Tick" - "et\022Q\n\rtext_document\030\002 \001(\0132:.io.deephaven" - ".proto.backplane.script.grpc.TextDocumen" - "tItem\"S\n\020TextDocumentItem\022\013\n\003uri\030\001 \001(\t\022\023" - "\n\013language_id\030\002 \001(\t\022\017\n\007version\030\003 \001(\005\022\014\n\004" - "text\030\004 \001(\t\"\267\001\n\024CloseDocumentRequest\022=\n\nc" - "onsole_id\030\001 \001(\0132).io.deephaven.proto.bac" - "kplane.grpc.Ticket\022`\n\rtext_document\030\002 \001(" - "\0132I.io.deephaven.proto.backplane.script." - "grpc.VersionedTextDocumentIdentifier\"\300\003\n" - "\025ChangeDocumentRequest\022=\n\nconsole_id\030\001 \001" - "(\0132).io.deephaven.proto.backplane.grpc.T" - "icket\022`\n\rtext_document\030\002 \001(\0132I.io.deepha" - "ven.proto.backplane.script.grpc.Versione" - "dTextDocumentIdentifier\022w\n\017content_chang" - "es\030\003 \003(\0132^.io.deephaven.proto.backplane." - "script.grpc.ChangeDocumentRequest.TextDo" - "cumentContentChangeEvent\032\214\001\n\036TextDocumen" - "tContentChangeEvent\022F\n\005range\030\001 \001(\01327.io." - "deephaven.proto.backplane.script.grpc.Do" - "cumentRange\022\024\n\014range_length\030\002 \001(\005\022\014\n\004tex" - "t\030\003 \001(\t\"\223\001\n\rDocumentRange\022A\n\005start\030\001 \001(\013" - "22.io.deephaven.proto.backplane.script.g" - "rpc.Position\022\?\n\003end\030\002 \001(\01322.io.deephaven" - ".proto.backplane.script.grpc.Position\"\?\n" - "\037VersionedTextDocumentIdentifier\022\013\n\003uri\030" - "\001 \001(\t\022\017\n\007version\030\002 \001(\005\"+\n\010Position\022\014\n\004li" - "ne\030\001 \001(\005\022\021\n\tcharacter\030\002 \001(\005\"\344\002\n\031GetCompl" - "etionItemsRequest\022=\n\nconsole_id\030\001 \001(\0132)." - "io.deephaven.proto.backplane.grpc.Ticket" - "\022L\n\007context\030\002 \001(\0132;.io.deephaven.proto.b" - "ackplane.script.grpc.CompletionContext\022`" - "\n\rtext_document\030\003 \001(\0132I.io.deephaven.pro" + "c.TextDocumentItem\"S\n\020TextDocumentItem\022\013" + "\n\003uri\030\001 \001(\t\022\023\n\013language_id\030\002 \001(\t\022\017\n\007vers" + "ion\030\003 \001(\005\022\014\n\004text\030\004 \001(\t\"\273\001\n\024CloseDocumen" + "tRequest\022A\n\nconsole_id\030\001 \001(\0132).io.deepha" + "ven.proto.backplane.grpc.TicketB\002\030\001\022`\n\rt" + "ext_document\030\002 \001(\0132I.io.deephaven.proto." + "backplane.script.grpc.VersionedTextDocum" + "entIdentifier\"\304\003\n\025ChangeDocumentRequest\022" + "A\n\nconsole_id\030\001 \001(\0132).io.deephaven.proto" + ".backplane.grpc.TicketB\002\030\001\022`\n\rtext_docum" + "ent\030\002 \001(\0132I.io.deephaven.proto.backplane" + ".script.grpc.VersionedTextDocumentIdenti" + "fier\022w\n\017content_changes\030\003 \003(\0132^.io.deeph" + "aven.proto.backplane.script.grpc.ChangeD" + "ocumentRequest.TextDocumentContentChange" + "Event\032\214\001\n\036TextDocumentContentChangeEvent" + "\022F\n\005range\030\001 \001(\01327.io.deephaven.proto.bac" + "kplane.script.grpc.DocumentRange\022\024\n\014rang" + "e_length\030\002 \001(\005\022\014\n\004text\030\003 \001(\t\"\223\001\n\rDocumen" + "tRange\022A\n\005start\030\001 \001(\01322.io.deephaven.pro" + "to.backplane.script.grpc.Position\022\?\n\003end" + "\030\002 \001(\01322.io.deephaven.proto.backplane.sc" + "ript.grpc.Position\"\?\n\037VersionedTextDocum" + "entIdentifier\022\013\n\003uri\030\001 \001(\t\022\017\n\007version\030\002 " + "\001(\005\"+\n\010Position\022\014\n\004line\030\001 \001(\005\022\021\n\tcharact" + "er\030\002 \001(\005\",\n\rMarkupContent\022\014\n\004kind\030\001 \001(\t\022" + "\r\n\005value\030\002 \001(\t\"\354\002\n\031GetCompletionItemsReq" + "uest\022A\n\nconsole_id\030\001 \001(\0132).io.deephaven." + "proto.backplane.grpc.TicketB\002\030\001\022L\n\007conte" + "xt\030\002 \001(\0132;.io.deephaven.proto.backplane." + "script.grpc.CompletionContext\022`\n\rtext_do" + "cument\030\003 \001(\0132I.io.deephaven.proto.backpl" + "ane.script.grpc.VersionedTextDocumentIde" + "ntifier\022D\n\010position\030\004 \001(\01322.io.deephaven" + ".proto.backplane.script.grpc.Position\022\026\n" + "\nrequest_id\030\005 \001(\005B\002\030\001\"D\n\021CompletionConte" + "xt\022\024\n\014trigger_kind\030\001 \001(\005\022\031\n\021trigger_char" + "acter\030\002 \001(\t\"\222\001\n\032GetCompletionItemsRespon" + "se\022G\n\005items\030\001 \003(\01328.io.deephaven.proto.b" + "ackplane.script.grpc.CompletionItem\022\026\n\nr" + "equest_id\030\002 \001(\005B\002\030\001\022\023\n\007success\030\003 \001(\010B\002\030\001" + "\"\322\003\n\016CompletionItem\022\r\n\005start\030\001 \001(\005\022\016\n\006le" + "ngth\030\002 \001(\005\022\r\n\005label\030\003 \001(\t\022\014\n\004kind\030\004 \001(\005\022" + "\016\n\006detail\030\005 \001(\t\022\022\n\ndeprecated\030\007 \001(\010\022\021\n\tp" + "reselect\030\010 \001(\010\022E\n\ttext_edit\030\t \001(\01322.io.d" + "eephaven.proto.backplane.script.grpc.Tex" + "tEdit\022\021\n\tsort_text\030\n \001(\t\022\023\n\013filter_text\030" + "\013 \001(\t\022\032\n\022insert_text_format\030\014 \001(\005\022Q\n\025add" + "itional_text_edits\030\r \003(\01322.io.deephaven." + "proto.backplane.script.grpc.TextEdit\022\031\n\021" + "commit_characters\030\016 \003(\t\022N\n\rdocumentation" + "\030\017 \001(\01327.io.deephaven.proto.backplane.sc" + "ript.grpc.MarkupContentJ\004\010\006\020\007\"`\n\010TextEdi" + "t\022F\n\005range\030\001 \001(\01327.io.deephaven.proto.ba" + "ckplane.script.grpc.DocumentRange\022\014\n\004tex" + "t\030\002 \001(\t\"\222\002\n\027GetSignatureHelpRequest\022O\n\007c" + "ontext\030\001 \001(\0132>.io.deephaven.proto.backpl" + "ane.script.grpc.SignatureHelpContext\022`\n\r" + "text_document\030\002 \001(\0132I.io.deephaven.proto" + ".backplane.script.grpc.VersionedTextDocu" + "mentIdentifier\022D\n\010position\030\003 \001(\01322.io.de" + "ephaven.proto.backplane.script.grpc.Posi" + "tion\"\333\001\n\024SignatureHelpContext\022\024\n\014trigger" + "_kind\030\001 \001(\005\022\036\n\021trigger_character\030\002 \001(\tH\000" + "\210\001\001\022\024\n\014is_retrigger\030\003 \001(\010\022a\n\025active_sign" + "ature_help\030\004 \001(\0132B.io.deephaven.proto.ba" + "ckplane.script.grpc.GetSignatureHelpResp" + "onseB\024\n\022_trigger_character\"\326\001\n\030GetSignat" + "ureHelpResponse\022R\n\nsignatures\030\001 \003(\0132>.io" + ".deephaven.proto.backplane.script.grpc.S" + "ignatureInformation\022\035\n\020active_signature\030" + "\002 \001(\005H\000\210\001\001\022\035\n\020active_parameter\030\003 \001(\005H\001\210\001" + "\001B\023\n\021_active_signatureB\023\n\021_active_parame" + "ter\"\375\001\n\024SignatureInformation\022\r\n\005label\030\001 " + "\001(\t\022N\n\rdocumentation\030\002 \001(\01327.io.deephave" + "n.proto.backplane.script.grpc.MarkupCont" + "ent\022R\n\nparameters\030\003 \003(\0132>.io.deephaven.p" + "roto.backplane.script.grpc.ParameterInfo" + "rmation\022\035\n\020active_parameter\030\004 \001(\005H\000\210\001\001B\023" + "\n\021_active_parameter\"u\n\024ParameterInformat" + "ion\022\r\n\005label\030\001 \001(\t\022N\n\rdocumentation\030\002 \001(" + "\01327.io.deephaven.proto.backplane.script." + "grpc.MarkupContent\"\271\001\n\017GetHoverRequest\022`" + "\n\rtext_document\030\001 \001(\0132I.io.deephaven.pro" "to.backplane.script.grpc.VersionedTextDo" - "cumentIdentifier\022D\n\010position\030\004 \001(\01322.io." + "cumentIdentifier\022D\n\010position\030\002 \001(\01322.io." "deephaven.proto.backplane.script.grpc.Po" - "sition\022\022\n\nrequest_id\030\005 \001(\005\"D\n\021Completion" - "Context\022\024\n\014trigger_kind\030\001 \001(\005\022\031\n\021trigger" - "_character\030\002 \001(\t\"\212\001\n\032GetCompletionItemsR" - "esponse\022G\n\005items\030\001 \003(\01328.io.deephaven.pr" - "oto.backplane.script.grpc.CompletionItem" - "\022\022\n\nrequest_id\030\002 \001(\005\022\017\n\007success\030\003 \001(\010\"\223\003" - "\n\016CompletionItem\022\r\n\005start\030\001 \001(\005\022\016\n\006lengt" - "h\030\002 \001(\005\022\r\n\005label\030\003 \001(\t\022\014\n\004kind\030\004 \001(\005\022\016\n\006" - "detail\030\005 \001(\t\022\025\n\rdocumentation\030\006 \001(\t\022\022\n\nd" - "eprecated\030\007 \001(\010\022\021\n\tpreselect\030\010 \001(\010\022E\n\tte" - "xt_edit\030\t \001(\01322.io.deephaven.proto.backp" - "lane.script.grpc.TextEdit\022\021\n\tsort_text\030\n" - " \001(\t\022\023\n\013filter_text\030\013 \001(\t\022\032\n\022insert_text" - "_format\030\014 \001(\005\022Q\n\025additional_text_edits\030\r" - " \003(\01322.io.deephaven.proto.backplane.scri" - "pt.grpc.TextEdit\022\031\n\021commit_characters\030\016 " - "\003(\t\"`\n\010TextEdit\022F\n\005range\030\001 \001(\01327.io.deep" - "haven.proto.backplane.script.grpc.Docume" - "ntRange\022\014\n\004text\030\002 \001(\t\"\3460\n\020FigureDescript" + "sition\"\245\001\n\020GetHoverResponse\022I\n\010contents\030" + "\001 \001(\01327.io.deephaven.proto.backplane.scr" + "ipt.grpc.MarkupContent\022F\n\005range\030\002 \001(\01327." + "io.deephaven.proto.backplane.script.grpc" + ".DocumentRange\"\330\001\n\024GetDiagnosticRequest\022" + "`\n\rtext_document\030\001 \001(\0132I.io.deephaven.pr" + "oto.backplane.script.grpc.VersionedTextD" + "ocumentIdentifier\022\027\n\nidentifier\030\002 \001(\tH\000\210" + "\001\001\022\037\n\022previous_result_id\030\003 \001(\tH\001\210\001\001B\r\n\013_" + "identifierB\025\n\023_previous_result_id\"\224\001\n\031Ge" + "tPullDiagnosticResponse\022\014\n\004kind\030\001 \001(\t\022\026\n" + "\tresult_id\030\002 \001(\tH\000\210\001\001\022C\n\005items\030\003 \003(\01324.i" + "o.deephaven.proto.backplane.script.grpc." + "DiagnosticB\014\n\n_result_id\"\230\001\n\034GetPublishD" + "iagnosticResponse\022\013\n\003uri\030\001 \001(\t\022\024\n\007versio" + "n\030\002 \001(\005H\000\210\001\001\022I\n\013diagnostics\030\003 \003(\01324.io.d" + "eephaven.proto.backplane.script.grpc.Dia" + "gnosticB\n\n\010_version\"\247\005\n\nDiagnostic\022F\n\005ra" + "nge\030\001 \001(\01327.io.deephaven.proto.backplane" + ".script.grpc.DocumentRange\022Y\n\010severity\030\002" + " \001(\0162G.io.deephaven.proto.backplane.scri" + "pt.grpc.Diagnostic.DiagnosticSeverity\022\021\n" + "\004code\030\003 \001(\tH\000\210\001\001\022c\n\020code_description\030\004 \001" + "(\0132D.io.deephaven.proto.backplane.script" + ".grpc.Diagnostic.CodeDescriptionH\001\210\001\001\022\023\n" + "\006source\030\005 \001(\tH\002\210\001\001\022\017\n\007message\030\006 \001(\t\022P\n\004t" + "ags\030\007 \003(\0162B.io.deephaven.proto.backplane" + ".script.grpc.Diagnostic.DiagnosticTag\022\021\n" + "\004data\030\t \001(\014H\003\210\001\001\032\037\n\017CodeDescription\022\014\n\004h" + "ref\030\001 \001(\t\"]\n\022DiagnosticSeverity\022\024\n\020NOT_S" + "ET_SEVERITY\020\000\022\t\n\005ERROR\020\001\022\013\n\007WARNING\020\002\022\017\n" + "\013INFORMATION\020\003\022\010\n\004HINT\020\004\"A\n\rDiagnosticTa" + "g\022\017\n\013NOT_SET_TAG\020\000\022\017\n\013UNNECESSARY\020\001\022\016\n\nD" + "EPRECATED\020\002B\007\n\005_codeB\023\n\021_code_descriptio" + "nB\t\n\007_sourceB\007\n\005_data\"\3460\n\020FigureDescript" "or\022\022\n\005title\030\001 \001(\tH\000\210\001\001\022\022\n\ntitle_font\030\002 \001" "(\t\022\023\n\013title_color\030\003 \001(\t\022\033\n\017update_interv" "al\030\007 \001(\003B\0020\001\022\014\n\004cols\030\010 \001(\005\022\014\n\004rows\030\t \001(\005" @@ -1591,7 +2097,7 @@ const char descriptor_table_protodef_deephaven_2fproto_2fconsole_2eproto[] PROTO "\004TIME\020\007\022\010\n\004OPEN\020\010\022\010\n\004HIGH\020\t\022\007\n\003LOW\020\n\022\t\n\005" "CLOSE\020\013\022\t\n\005SHAPE\020\014\022\010\n\004SIZE\020\r\022\t\n\005LABEL\020\016\022" "\t\n\005COLOR\020\017\022\n\n\006PARENT\020\020\022\016\n\nHOVER_TEXT\020\021\022\010" - "\n\004TEXT\020\022B\010\n\006_titleJ\004\010\013\020\014J\004\010\014\020\r2\216\014\n\016Conso" + "\n\004TEXT\020\022B\010\n\006_titleJ\004\010\013\020\014J\004\010\014\020\r2\262\r\n\016Conso" "leService\022\230\001\n\017GetConsoleTypes\022@.io.deeph" "aven.proto.backplane.script.grpc.GetCons" "oleTypesRequest\032A.io.deephaven.proto.bac" @@ -1622,17 +2128,21 @@ const char descriptor_table_protodef_deephaven_2fproto_2fconsole_2eproto[] PROTO "utoCompleteStream\022=.io.deephaven.proto.b" "ackplane.script.grpc.AutoCompleteRequest" "\032>.io.deephaven.proto.backplane.script.g" - "rpc.AutoCompleteResponse\"\000(\0010\001\022\233\001\n\026OpenA" - "utoCompleteStream\022=.io.deephaven.proto.b" - "ackplane.script.grpc.AutoCompleteRequest" - "\032>.io.deephaven.proto.backplane.script.g" - "rpc.AutoCompleteResponse\"\0000\001\022\230\001\n\026NextAut" - "oCompleteStream\022=.io.deephaven.proto.bac" - "kplane.script.grpc.AutoCompleteRequest\032=" - ".io.deephaven.proto.backplane.script.grp" - "c.BrowserNextResponse\"\000BCH\001P\001Z=github.co" - "m/deephaven/deephaven-core/go/internal/p" - "roto/consoleb\006proto3" + "rpc.AutoCompleteResponse\"\000(\0010\001\022\241\001\n\022Cance" + "lAutoComplete\022C.io.deephaven.proto.backp" + "lane.script.grpc.CancelAutoCompleteReque" + "st\032D.io.deephaven.proto.backplane.script" + ".grpc.CancelAutoCompleteResponse\"\000\022\233\001\n\026O" + "penAutoCompleteStream\022=.io.deephaven.pro" + "to.backplane.script.grpc.AutoCompleteReq" + "uest\032>.io.deephaven.proto.backplane.scri" + "pt.grpc.AutoCompleteResponse\"\0000\001\022\230\001\n\026Nex" + "tAutoCompleteStream\022=.io.deephaven.proto" + ".backplane.script.grpc.AutoCompleteReque" + "st\032=.io.deephaven.proto.backplane.script" + ".grpc.BrowserNextResponse\"\000BCH\001P\001Z=githu" + "b.com/deephaven/deephaven-core/go/intern" + "al/proto/consoleb\006proto3" ; static const ::_pbi::DescriptorTable* const descriptor_table_deephaven_2fproto_2fconsole_2eproto_deps[2] = { &::descriptor_table_deephaven_2fproto_2fapplication_2eproto, @@ -1640,9 +2150,9 @@ static const ::_pbi::DescriptorTable* const descriptor_table_deephaven_2fproto_2 }; static ::_pbi::once_flag descriptor_table_deephaven_2fproto_2fconsole_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_deephaven_2fproto_2fconsole_2eproto = { - false, false, 11980, descriptor_table_protodef_deephaven_2fproto_2fconsole_2eproto, + false, false, 15824, descriptor_table_protodef_deephaven_2fproto_2fconsole_2eproto, "deephaven/proto/console.proto", - &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, descriptor_table_deephaven_2fproto_2fconsole_2eproto_deps, 2, 45, + &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, descriptor_table_deephaven_2fproto_2fconsole_2eproto_deps, 2, 60, schemas, file_default_instances, TableStruct_deephaven_2fproto_2fconsole_2eproto::offsets, file_level_metadata_deephaven_2fproto_2fconsole_2eproto, file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto, file_level_service_descriptors_deephaven_2fproto_2fconsole_2eproto, @@ -1659,10 +2169,60 @@ namespace proto { namespace backplane { namespace script { namespace grpc { -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FigureDescriptor_ChartDescriptor_ChartType_descriptor() { +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Diagnostic_DiagnosticSeverity_descriptor() { ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_deephaven_2fproto_2fconsole_2eproto); return file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[0]; } +bool Diagnostic_DiagnosticSeverity_IsValid(int value) { + switch (value) { + case 0: + case 1: + case 2: + case 3: + case 4: + return true; + default: + return false; + } +} + +#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) +constexpr Diagnostic_DiagnosticSeverity Diagnostic::NOT_SET_SEVERITY; +constexpr Diagnostic_DiagnosticSeverity Diagnostic::ERROR; +constexpr Diagnostic_DiagnosticSeverity Diagnostic::WARNING; +constexpr Diagnostic_DiagnosticSeverity Diagnostic::INFORMATION; +constexpr Diagnostic_DiagnosticSeverity Diagnostic::HINT; +constexpr Diagnostic_DiagnosticSeverity Diagnostic::DiagnosticSeverity_MIN; +constexpr Diagnostic_DiagnosticSeverity Diagnostic::DiagnosticSeverity_MAX; +constexpr int Diagnostic::DiagnosticSeverity_ARRAYSIZE; +#endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Diagnostic_DiagnosticTag_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_deephaven_2fproto_2fconsole_2eproto); + return file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[1]; +} +bool Diagnostic_DiagnosticTag_IsValid(int value) { + switch (value) { + case 0: + case 1: + case 2: + return true; + default: + return false; + } +} + +#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) +constexpr Diagnostic_DiagnosticTag Diagnostic::NOT_SET_TAG; +constexpr Diagnostic_DiagnosticTag Diagnostic::UNNECESSARY; +constexpr Diagnostic_DiagnosticTag Diagnostic::DEPRECATED; +constexpr Diagnostic_DiagnosticTag Diagnostic::DiagnosticTag_MIN; +constexpr Diagnostic_DiagnosticTag Diagnostic::DiagnosticTag_MAX; +constexpr int Diagnostic::DiagnosticTag_ARRAYSIZE; +#endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FigureDescriptor_ChartDescriptor_ChartType_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_deephaven_2fproto_2fconsole_2eproto); + return file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[2]; +} bool FigureDescriptor_ChartDescriptor_ChartType_IsValid(int value) { switch (value) { case 0: @@ -1692,7 +2252,7 @@ constexpr int FigureDescriptor_ChartDescriptor::ChartType_ARRAYSIZE; #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FigureDescriptor_AxisDescriptor_AxisFormatType_descriptor() { ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_deephaven_2fproto_2fconsole_2eproto); - return file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[1]; + return file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[3]; } bool FigureDescriptor_AxisDescriptor_AxisFormatType_IsValid(int value) { switch (value) { @@ -1713,7 +2273,7 @@ constexpr int FigureDescriptor_AxisDescriptor::AxisFormatType_ARRAYSIZE; #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FigureDescriptor_AxisDescriptor_AxisType_descriptor() { ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_deephaven_2fproto_2fconsole_2eproto); - return file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[2]; + return file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[4]; } bool FigureDescriptor_AxisDescriptor_AxisType_IsValid(int value) { switch (value) { @@ -1742,7 +2302,7 @@ constexpr int FigureDescriptor_AxisDescriptor::AxisType_ARRAYSIZE; #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FigureDescriptor_AxisDescriptor_AxisPosition_descriptor() { ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_deephaven_2fproto_2fconsole_2eproto); - return file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[3]; + return file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[5]; } bool FigureDescriptor_AxisDescriptor_AxisPosition_IsValid(int value) { switch (value) { @@ -1769,7 +2329,7 @@ constexpr int FigureDescriptor_AxisDescriptor::AxisPosition_ARRAYSIZE; #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_descriptor() { ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_deephaven_2fproto_2fconsole_2eproto); - return file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[4]; + return file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[6]; } bool FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_IsValid(int value) { switch (value) { @@ -1800,7 +2360,7 @@ constexpr int FigureDescriptor_BusinessCalendarDescriptor::DayOfWeek_ARRAYSIZE; #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FigureDescriptor_SeriesPlotStyle_descriptor() { ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_deephaven_2fproto_2fconsole_2eproto); - return file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[5]; + return file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[7]; } bool FigureDescriptor_SeriesPlotStyle_IsValid(int value) { switch (value) { @@ -1841,7 +2401,7 @@ constexpr int FigureDescriptor::SeriesPlotStyle_ARRAYSIZE; #endif // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912)) const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FigureDescriptor_SourceType_descriptor() { ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_deephaven_2fproto_2fconsole_2eproto); - return file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[6]; + return file_level_enum_descriptors_deephaven_2fproto_2fconsole_2eproto[8]; } bool FigureDescriptor_SourceType_IsValid(int value) { switch (value) { @@ -4407,130 +4967,48 @@ ::PROTOBUF_NAMESPACE_ID::Metadata CancelCommandResponse::GetMetadata() const { // =================================================================== -class AutoCompleteRequest::_Internal { +class CancelAutoCompleteRequest::_Internal { public: - static const ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest& open_document(const AutoCompleteRequest* msg); - static const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest& change_document(const AutoCompleteRequest* msg); - static const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest& get_completion_items(const AutoCompleteRequest* msg); - static const ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest& close_document(const AutoCompleteRequest* msg); + static const ::io::deephaven::proto::backplane::grpc::Ticket& console_id(const CancelAutoCompleteRequest* msg); }; -const ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest& -AutoCompleteRequest::_Internal::open_document(const AutoCompleteRequest* msg) { - return *msg->request_.open_document_; -} -const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest& -AutoCompleteRequest::_Internal::change_document(const AutoCompleteRequest* msg) { - return *msg->request_.change_document_; -} -const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest& -AutoCompleteRequest::_Internal::get_completion_items(const AutoCompleteRequest* msg) { - return *msg->request_.get_completion_items_; -} -const ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest& -AutoCompleteRequest::_Internal::close_document(const AutoCompleteRequest* msg) { - return *msg->request_.close_document_; -} -void AutoCompleteRequest::set_allocated_open_document(::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* open_document) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_request(); - if (open_document) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(open_document); - if (message_arena != submessage_arena) { - open_document = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, open_document, submessage_arena); - } - set_has_open_document(); - request_.open_document_ = open_document; - } - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.open_document) -} -void AutoCompleteRequest::set_allocated_change_document(::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* change_document) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_request(); - if (change_document) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(change_document); - if (message_arena != submessage_arena) { - change_document = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, change_document, submessage_arena); - } - set_has_change_document(); - request_.change_document_ = change_document; - } - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.change_document) -} -void AutoCompleteRequest::set_allocated_get_completion_items(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* get_completion_items) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_request(); - if (get_completion_items) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(get_completion_items); - if (message_arena != submessage_arena) { - get_completion_items = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, get_completion_items, submessage_arena); - } - set_has_get_completion_items(); - request_.get_completion_items_ = get_completion_items; - } - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_completion_items) +const ::io::deephaven::proto::backplane::grpc::Ticket& +CancelAutoCompleteRequest::_Internal::console_id(const CancelAutoCompleteRequest* msg) { + return *msg->console_id_; } -void AutoCompleteRequest::set_allocated_close_document(::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* close_document) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_request(); - if (close_document) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(close_document); - if (message_arena != submessage_arena) { - close_document = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, close_document, submessage_arena); - } - set_has_close_document(); - request_.close_document_ = close_document; +void CancelAutoCompleteRequest::clear_console_id() { + if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { + delete console_id_; } - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.close_document) + console_id_ = nullptr; } -AutoCompleteRequest::AutoCompleteRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, +CancelAutoCompleteRequest::CancelAutoCompleteRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(); - // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest) } -AutoCompleteRequest::AutoCompleteRequest(const AutoCompleteRequest& from) +CancelAutoCompleteRequest::CancelAutoCompleteRequest(const CancelAutoCompleteRequest& from) : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - clear_has_request(); - switch (from.request_case()) { - case kOpenDocument: { - _internal_mutable_open_document()->::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest::MergeFrom(from._internal_open_document()); - break; - } - case kChangeDocument: { - _internal_mutable_change_document()->::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest::MergeFrom(from._internal_change_document()); - break; - } - case kGetCompletionItems: { - _internal_mutable_get_completion_items()->::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest::MergeFrom(from._internal_get_completion_items()); - break; - } - case kCloseDocument: { - _internal_mutable_close_document()->::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest::MergeFrom(from._internal_close_document()); - break; - } - case REQUEST_NOT_SET: { - break; - } + if (from._internal_has_console_id()) { + console_id_ = new ::io::deephaven::proto::backplane::grpc::Ticket(*from.console_id_); + } else { + console_id_ = nullptr; } - // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) + request_id_ = from.request_id_; + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest) } -inline void AutoCompleteRequest::SharedCtor() { -clear_has_request(); +inline void CancelAutoCompleteRequest::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&console_id_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&request_id_) - + reinterpret_cast(&console_id_)) + sizeof(request_id_)); } -AutoCompleteRequest::~AutoCompleteRequest() { - // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) +CancelAutoCompleteRequest::~CancelAutoCompleteRequest() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -4538,96 +5016,47 @@ AutoCompleteRequest::~AutoCompleteRequest() { SharedDtor(); } -inline void AutoCompleteRequest::SharedDtor() { +inline void CancelAutoCompleteRequest::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (has_request()) { - clear_request(); - } + if (this != internal_default_instance()) delete console_id_; } -void AutoCompleteRequest::SetCachedSize(int size) const { +void CancelAutoCompleteRequest::SetCachedSize(int size) const { _cached_size_.Set(size); } -void AutoCompleteRequest::clear_request() { -// @@protoc_insertion_point(one_of_clear_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) - switch (request_case()) { - case kOpenDocument: { - if (GetArenaForAllocation() == nullptr) { - delete request_.open_document_; - } - break; - } - case kChangeDocument: { - if (GetArenaForAllocation() == nullptr) { - delete request_.change_document_; - } - break; - } - case kGetCompletionItems: { - if (GetArenaForAllocation() == nullptr) { - delete request_.get_completion_items_; - } - break; - } - case kCloseDocument: { - if (GetArenaForAllocation() == nullptr) { - delete request_.close_document_; - } - break; - } - case REQUEST_NOT_SET: { - break; - } - } - _oneof_case_[0] = REQUEST_NOT_SET; -} - - -void AutoCompleteRequest::Clear() { -// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) +void CancelAutoCompleteRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - clear_request(); + if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { + delete console_id_; + } + console_id_ = nullptr; + request_id_ = 0; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* AutoCompleteRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* CancelAutoCompleteRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // .io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest open_document = 1; + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_open_document(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_console_id(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest change_document = 2; + // int32 request_id = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_change_document(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest get_completion_items = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { - ptr = ctx->ParseMessage(_internal_mutable_get_completion_items(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // .io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest close_document = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { - ptr = ctx->ParseMessage(_internal_mutable_close_document(), ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + request_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); CHK_(ptr); } else goto handle_unusual; @@ -4655,154 +5084,107 @@ const char* AutoCompleteRequest::_InternalParse(const char* ptr, ::_pbi::ParseCo #undef CHK_ } -uint8_t* AutoCompleteRequest::_InternalSerialize( +uint8_t* CancelAutoCompleteRequest::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest open_document = 1; - if (_internal_has_open_document()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, _Internal::open_document(this), - _Internal::open_document(this).GetCachedSize(), target, stream); - } - - // .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest change_document = 2; - if (_internal_has_change_document()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(2, _Internal::change_document(this), - _Internal::change_document(this).GetCachedSize(), target, stream); - } - - // .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest get_completion_items = 3; - if (_internal_has_get_completion_items()) { + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; + if (this->_internal_has_console_id()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(3, _Internal::get_completion_items(this), - _Internal::get_completion_items(this).GetCachedSize(), target, stream); + InternalWriteMessage(1, _Internal::console_id(this), + _Internal::console_id(this).GetCachedSize(), target, stream); } - // .io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest close_document = 4; - if (_internal_has_close_document()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(4, _Internal::close_document(this), - _Internal::close_document(this).GetCachedSize(), target, stream); + // int32 request_id = 2; + if (this->_internal_request_id() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_request_id(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest) return target; } -size_t AutoCompleteRequest::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) +size_t CancelAutoCompleteRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - switch (request_case()) { - // .io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest open_document = 1; - case kOpenDocument: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *request_.open_document_); - break; - } - // .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest change_document = 2; - case kChangeDocument: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *request_.change_document_); - break; - } - // .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest get_completion_items = 3; - case kGetCompletionItems: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *request_.get_completion_items_); - break; - } - // .io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest close_document = 4; - case kCloseDocument: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *request_.close_document_); - break; - } - case REQUEST_NOT_SET: { - break; - } + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; + if (this->_internal_has_console_id()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *console_id_); + } + + // int32 request_id = 2; + if (this->_internal_request_id() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_request_id()); } + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AutoCompleteRequest::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CancelAutoCompleteRequest::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - AutoCompleteRequest::MergeImpl + CancelAutoCompleteRequest::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AutoCompleteRequest::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CancelAutoCompleteRequest::GetClassData() const { return &_class_data_; } -void AutoCompleteRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void CancelAutoCompleteRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void AutoCompleteRequest::MergeFrom(const AutoCompleteRequest& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) +void CancelAutoCompleteRequest::MergeFrom(const CancelAutoCompleteRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - switch (from.request_case()) { - case kOpenDocument: { - _internal_mutable_open_document()->::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest::MergeFrom(from._internal_open_document()); - break; - } - case kChangeDocument: { - _internal_mutable_change_document()->::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest::MergeFrom(from._internal_change_document()); - break; - } - case kGetCompletionItems: { - _internal_mutable_get_completion_items()->::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest::MergeFrom(from._internal_get_completion_items()); - break; - } - case kCloseDocument: { - _internal_mutable_close_document()->::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest::MergeFrom(from._internal_close_document()); - break; - } - case REQUEST_NOT_SET: { - break; - } + if (from._internal_has_console_id()) { + _internal_mutable_console_id()->::io::deephaven::proto::backplane::grpc::Ticket::MergeFrom(from._internal_console_id()); + } + if (from._internal_request_id() != 0) { + _internal_set_request_id(from._internal_request_id()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void AutoCompleteRequest::CopyFrom(const AutoCompleteRequest& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) +void CancelAutoCompleteRequest::CopyFrom(const CancelAutoCompleteRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest) if (&from == this) return; Clear(); MergeFrom(from); } -bool AutoCompleteRequest::IsInitialized() const { +bool CancelAutoCompleteRequest::IsInitialized() const { return true; } -void AutoCompleteRequest::InternalSwap(AutoCompleteRequest* other) { +void CancelAutoCompleteRequest::InternalSwap(CancelAutoCompleteRequest* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(request_, other->request_); - swap(_oneof_case_[0], other->_oneof_case_[0]); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(CancelAutoCompleteRequest, request_id_) + + sizeof(CancelAutoCompleteRequest::request_id_) + - PROTOBUF_FIELD_OFFSET(CancelAutoCompleteRequest, console_id_)>( + reinterpret_cast(&console_id_), + reinterpret_cast(&other->console_id_)); } -::PROTOBUF_NAMESPACE_ID::Metadata AutoCompleteRequest::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata CancelAutoCompleteRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, file_level_metadata_deephaven_2fproto_2fconsole_2eproto[14]); @@ -4810,331 +5192,4096 @@ ::PROTOBUF_NAMESPACE_ID::Metadata AutoCompleteRequest::GetMetadata() const { // =================================================================== -class AutoCompleteResponse::_Internal { +class CancelAutoCompleteResponse::_Internal { public: - static const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse& completion_items(const AutoCompleteResponse* msg); }; -const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse& -AutoCompleteResponse::_Internal::completion_items(const AutoCompleteResponse* msg) { - return *msg->response_.completion_items_; -} -void AutoCompleteResponse::set_allocated_completion_items(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* completion_items) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_response(); - if (completion_items) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(completion_items); - if (message_arena != submessage_arena) { - completion_items = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, completion_items, submessage_arena); - } - set_has_completion_items(); - response_.completion_items_ = completion_items; - } - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.completion_items) -} -AutoCompleteResponse::AutoCompleteResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, +CancelAutoCompleteResponse::CancelAutoCompleteResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(); - // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) + : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) { + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteResponse) } -AutoCompleteResponse::AutoCompleteResponse(const AutoCompleteResponse& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { +CancelAutoCompleteResponse::CancelAutoCompleteResponse(const CancelAutoCompleteResponse& from) + : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - clear_has_response(); - switch (from.response_case()) { - case kCompletionItems: { - _internal_mutable_completion_items()->::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse::MergeFrom(from._internal_completion_items()); - break; - } - case RESPONSE_NOT_SET: { - break; - } - } - // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteResponse) } -inline void AutoCompleteResponse::SharedCtor() { -clear_has_response(); -} -AutoCompleteResponse::~AutoCompleteResponse() { - // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) - if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { - (void)arena; - return; - } - SharedDtor(); -} -inline void AutoCompleteResponse::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (has_response()) { - clear_response(); - } -} -void AutoCompleteResponse::SetCachedSize(int size) const { - _cached_size_.Set(size); -} -void AutoCompleteResponse::clear_response() { -// @@protoc_insertion_point(one_of_clear_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) - switch (response_case()) { - case kCompletionItems: { - if (GetArenaForAllocation() == nullptr) { - delete response_.completion_items_; - } - break; - } - case RESPONSE_NOT_SET: { - break; - } - } - _oneof_case_[0] = RESPONSE_NOT_SET; -} +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CancelAutoCompleteResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl, + ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl, +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CancelAutoCompleteResponse::GetClassData() const { return &_class_data_; } -void AutoCompleteResponse::Clear() { -// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - clear_response(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} -const char* AutoCompleteResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { -#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure - while (!ctx->Done(&ptr)) { - uint32_t tag; - ptr = ::_pbi::ReadTag(ptr, &tag); - switch (tag >> 3) { - // .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse completion_items = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_completion_items(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - default: - goto handle_unusual; - } // switch - handle_unusual: - if ((tag == 0) || ((tag & 7) == 4)) { - CHK_(ptr); - ctx->SetLastTag(tag); - goto message_done; - } - ptr = UnknownFieldParse( - tag, - _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), - ptr, ctx); - CHK_(ptr != nullptr); - } // while -message_done: - return ptr; -failure: - ptr = nullptr; - goto message_done; -#undef CHK_ -} -uint8_t* AutoCompleteResponse::_InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - // .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse completion_items = 1; - if (_internal_has_completion_items()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, _Internal::completion_items(this), - _Internal::completion_items(this).GetCachedSize(), target, stream); - } - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { - target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( - _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); - } - // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) - return target; +::PROTOBUF_NAMESPACE_ID::Metadata CancelAutoCompleteResponse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[15]); } -size_t AutoCompleteResponse::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) - size_t total_size = 0; - - uint32_t cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - switch (response_case()) { - // .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse completion_items = 1; - case kCompletionItems: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *response_.completion_items_); - break; - } - case RESPONSE_NOT_SET: { - break; - } - } - return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); -} +// =================================================================== -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AutoCompleteResponse::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - AutoCompleteResponse::MergeImpl +class AutoCompleteRequest::_Internal { + public: + static const ::io::deephaven::proto::backplane::grpc::Ticket& console_id(const AutoCompleteRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest& open_document(const AutoCompleteRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest& change_document(const AutoCompleteRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest& get_completion_items(const AutoCompleteRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest& get_signature_help(const AutoCompleteRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest& get_hover(const AutoCompleteRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest& get_diagnostic(const AutoCompleteRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest& close_document(const AutoCompleteRequest* msg); }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AutoCompleteResponse::GetClassData() const { return &_class_data_; } -void AutoCompleteResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, - const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); +const ::io::deephaven::proto::backplane::grpc::Ticket& +AutoCompleteRequest::_Internal::console_id(const AutoCompleteRequest* msg) { + return *msg->console_id_; } - - -void AutoCompleteResponse::MergeFrom(const AutoCompleteResponse& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) - GOOGLE_DCHECK_NE(&from, this); - uint32_t cached_has_bits = 0; - (void) cached_has_bits; - - switch (from.response_case()) { - case kCompletionItems: { - _internal_mutable_completion_items()->::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse::MergeFrom(from._internal_completion_items()); - break; - } - case RESPONSE_NOT_SET: { - break; - } - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +const ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest& +AutoCompleteRequest::_Internal::open_document(const AutoCompleteRequest* msg) { + return *msg->request_.open_document_; +} +const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest& +AutoCompleteRequest::_Internal::change_document(const AutoCompleteRequest* msg) { + return *msg->request_.change_document_; +} +const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest& +AutoCompleteRequest::_Internal::get_completion_items(const AutoCompleteRequest* msg) { + return *msg->request_.get_completion_items_; +} +const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest& +AutoCompleteRequest::_Internal::get_signature_help(const AutoCompleteRequest* msg) { + return *msg->request_.get_signature_help_; +} +const ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest& +AutoCompleteRequest::_Internal::get_hover(const AutoCompleteRequest* msg) { + return *msg->request_.get_hover_; +} +const ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest& +AutoCompleteRequest::_Internal::get_diagnostic(const AutoCompleteRequest* msg) { + return *msg->request_.get_diagnostic_; +} +const ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest& +AutoCompleteRequest::_Internal::close_document(const AutoCompleteRequest* msg) { + return *msg->request_.close_document_; +} +void AutoCompleteRequest::clear_console_id() { + if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { + delete console_id_; + } + console_id_ = nullptr; +} +void AutoCompleteRequest::set_allocated_open_document(::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* open_document) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_request(); + if (open_document) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(open_document); + if (message_arena != submessage_arena) { + open_document = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, open_document, submessage_arena); + } + set_has_open_document(); + request_.open_document_ = open_document; + } + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.open_document) +} +void AutoCompleteRequest::set_allocated_change_document(::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* change_document) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_request(); + if (change_document) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(change_document); + if (message_arena != submessage_arena) { + change_document = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, change_document, submessage_arena); + } + set_has_change_document(); + request_.change_document_ = change_document; + } + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.change_document) +} +void AutoCompleteRequest::set_allocated_get_completion_items(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* get_completion_items) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_request(); + if (get_completion_items) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(get_completion_items); + if (message_arena != submessage_arena) { + get_completion_items = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, get_completion_items, submessage_arena); + } + set_has_get_completion_items(); + request_.get_completion_items_ = get_completion_items; + } + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_completion_items) +} +void AutoCompleteRequest::set_allocated_get_signature_help(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* get_signature_help) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_request(); + if (get_signature_help) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(get_signature_help); + if (message_arena != submessage_arena) { + get_signature_help = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, get_signature_help, submessage_arena); + } + set_has_get_signature_help(); + request_.get_signature_help_ = get_signature_help; + } + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_signature_help) +} +void AutoCompleteRequest::set_allocated_get_hover(::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* get_hover) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_request(); + if (get_hover) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(get_hover); + if (message_arena != submessage_arena) { + get_hover = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, get_hover, submessage_arena); + } + set_has_get_hover(); + request_.get_hover_ = get_hover; + } + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_hover) +} +void AutoCompleteRequest::set_allocated_get_diagnostic(::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* get_diagnostic) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_request(); + if (get_diagnostic) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(get_diagnostic); + if (message_arena != submessage_arena) { + get_diagnostic = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, get_diagnostic, submessage_arena); + } + set_has_get_diagnostic(); + request_.get_diagnostic_ = get_diagnostic; + } + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_diagnostic) +} +void AutoCompleteRequest::set_allocated_close_document(::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* close_document) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_request(); + if (close_document) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(close_document); + if (message_arena != submessage_arena) { + close_document = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, close_document, submessage_arena); + } + set_has_close_document(); + request_.close_document_ = close_document; + } + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.close_document) +} +AutoCompleteRequest::AutoCompleteRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) +} +AutoCompleteRequest::AutoCompleteRequest(const AutoCompleteRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_console_id()) { + console_id_ = new ::io::deephaven::proto::backplane::grpc::Ticket(*from.console_id_); + } else { + console_id_ = nullptr; + } + request_id_ = from.request_id_; + clear_has_request(); + switch (from.request_case()) { + case kOpenDocument: { + _internal_mutable_open_document()->::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest::MergeFrom(from._internal_open_document()); + break; + } + case kChangeDocument: { + _internal_mutable_change_document()->::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest::MergeFrom(from._internal_change_document()); + break; + } + case kGetCompletionItems: { + _internal_mutable_get_completion_items()->::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest::MergeFrom(from._internal_get_completion_items()); + break; + } + case kGetSignatureHelp: { + _internal_mutable_get_signature_help()->::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest::MergeFrom(from._internal_get_signature_help()); + break; + } + case kGetHover: { + _internal_mutable_get_hover()->::io::deephaven::proto::backplane::script::grpc::GetHoverRequest::MergeFrom(from._internal_get_hover()); + break; + } + case kGetDiagnostic: { + _internal_mutable_get_diagnostic()->::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest::MergeFrom(from._internal_get_diagnostic()); + break; + } + case kCloseDocument: { + _internal_mutable_close_document()->::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest::MergeFrom(from._internal_close_document()); + break; + } + case REQUEST_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) +} + +inline void AutoCompleteRequest::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&console_id_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&request_id_) - + reinterpret_cast(&console_id_)) + sizeof(request_id_)); +clear_has_request(); +} + +AutoCompleteRequest::~AutoCompleteRequest() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void AutoCompleteRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete console_id_; + if (has_request()) { + clear_request(); + } +} + +void AutoCompleteRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void AutoCompleteRequest::clear_request() { +// @@protoc_insertion_point(one_of_clear_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) + switch (request_case()) { + case kOpenDocument: { + if (GetArenaForAllocation() == nullptr) { + delete request_.open_document_; + } + break; + } + case kChangeDocument: { + if (GetArenaForAllocation() == nullptr) { + delete request_.change_document_; + } + break; + } + case kGetCompletionItems: { + if (GetArenaForAllocation() == nullptr) { + delete request_.get_completion_items_; + } + break; + } + case kGetSignatureHelp: { + if (GetArenaForAllocation() == nullptr) { + delete request_.get_signature_help_; + } + break; + } + case kGetHover: { + if (GetArenaForAllocation() == nullptr) { + delete request_.get_hover_; + } + break; + } + case kGetDiagnostic: { + if (GetArenaForAllocation() == nullptr) { + delete request_.get_diagnostic_; + } + break; + } + case kCloseDocument: { + if (GetArenaForAllocation() == nullptr) { + delete request_.close_document_; + } + break; + } + case REQUEST_NOT_SET: { + break; + } + } + _oneof_case_[0] = REQUEST_NOT_SET; +} + + +void AutoCompleteRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { + delete console_id_; + } + console_id_ = nullptr; + request_id_ = 0; + clear_request(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* AutoCompleteRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest open_document = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_open_document(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest change_document = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_change_document(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest get_completion_items = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_get_completion_items(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest close_document = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + ptr = ctx->ParseMessage(_internal_mutable_close_document(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + ptr = ctx->ParseMessage(_internal_mutable_console_id(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // int32 request_id = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 48)) { + request_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest get_signature_help = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + ptr = ctx->ParseMessage(_internal_mutable_get_signature_help(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.GetHoverRequest get_hover = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 66)) { + ptr = ctx->ParseMessage(_internal_mutable_get_hover(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest get_diagnostic = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 74)) { + ptr = ctx->ParseMessage(_internal_mutable_get_diagnostic(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* AutoCompleteRequest::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest open_document = 1; + if (_internal_has_open_document()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::open_document(this), + _Internal::open_document(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest change_document = 2; + if (_internal_has_change_document()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::change_document(this), + _Internal::change_document(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest get_completion_items = 3; + if (_internal_has_get_completion_items()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, _Internal::get_completion_items(this), + _Internal::get_completion_items(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest close_document = 4; + if (_internal_has_close_document()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(4, _Internal::close_document(this), + _Internal::close_document(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 5; + if (this->_internal_has_console_id()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(5, _Internal::console_id(this), + _Internal::console_id(this).GetCachedSize(), target, stream); + } + + // int32 request_id = 6; + if (this->_internal_request_id() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(6, this->_internal_request_id(), target); + } + + // .io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest get_signature_help = 7; + if (_internal_has_get_signature_help()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(7, _Internal::get_signature_help(this), + _Internal::get_signature_help(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.script.grpc.GetHoverRequest get_hover = 8; + if (_internal_has_get_hover()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(8, _Internal::get_hover(this), + _Internal::get_hover(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest get_diagnostic = 9; + if (_internal_has_get_diagnostic()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(9, _Internal::get_diagnostic(this), + _Internal::get_diagnostic(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) + return target; +} + +size_t AutoCompleteRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 5; + if (this->_internal_has_console_id()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *console_id_); + } + + // int32 request_id = 6; + if (this->_internal_request_id() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_request_id()); + } + + switch (request_case()) { + // .io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest open_document = 1; + case kOpenDocument: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *request_.open_document_); + break; + } + // .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest change_document = 2; + case kChangeDocument: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *request_.change_document_); + break; + } + // .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest get_completion_items = 3; + case kGetCompletionItems: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *request_.get_completion_items_); + break; + } + // .io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest get_signature_help = 7; + case kGetSignatureHelp: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *request_.get_signature_help_); + break; + } + // .io.deephaven.proto.backplane.script.grpc.GetHoverRequest get_hover = 8; + case kGetHover: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *request_.get_hover_); + break; + } + // .io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest get_diagnostic = 9; + case kGetDiagnostic: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *request_.get_diagnostic_); + break; + } + // .io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest close_document = 4; + case kCloseDocument: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *request_.close_document_); + break; + } + case REQUEST_NOT_SET: { + break; + } + } + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AutoCompleteRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + AutoCompleteRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AutoCompleteRequest::GetClassData() const { return &_class_data_; } + +void AutoCompleteRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void AutoCompleteRequest::MergeFrom(const AutoCompleteRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_console_id()) { + _internal_mutable_console_id()->::io::deephaven::proto::backplane::grpc::Ticket::MergeFrom(from._internal_console_id()); + } + if (from._internal_request_id() != 0) { + _internal_set_request_id(from._internal_request_id()); + } + switch (from.request_case()) { + case kOpenDocument: { + _internal_mutable_open_document()->::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest::MergeFrom(from._internal_open_document()); + break; + } + case kChangeDocument: { + _internal_mutable_change_document()->::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest::MergeFrom(from._internal_change_document()); + break; + } + case kGetCompletionItems: { + _internal_mutable_get_completion_items()->::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest::MergeFrom(from._internal_get_completion_items()); + break; + } + case kGetSignatureHelp: { + _internal_mutable_get_signature_help()->::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest::MergeFrom(from._internal_get_signature_help()); + break; + } + case kGetHover: { + _internal_mutable_get_hover()->::io::deephaven::proto::backplane::script::grpc::GetHoverRequest::MergeFrom(from._internal_get_hover()); + break; + } + case kGetDiagnostic: { + _internal_mutable_get_diagnostic()->::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest::MergeFrom(from._internal_get_diagnostic()); + break; + } + case kCloseDocument: { + _internal_mutable_close_document()->::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest::MergeFrom(from._internal_close_document()); + break; + } + case REQUEST_NOT_SET: { + break; + } + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void AutoCompleteRequest::CopyFrom(const AutoCompleteRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool AutoCompleteRequest::IsInitialized() const { + return true; +} + +void AutoCompleteRequest::InternalSwap(AutoCompleteRequest* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(AutoCompleteRequest, request_id_) + + sizeof(AutoCompleteRequest::request_id_) + - PROTOBUF_FIELD_OFFSET(AutoCompleteRequest, console_id_)>( + reinterpret_cast(&console_id_), + reinterpret_cast(&other->console_id_)); + swap(request_, other->request_); + swap(_oneof_case_[0], other->_oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata AutoCompleteRequest::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[16]); +} + +// =================================================================== + +class AutoCompleteResponse::_Internal { + public: + static const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse& completion_items(const AutoCompleteResponse* msg); + static const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse& signatures(const AutoCompleteResponse* msg); + static const ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse& hover(const AutoCompleteResponse* msg); + static const ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse& diagnostic(const AutoCompleteResponse* msg); + static const ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse& diagnostic_publish(const AutoCompleteResponse* msg); +}; + +const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse& +AutoCompleteResponse::_Internal::completion_items(const AutoCompleteResponse* msg) { + return *msg->response_.completion_items_; +} +const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse& +AutoCompleteResponse::_Internal::signatures(const AutoCompleteResponse* msg) { + return *msg->response_.signatures_; +} +const ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse& +AutoCompleteResponse::_Internal::hover(const AutoCompleteResponse* msg) { + return *msg->response_.hover_; +} +const ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse& +AutoCompleteResponse::_Internal::diagnostic(const AutoCompleteResponse* msg) { + return *msg->response_.diagnostic_; +} +const ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse& +AutoCompleteResponse::_Internal::diagnostic_publish(const AutoCompleteResponse* msg) { + return *msg->response_.diagnostic_publish_; +} +void AutoCompleteResponse::set_allocated_completion_items(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* completion_items) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_response(); + if (completion_items) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(completion_items); + if (message_arena != submessage_arena) { + completion_items = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, completion_items, submessage_arena); + } + set_has_completion_items(); + response_.completion_items_ = completion_items; + } + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.completion_items) +} +void AutoCompleteResponse::set_allocated_signatures(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* signatures) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_response(); + if (signatures) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(signatures); + if (message_arena != submessage_arena) { + signatures = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, signatures, submessage_arena); + } + set_has_signatures(); + response_.signatures_ = signatures; + } + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.signatures) +} +void AutoCompleteResponse::set_allocated_hover(::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* hover) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_response(); + if (hover) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(hover); + if (message_arena != submessage_arena) { + hover = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, hover, submessage_arena); + } + set_has_hover(); + response_.hover_ = hover; + } + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.hover) +} +void AutoCompleteResponse::set_allocated_diagnostic(::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* diagnostic) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_response(); + if (diagnostic) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(diagnostic); + if (message_arena != submessage_arena) { + diagnostic = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, diagnostic, submessage_arena); + } + set_has_diagnostic(); + response_.diagnostic_ = diagnostic; + } + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.diagnostic) +} +void AutoCompleteResponse::set_allocated_diagnostic_publish(::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* diagnostic_publish) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_response(); + if (diagnostic_publish) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(diagnostic_publish); + if (message_arena != submessage_arena) { + diagnostic_publish = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, diagnostic_publish, submessage_arena); + } + set_has_diagnostic_publish(); + response_.diagnostic_publish_ = diagnostic_publish; + } + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.diagnostic_publish) +} +AutoCompleteResponse::AutoCompleteResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) +} +AutoCompleteResponse::AutoCompleteResponse(const AutoCompleteResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::memcpy(&request_id_, &from.request_id_, + static_cast(reinterpret_cast(&success_) - + reinterpret_cast(&request_id_)) + sizeof(success_)); + clear_has_response(); + switch (from.response_case()) { + case kCompletionItems: { + _internal_mutable_completion_items()->::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse::MergeFrom(from._internal_completion_items()); + break; + } + case kSignatures: { + _internal_mutable_signatures()->::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse::MergeFrom(from._internal_signatures()); + break; + } + case kHover: { + _internal_mutable_hover()->::io::deephaven::proto::backplane::script::grpc::GetHoverResponse::MergeFrom(from._internal_hover()); + break; + } + case kDiagnostic: { + _internal_mutable_diagnostic()->::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse::MergeFrom(from._internal_diagnostic()); + break; + } + case kDiagnosticPublish: { + _internal_mutable_diagnostic_publish()->::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse::MergeFrom(from._internal_diagnostic_publish()); + break; + } + case RESPONSE_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) +} + +inline void AutoCompleteResponse::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&request_id_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&success_) - + reinterpret_cast(&request_id_)) + sizeof(success_)); +clear_has_response(); +} + +AutoCompleteResponse::~AutoCompleteResponse() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void AutoCompleteResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (has_response()) { + clear_response(); + } +} + +void AutoCompleteResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void AutoCompleteResponse::clear_response() { +// @@protoc_insertion_point(one_of_clear_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) + switch (response_case()) { + case kCompletionItems: { + if (GetArenaForAllocation() == nullptr) { + delete response_.completion_items_; + } + break; + } + case kSignatures: { + if (GetArenaForAllocation() == nullptr) { + delete response_.signatures_; + } + break; + } + case kHover: { + if (GetArenaForAllocation() == nullptr) { + delete response_.hover_; + } + break; + } + case kDiagnostic: { + if (GetArenaForAllocation() == nullptr) { + delete response_.diagnostic_; + } + break; + } + case kDiagnosticPublish: { + if (GetArenaForAllocation() == nullptr) { + delete response_.diagnostic_publish_; + } + break; + } + case RESPONSE_NOT_SET: { + break; + } + } + _oneof_case_[0] = RESPONSE_NOT_SET; +} + + +void AutoCompleteResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ::memset(&request_id_, 0, static_cast( + reinterpret_cast(&success_) - + reinterpret_cast(&request_id_)) + sizeof(success_)); + clear_response(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* AutoCompleteResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse completion_items = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_completion_items(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // int32 request_id = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + request_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // bool success = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + success_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse signatures = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + ptr = ctx->ParseMessage(_internal_mutable_signatures(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.GetHoverResponse hover = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + ptr = ctx->ParseMessage(_internal_mutable_hover(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse diagnostic = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { + ptr = ctx->ParseMessage(_internal_mutable_diagnostic(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse diagnostic_publish = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + ptr = ctx->ParseMessage(_internal_mutable_diagnostic_publish(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* AutoCompleteResponse::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse completion_items = 1; + if (_internal_has_completion_items()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::completion_items(this), + _Internal::completion_items(this).GetCachedSize(), target, stream); + } + + // int32 request_id = 2; + if (this->_internal_request_id() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_request_id(), target); + } + + // bool success = 3; + if (this->_internal_success() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_success(), target); + } + + // .io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse signatures = 4; + if (_internal_has_signatures()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(4, _Internal::signatures(this), + _Internal::signatures(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.script.grpc.GetHoverResponse hover = 5; + if (_internal_has_hover()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(5, _Internal::hover(this), + _Internal::hover(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse diagnostic = 6; + if (_internal_has_diagnostic()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(6, _Internal::diagnostic(this), + _Internal::diagnostic(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse diagnostic_publish = 7; + if (_internal_has_diagnostic_publish()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(7, _Internal::diagnostic_publish(this), + _Internal::diagnostic_publish(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) + return target; +} + +size_t AutoCompleteResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // int32 request_id = 2; + if (this->_internal_request_id() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_request_id()); + } + + // bool success = 3; + if (this->_internal_success() != 0) { + total_size += 1 + 1; + } + + switch (response_case()) { + // .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse completion_items = 1; + case kCompletionItems: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *response_.completion_items_); + break; + } + // .io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse signatures = 4; + case kSignatures: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *response_.signatures_); + break; + } + // .io.deephaven.proto.backplane.script.grpc.GetHoverResponse hover = 5; + case kHover: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *response_.hover_); + break; + } + // .io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse diagnostic = 6; + case kDiagnostic: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *response_.diagnostic_); + break; + } + // .io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse diagnostic_publish = 7; + case kDiagnosticPublish: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *response_.diagnostic_publish_); + break; + } + case RESPONSE_NOT_SET: { + break; + } + } + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AutoCompleteResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + AutoCompleteResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AutoCompleteResponse::GetClassData() const { return &_class_data_; } + +void AutoCompleteResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void AutoCompleteResponse::MergeFrom(const AutoCompleteResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_request_id() != 0) { + _internal_set_request_id(from._internal_request_id()); + } + if (from._internal_success() != 0) { + _internal_set_success(from._internal_success()); + } + switch (from.response_case()) { + case kCompletionItems: { + _internal_mutable_completion_items()->::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse::MergeFrom(from._internal_completion_items()); + break; + } + case kSignatures: { + _internal_mutable_signatures()->::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse::MergeFrom(from._internal_signatures()); + break; + } + case kHover: { + _internal_mutable_hover()->::io::deephaven::proto::backplane::script::grpc::GetHoverResponse::MergeFrom(from._internal_hover()); + break; + } + case kDiagnostic: { + _internal_mutable_diagnostic()->::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse::MergeFrom(from._internal_diagnostic()); + break; + } + case kDiagnosticPublish: { + _internal_mutable_diagnostic_publish()->::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse::MergeFrom(from._internal_diagnostic_publish()); + break; + } + case RESPONSE_NOT_SET: { + break; + } + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void AutoCompleteResponse::CopyFrom(const AutoCompleteResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool AutoCompleteResponse::IsInitialized() const { + return true; +} + +void AutoCompleteResponse::InternalSwap(AutoCompleteResponse* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(AutoCompleteResponse, success_) + + sizeof(AutoCompleteResponse::success_) + - PROTOBUF_FIELD_OFFSET(AutoCompleteResponse, request_id_)>( + reinterpret_cast(&request_id_), + reinterpret_cast(&other->request_id_)); + swap(response_, other->response_); + swap(_oneof_case_[0], other->_oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata AutoCompleteResponse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[17]); +} + +// =================================================================== + +class BrowserNextResponse::_Internal { + public: +}; + +BrowserNextResponse::BrowserNextResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) { + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.BrowserNextResponse) +} +BrowserNextResponse::BrowserNextResponse(const BrowserNextResponse& from) + : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.BrowserNextResponse) +} + + + + + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData BrowserNextResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl, + ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl, +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*BrowserNextResponse::GetClassData() const { return &_class_data_; } + + + + + + + +::PROTOBUF_NAMESPACE_ID::Metadata BrowserNextResponse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[18]); +} + +// =================================================================== + +class OpenDocumentRequest::_Internal { + public: + static const ::io::deephaven::proto::backplane::grpc::Ticket& console_id(const OpenDocumentRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem& text_document(const OpenDocumentRequest* msg); +}; + +const ::io::deephaven::proto::backplane::grpc::Ticket& +OpenDocumentRequest::_Internal::console_id(const OpenDocumentRequest* msg) { + return *msg->console_id_; +} +const ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem& +OpenDocumentRequest::_Internal::text_document(const OpenDocumentRequest* msg) { + return *msg->text_document_; +} +void OpenDocumentRequest::clear_console_id() { + if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { + delete console_id_; + } + console_id_ = nullptr; +} +OpenDocumentRequest::OpenDocumentRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) +} +OpenDocumentRequest::OpenDocumentRequest(const OpenDocumentRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_console_id()) { + console_id_ = new ::io::deephaven::proto::backplane::grpc::Ticket(*from.console_id_); + } else { + console_id_ = nullptr; + } + if (from._internal_has_text_document()) { + text_document_ = new ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem(*from.text_document_); + } else { + text_document_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) +} + +inline void OpenDocumentRequest::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&console_id_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&text_document_) - + reinterpret_cast(&console_id_)) + sizeof(text_document_)); +} + +OpenDocumentRequest::~OpenDocumentRequest() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void OpenDocumentRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete console_id_; + if (this != internal_default_instance()) delete text_document_; +} + +void OpenDocumentRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void OpenDocumentRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { + delete console_id_; + } + console_id_ = nullptr; + if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { + delete text_document_; + } + text_document_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* OpenDocumentRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_console_id(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.TextDocumentItem text_document = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_text_document(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* OpenDocumentRequest::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; + if (this->_internal_has_console_id()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::console_id(this), + _Internal::console_id(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.script.grpc.TextDocumentItem text_document = 2; + if (this->_internal_has_text_document()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::text_document(this), + _Internal::text_document(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) + return target; +} + +size_t OpenDocumentRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; + if (this->_internal_has_console_id()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *console_id_); + } + + // .io.deephaven.proto.backplane.script.grpc.TextDocumentItem text_document = 2; + if (this->_internal_has_text_document()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *text_document_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData OpenDocumentRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + OpenDocumentRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*OpenDocumentRequest::GetClassData() const { return &_class_data_; } + +void OpenDocumentRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void OpenDocumentRequest::MergeFrom(const OpenDocumentRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_console_id()) { + _internal_mutable_console_id()->::io::deephaven::proto::backplane::grpc::Ticket::MergeFrom(from._internal_console_id()); + } + if (from._internal_has_text_document()) { + _internal_mutable_text_document()->::io::deephaven::proto::backplane::script::grpc::TextDocumentItem::MergeFrom(from._internal_text_document()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void OpenDocumentRequest::CopyFrom(const OpenDocumentRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool OpenDocumentRequest::IsInitialized() const { + return true; +} + +void OpenDocumentRequest::InternalSwap(OpenDocumentRequest* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(OpenDocumentRequest, text_document_) + + sizeof(OpenDocumentRequest::text_document_) + - PROTOBUF_FIELD_OFFSET(OpenDocumentRequest, console_id_)>( + reinterpret_cast(&console_id_), + reinterpret_cast(&other->console_id_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata OpenDocumentRequest::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[19]); +} + +// =================================================================== + +class TextDocumentItem::_Internal { + public: +}; + +TextDocumentItem::TextDocumentItem(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) +} +TextDocumentItem::TextDocumentItem(const TextDocumentItem& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + uri_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + uri_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_uri().empty()) { + uri_.Set(from._internal_uri(), + GetArenaForAllocation()); + } + language_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + language_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_language_id().empty()) { + language_id_.Set(from._internal_language_id(), + GetArenaForAllocation()); + } + text_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + text_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_text().empty()) { + text_.Set(from._internal_text(), + GetArenaForAllocation()); + } + version_ = from.version_; + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) +} + +inline void TextDocumentItem::SharedCtor() { +uri_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + uri_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +language_id_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + language_id_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +text_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + text_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +version_ = 0; +} + +TextDocumentItem::~TextDocumentItem() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void TextDocumentItem::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + uri_.Destroy(); + language_id_.Destroy(); + text_.Destroy(); +} + +void TextDocumentItem::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void TextDocumentItem::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + uri_.ClearToEmpty(); + language_id_.ClearToEmpty(); + text_.ClearToEmpty(); + version_ = 0; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* TextDocumentItem::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string uri = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_uri(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.TextDocumentItem.uri")); + } else + goto handle_unusual; + continue; + // string language_id = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_language_id(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.TextDocumentItem.language_id")); + } else + goto handle_unusual; + continue; + // int32 version = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string text = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + auto str = _internal_mutable_text(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.TextDocumentItem.text")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* TextDocumentItem::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string uri = 1; + if (!this->_internal_uri().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_uri().data(), static_cast(this->_internal_uri().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.TextDocumentItem.uri"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_uri(), target); + } + + // string language_id = 2; + if (!this->_internal_language_id().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_language_id().data(), static_cast(this->_internal_language_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.TextDocumentItem.language_id"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_language_id(), target); + } + + // int32 version = 3; + if (this->_internal_version() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_version(), target); + } + + // string text = 4; + if (!this->_internal_text().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_text().data(), static_cast(this->_internal_text().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.TextDocumentItem.text"); + target = stream->WriteStringMaybeAliased( + 4, this->_internal_text(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) + return target; +} + +size_t TextDocumentItem::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string uri = 1; + if (!this->_internal_uri().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_uri()); + } + + // string language_id = 2; + if (!this->_internal_language_id().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_language_id()); + } + + // string text = 4; + if (!this->_internal_text().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_text()); + } + + // int32 version = 3; + if (this->_internal_version() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_version()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TextDocumentItem::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + TextDocumentItem::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TextDocumentItem::GetClassData() const { return &_class_data_; } + +void TextDocumentItem::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void TextDocumentItem::MergeFrom(const TextDocumentItem& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_uri().empty()) { + _internal_set_uri(from._internal_uri()); + } + if (!from._internal_language_id().empty()) { + _internal_set_language_id(from._internal_language_id()); + } + if (!from._internal_text().empty()) { + _internal_set_text(from._internal_text()); + } + if (from._internal_version() != 0) { + _internal_set_version(from._internal_version()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void TextDocumentItem::CopyFrom(const TextDocumentItem& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool TextDocumentItem::IsInitialized() const { + return true; +} + +void TextDocumentItem::InternalSwap(TextDocumentItem* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &uri_, lhs_arena, + &other->uri_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &language_id_, lhs_arena, + &other->language_id_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &text_, lhs_arena, + &other->text_, rhs_arena + ); + swap(version_, other->version_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata TextDocumentItem::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[20]); +} + +// =================================================================== + +class CloseDocumentRequest::_Internal { + public: + static const ::io::deephaven::proto::backplane::grpc::Ticket& console_id(const CloseDocumentRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& text_document(const CloseDocumentRequest* msg); +}; + +const ::io::deephaven::proto::backplane::grpc::Ticket& +CloseDocumentRequest::_Internal::console_id(const CloseDocumentRequest* msg) { + return *msg->console_id_; +} +const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& +CloseDocumentRequest::_Internal::text_document(const CloseDocumentRequest* msg) { + return *msg->text_document_; +} +void CloseDocumentRequest::clear_console_id() { + if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { + delete console_id_; + } + console_id_ = nullptr; +} +CloseDocumentRequest::CloseDocumentRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) +} +CloseDocumentRequest::CloseDocumentRequest(const CloseDocumentRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_console_id()) { + console_id_ = new ::io::deephaven::proto::backplane::grpc::Ticket(*from.console_id_); + } else { + console_id_ = nullptr; + } + if (from._internal_has_text_document()) { + text_document_ = new ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier(*from.text_document_); + } else { + text_document_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) +} + +inline void CloseDocumentRequest::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&console_id_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&text_document_) - + reinterpret_cast(&console_id_)) + sizeof(text_document_)); +} + +CloseDocumentRequest::~CloseDocumentRequest() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void CloseDocumentRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete console_id_; + if (this != internal_default_instance()) delete text_document_; +} + +void CloseDocumentRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void CloseDocumentRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { + delete console_id_; + } + console_id_ = nullptr; + if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { + delete text_document_; + } + text_document_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* CloseDocumentRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_console_id(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_text_document(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* CloseDocumentRequest::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; + if (this->_internal_has_console_id()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::console_id(this), + _Internal::console_id(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; + if (this->_internal_has_text_document()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::text_document(this), + _Internal::text_document(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) + return target; +} + +size_t CloseDocumentRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; + if (this->_internal_has_console_id()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *console_id_); + } + + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; + if (this->_internal_has_text_document()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *text_document_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CloseDocumentRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + CloseDocumentRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CloseDocumentRequest::GetClassData() const { return &_class_data_; } + +void CloseDocumentRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void CloseDocumentRequest::MergeFrom(const CloseDocumentRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_console_id()) { + _internal_mutable_console_id()->::io::deephaven::proto::backplane::grpc::Ticket::MergeFrom(from._internal_console_id()); + } + if (from._internal_has_text_document()) { + _internal_mutable_text_document()->::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier::MergeFrom(from._internal_text_document()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void CloseDocumentRequest::CopyFrom(const CloseDocumentRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool CloseDocumentRequest::IsInitialized() const { + return true; +} + +void CloseDocumentRequest::InternalSwap(CloseDocumentRequest* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(CloseDocumentRequest, text_document_) + + sizeof(CloseDocumentRequest::text_document_) + - PROTOBUF_FIELD_OFFSET(CloseDocumentRequest, console_id_)>( + reinterpret_cast(&console_id_), + reinterpret_cast(&other->console_id_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata CloseDocumentRequest::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[21]); +} + +// =================================================================== + +class ChangeDocumentRequest_TextDocumentContentChangeEvent::_Internal { + public: + static const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& range(const ChangeDocumentRequest_TextDocumentContentChangeEvent* msg); +}; + +const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& +ChangeDocumentRequest_TextDocumentContentChangeEvent::_Internal::range(const ChangeDocumentRequest_TextDocumentContentChangeEvent* msg) { + return *msg->range_; +} +ChangeDocumentRequest_TextDocumentContentChangeEvent::ChangeDocumentRequest_TextDocumentContentChangeEvent(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) +} +ChangeDocumentRequest_TextDocumentContentChangeEvent::ChangeDocumentRequest_TextDocumentContentChangeEvent(const ChangeDocumentRequest_TextDocumentContentChangeEvent& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + text_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + text_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_text().empty()) { + text_.Set(from._internal_text(), + GetArenaForAllocation()); + } + if (from._internal_has_range()) { + range_ = new ::io::deephaven::proto::backplane::script::grpc::DocumentRange(*from.range_); + } else { + range_ = nullptr; + } + range_length_ = from.range_length_; + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) +} + +inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::SharedCtor() { +text_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + text_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&range_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&range_length_) - + reinterpret_cast(&range_)) + sizeof(range_length_)); +} + +ChangeDocumentRequest_TextDocumentContentChangeEvent::~ChangeDocumentRequest_TextDocumentContentChangeEvent() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + text_.Destroy(); + if (this != internal_default_instance()) delete range_; +} + +void ChangeDocumentRequest_TextDocumentContentChangeEvent::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void ChangeDocumentRequest_TextDocumentContentChangeEvent::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + text_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && range_ != nullptr) { + delete range_; + } + range_ = nullptr; + range_length_ = 0; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ChangeDocumentRequest_TextDocumentContentChangeEvent::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_range(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // int32 range_length = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + range_length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string text = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + auto str = _internal_mutable_text(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.text")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* ChangeDocumentRequest_TextDocumentContentChangeEvent::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; + if (this->_internal_has_range()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::range(this), + _Internal::range(this).GetCachedSize(), target, stream); + } + + // int32 range_length = 2; + if (this->_internal_range_length() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_range_length(), target); + } + + // string text = 3; + if (!this->_internal_text().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_text().data(), static_cast(this->_internal_text().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.text"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_text(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) + return target; +} + +size_t ChangeDocumentRequest_TextDocumentContentChangeEvent::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string text = 3; + if (!this->_internal_text().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_text()); + } + + // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; + if (this->_internal_has_range()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *range_); + } + + // int32 range_length = 2; + if (this->_internal_range_length() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_range_length()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ChangeDocumentRequest_TextDocumentContentChangeEvent::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + ChangeDocumentRequest_TextDocumentContentChangeEvent::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ChangeDocumentRequest_TextDocumentContentChangeEvent::GetClassData() const { return &_class_data_; } + +void ChangeDocumentRequest_TextDocumentContentChangeEvent::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void ChangeDocumentRequest_TextDocumentContentChangeEvent::MergeFrom(const ChangeDocumentRequest_TextDocumentContentChangeEvent& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_text().empty()) { + _internal_set_text(from._internal_text()); + } + if (from._internal_has_range()) { + _internal_mutable_range()->::io::deephaven::proto::backplane::script::grpc::DocumentRange::MergeFrom(from._internal_range()); + } + if (from._internal_range_length() != 0) { + _internal_set_range_length(from._internal_range_length()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ChangeDocumentRequest_TextDocumentContentChangeEvent::CopyFrom(const ChangeDocumentRequest_TextDocumentContentChangeEvent& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ChangeDocumentRequest_TextDocumentContentChangeEvent::IsInitialized() const { + return true; +} + +void ChangeDocumentRequest_TextDocumentContentChangeEvent::InternalSwap(ChangeDocumentRequest_TextDocumentContentChangeEvent* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &text_, lhs_arena, + &other->text_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(ChangeDocumentRequest_TextDocumentContentChangeEvent, range_length_) + + sizeof(ChangeDocumentRequest_TextDocumentContentChangeEvent::range_length_) + - PROTOBUF_FIELD_OFFSET(ChangeDocumentRequest_TextDocumentContentChangeEvent, range_)>( + reinterpret_cast(&range_), + reinterpret_cast(&other->range_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ChangeDocumentRequest_TextDocumentContentChangeEvent::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[22]); +} + +// =================================================================== + +class ChangeDocumentRequest::_Internal { + public: + static const ::io::deephaven::proto::backplane::grpc::Ticket& console_id(const ChangeDocumentRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& text_document(const ChangeDocumentRequest* msg); +}; + +const ::io::deephaven::proto::backplane::grpc::Ticket& +ChangeDocumentRequest::_Internal::console_id(const ChangeDocumentRequest* msg) { + return *msg->console_id_; +} +const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& +ChangeDocumentRequest::_Internal::text_document(const ChangeDocumentRequest* msg) { + return *msg->text_document_; +} +void ChangeDocumentRequest::clear_console_id() { + if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { + delete console_id_; + } + console_id_ = nullptr; +} +ChangeDocumentRequest::ChangeDocumentRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + content_changes_(arena) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) +} +ChangeDocumentRequest::ChangeDocumentRequest(const ChangeDocumentRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + content_changes_(from.content_changes_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_console_id()) { + console_id_ = new ::io::deephaven::proto::backplane::grpc::Ticket(*from.console_id_); + } else { + console_id_ = nullptr; + } + if (from._internal_has_text_document()) { + text_document_ = new ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier(*from.text_document_); + } else { + text_document_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) +} + +inline void ChangeDocumentRequest::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&console_id_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&text_document_) - + reinterpret_cast(&console_id_)) + sizeof(text_document_)); +} + +ChangeDocumentRequest::~ChangeDocumentRequest() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void ChangeDocumentRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete console_id_; + if (this != internal_default_instance()) delete text_document_; +} + +void ChangeDocumentRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void ChangeDocumentRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + content_changes_.Clear(); + if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { + delete console_id_; + } + console_id_ = nullptr; + if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { + delete text_document_; + } + text_document_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ChangeDocumentRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_console_id(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_text_document(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // repeated .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent content_changes = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_content_changes(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr)); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* ChangeDocumentRequest::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; + if (this->_internal_has_console_id()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::console_id(this), + _Internal::console_id(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; + if (this->_internal_has_text_document()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::text_document(this), + _Internal::text_document(this).GetCachedSize(), target, stream); + } + + // repeated .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent content_changes = 3; + for (unsigned i = 0, + n = static_cast(this->_internal_content_changes_size()); i < n; i++) { + const auto& repfield = this->_internal_content_changes(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) + return target; +} + +size_t ChangeDocumentRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent content_changes = 3; + total_size += 1UL * this->_internal_content_changes_size(); + for (const auto& msg : this->content_changes_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; + if (this->_internal_has_console_id()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *console_id_); + } + + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; + if (this->_internal_has_text_document()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *text_document_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ChangeDocumentRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + ChangeDocumentRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ChangeDocumentRequest::GetClassData() const { return &_class_data_; } + +void ChangeDocumentRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void ChangeDocumentRequest::MergeFrom(const ChangeDocumentRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + content_changes_.MergeFrom(from.content_changes_); + if (from._internal_has_console_id()) { + _internal_mutable_console_id()->::io::deephaven::proto::backplane::grpc::Ticket::MergeFrom(from._internal_console_id()); + } + if (from._internal_has_text_document()) { + _internal_mutable_text_document()->::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier::MergeFrom(from._internal_text_document()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ChangeDocumentRequest::CopyFrom(const ChangeDocumentRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ChangeDocumentRequest::IsInitialized() const { + return true; +} + +void ChangeDocumentRequest::InternalSwap(ChangeDocumentRequest* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + content_changes_.InternalSwap(&other->content_changes_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(ChangeDocumentRequest, text_document_) + + sizeof(ChangeDocumentRequest::text_document_) + - PROTOBUF_FIELD_OFFSET(ChangeDocumentRequest, console_id_)>( + reinterpret_cast(&console_id_), + reinterpret_cast(&other->console_id_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ChangeDocumentRequest::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[23]); +} + +// =================================================================== + +class DocumentRange::_Internal { + public: + static const ::io::deephaven::proto::backplane::script::grpc::Position& start(const DocumentRange* msg); + static const ::io::deephaven::proto::backplane::script::grpc::Position& end(const DocumentRange* msg); +}; + +const ::io::deephaven::proto::backplane::script::grpc::Position& +DocumentRange::_Internal::start(const DocumentRange* msg) { + return *msg->start_; +} +const ::io::deephaven::proto::backplane::script::grpc::Position& +DocumentRange::_Internal::end(const DocumentRange* msg) { + return *msg->end_; +} +DocumentRange::DocumentRange(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.DocumentRange) +} +DocumentRange::DocumentRange(const DocumentRange& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_start()) { + start_ = new ::io::deephaven::proto::backplane::script::grpc::Position(*from.start_); + } else { + start_ = nullptr; + } + if (from._internal_has_end()) { + end_ = new ::io::deephaven::proto::backplane::script::grpc::Position(*from.end_); + } else { + end_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.DocumentRange) +} + +inline void DocumentRange::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&start_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&end_) - + reinterpret_cast(&start_)) + sizeof(end_)); +} + +DocumentRange::~DocumentRange() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.DocumentRange) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void DocumentRange::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete start_; + if (this != internal_default_instance()) delete end_; +} + +void DocumentRange::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void DocumentRange::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.DocumentRange) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && start_ != nullptr) { + delete start_; + } + start_ = nullptr; + if (GetArenaForAllocation() == nullptr && end_ != nullptr) { + delete end_; + } + end_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* DocumentRange::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .io.deephaven.proto.backplane.script.grpc.Position start = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_start(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.Position end = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_end(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* DocumentRange::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.DocumentRange) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .io.deephaven.proto.backplane.script.grpc.Position start = 1; + if (this->_internal_has_start()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::start(this), + _Internal::start(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.script.grpc.Position end = 2; + if (this->_internal_has_end()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::end(this), + _Internal::end(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.DocumentRange) + return target; +} + +size_t DocumentRange::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.DocumentRange) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .io.deephaven.proto.backplane.script.grpc.Position start = 1; + if (this->_internal_has_start()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *start_); + } + + // .io.deephaven.proto.backplane.script.grpc.Position end = 2; + if (this->_internal_has_end()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *end_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DocumentRange::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + DocumentRange::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DocumentRange::GetClassData() const { return &_class_data_; } + +void DocumentRange::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void DocumentRange::MergeFrom(const DocumentRange& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.DocumentRange) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_start()) { + _internal_mutable_start()->::io::deephaven::proto::backplane::script::grpc::Position::MergeFrom(from._internal_start()); + } + if (from._internal_has_end()) { + _internal_mutable_end()->::io::deephaven::proto::backplane::script::grpc::Position::MergeFrom(from._internal_end()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void DocumentRange::CopyFrom(const DocumentRange& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.DocumentRange) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool DocumentRange::IsInitialized() const { + return true; +} + +void DocumentRange::InternalSwap(DocumentRange* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(DocumentRange, end_) + + sizeof(DocumentRange::end_) + - PROTOBUF_FIELD_OFFSET(DocumentRange, start_)>( + reinterpret_cast(&start_), + reinterpret_cast(&other->start_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata DocumentRange::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[24]); +} + +// =================================================================== + +class VersionedTextDocumentIdentifier::_Internal { + public: +}; + +VersionedTextDocumentIdentifier::VersionedTextDocumentIdentifier(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) +} +VersionedTextDocumentIdentifier::VersionedTextDocumentIdentifier(const VersionedTextDocumentIdentifier& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + uri_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + uri_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_uri().empty()) { + uri_.Set(from._internal_uri(), + GetArenaForAllocation()); + } + version_ = from.version_; + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) +} + +inline void VersionedTextDocumentIdentifier::SharedCtor() { +uri_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + uri_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +version_ = 0; +} + +VersionedTextDocumentIdentifier::~VersionedTextDocumentIdentifier() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void VersionedTextDocumentIdentifier::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + uri_.Destroy(); +} + +void VersionedTextDocumentIdentifier::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void VersionedTextDocumentIdentifier::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + uri_.ClearToEmpty(); + version_ = 0; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* VersionedTextDocumentIdentifier::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string uri = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_uri(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.uri")); + } else + goto handle_unusual; + continue; + // int32 version = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* VersionedTextDocumentIdentifier::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string uri = 1; + if (!this->_internal_uri().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_uri().data(), static_cast(this->_internal_uri().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.uri"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_uri(), target); + } + + // int32 version = 2; + if (this->_internal_version() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_version(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) + return target; +} + +size_t VersionedTextDocumentIdentifier::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string uri = 1; + if (!this->_internal_uri().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_uri()); + } + + // int32 version = 2; + if (this->_internal_version() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_version()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData VersionedTextDocumentIdentifier::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + VersionedTextDocumentIdentifier::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*VersionedTextDocumentIdentifier::GetClassData() const { return &_class_data_; } + +void VersionedTextDocumentIdentifier::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void VersionedTextDocumentIdentifier::MergeFrom(const VersionedTextDocumentIdentifier& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_uri().empty()) { + _internal_set_uri(from._internal_uri()); + } + if (from._internal_version() != 0) { + _internal_set_version(from._internal_version()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void VersionedTextDocumentIdentifier::CopyFrom(const VersionedTextDocumentIdentifier& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool VersionedTextDocumentIdentifier::IsInitialized() const { + return true; +} + +void VersionedTextDocumentIdentifier::InternalSwap(VersionedTextDocumentIdentifier* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &uri_, lhs_arena, + &other->uri_, rhs_arena + ); + swap(version_, other->version_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata VersionedTextDocumentIdentifier::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[25]); +} + +// =================================================================== + +class Position::_Internal { + public: +}; + +Position::Position(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.Position) +} +Position::Position(const Position& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::memcpy(&line_, &from.line_, + static_cast(reinterpret_cast(&character_) - + reinterpret_cast(&line_)) + sizeof(character_)); + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.Position) +} + +inline void Position::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&line_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&character_) - + reinterpret_cast(&line_)) + sizeof(character_)); +} + +Position::~Position() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.Position) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void Position::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void Position::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void Position::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.Position) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ::memset(&line_, 0, static_cast( + reinterpret_cast(&character_) - + reinterpret_cast(&line_)) + sizeof(character_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* Position::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // int32 line = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + line_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // int32 character = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + character_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* Position::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.Position) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // int32 line = 1; + if (this->_internal_line() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_line(), target); + } + + // int32 character = 2; + if (this->_internal_character() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_character(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.Position) + return target; +} + +size_t Position::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.Position) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // int32 line = 1; + if (this->_internal_line() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_line()); + } + + // int32 character = 2; + if (this->_internal_character() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_character()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Position::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + Position::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Position::GetClassData() const { return &_class_data_; } + +void Position::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void Position::MergeFrom(const Position& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.Position) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_line() != 0) { + _internal_set_line(from._internal_line()); + } + if (from._internal_character() != 0) { + _internal_set_character(from._internal_character()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void Position::CopyFrom(const Position& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.Position) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool Position::IsInitialized() const { + return true; +} + +void Position::InternalSwap(Position* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(Position, character_) + + sizeof(Position::character_) + - PROTOBUF_FIELD_OFFSET(Position, line_)>( + reinterpret_cast(&line_), + reinterpret_cast(&other->line_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata Position::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[26]); +} + +// =================================================================== + +class MarkupContent::_Internal { + public: +}; + +MarkupContent::MarkupContent(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.MarkupContent) +} +MarkupContent::MarkupContent(const MarkupContent& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + kind_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + kind_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_kind().empty()) { + kind_.Set(from._internal_kind(), + GetArenaForAllocation()); + } + value_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + value_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_value().empty()) { + value_.Set(from._internal_value(), + GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.MarkupContent) +} + +inline void MarkupContent::SharedCtor() { +kind_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + kind_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +value_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + value_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +MarkupContent::~MarkupContent() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.MarkupContent) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void MarkupContent::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + kind_.Destroy(); + value_.Destroy(); +} + +void MarkupContent::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void MarkupContent::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.MarkupContent) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + kind_.ClearToEmpty(); + value_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* MarkupContent::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string kind = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_kind(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.MarkupContent.kind")); + } else + goto handle_unusual; + continue; + // string value = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_value(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.MarkupContent.value")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* MarkupContent::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.MarkupContent) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string kind = 1; + if (!this->_internal_kind().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_kind().data(), static_cast(this->_internal_kind().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.MarkupContent.kind"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_kind(), target); + } + + // string value = 2; + if (!this->_internal_value().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_value().data(), static_cast(this->_internal_value().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.MarkupContent.value"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_value(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.MarkupContent) + return target; +} + +size_t MarkupContent::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.MarkupContent) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string kind = 1; + if (!this->_internal_kind().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_kind()); + } + + // string value = 2; + if (!this->_internal_value().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_value()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData MarkupContent::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + MarkupContent::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*MarkupContent::GetClassData() const { return &_class_data_; } + +void MarkupContent::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void MarkupContent::MergeFrom(const MarkupContent& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.MarkupContent) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_kind().empty()) { + _internal_set_kind(from._internal_kind()); + } + if (!from._internal_value().empty()) { + _internal_set_value(from._internal_value()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void MarkupContent::CopyFrom(const MarkupContent& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.MarkupContent) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool MarkupContent::IsInitialized() const { + return true; +} + +void MarkupContent::InternalSwap(MarkupContent* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &kind_, lhs_arena, + &other->kind_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &value_, lhs_arena, + &other->value_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata MarkupContent::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[27]); +} + +// =================================================================== + +class GetCompletionItemsRequest::_Internal { + public: + static const ::io::deephaven::proto::backplane::grpc::Ticket& console_id(const GetCompletionItemsRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::CompletionContext& context(const GetCompletionItemsRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& text_document(const GetCompletionItemsRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::Position& position(const GetCompletionItemsRequest* msg); +}; + +const ::io::deephaven::proto::backplane::grpc::Ticket& +GetCompletionItemsRequest::_Internal::console_id(const GetCompletionItemsRequest* msg) { + return *msg->console_id_; +} +const ::io::deephaven::proto::backplane::script::grpc::CompletionContext& +GetCompletionItemsRequest::_Internal::context(const GetCompletionItemsRequest* msg) { + return *msg->context_; +} +const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& +GetCompletionItemsRequest::_Internal::text_document(const GetCompletionItemsRequest* msg) { + return *msg->text_document_; +} +const ::io::deephaven::proto::backplane::script::grpc::Position& +GetCompletionItemsRequest::_Internal::position(const GetCompletionItemsRequest* msg) { + return *msg->position_; +} +void GetCompletionItemsRequest::clear_console_id() { + if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { + delete console_id_; + } + console_id_ = nullptr; +} +GetCompletionItemsRequest::GetCompletionItemsRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) +} +GetCompletionItemsRequest::GetCompletionItemsRequest(const GetCompletionItemsRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_console_id()) { + console_id_ = new ::io::deephaven::proto::backplane::grpc::Ticket(*from.console_id_); + } else { + console_id_ = nullptr; + } + if (from._internal_has_context()) { + context_ = new ::io::deephaven::proto::backplane::script::grpc::CompletionContext(*from.context_); + } else { + context_ = nullptr; + } + if (from._internal_has_text_document()) { + text_document_ = new ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier(*from.text_document_); + } else { + text_document_ = nullptr; + } + if (from._internal_has_position()) { + position_ = new ::io::deephaven::proto::backplane::script::grpc::Position(*from.position_); + } else { + position_ = nullptr; + } + request_id_ = from.request_id_; + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) +} + +inline void GetCompletionItemsRequest::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&console_id_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&request_id_) - + reinterpret_cast(&console_id_)) + sizeof(request_id_)); +} + +GetCompletionItemsRequest::~GetCompletionItemsRequest() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void GetCompletionItemsRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete console_id_; + if (this != internal_default_instance()) delete context_; + if (this != internal_default_instance()) delete text_document_; + if (this != internal_default_instance()) delete position_; +} + +void GetCompletionItemsRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void GetCompletionItemsRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { + delete console_id_; + } + console_id_ = nullptr; + if (GetArenaForAllocation() == nullptr && context_ != nullptr) { + delete context_; + } + context_ = nullptr; + if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { + delete text_document_; + } + text_document_ = nullptr; + if (GetArenaForAllocation() == nullptr && position_ != nullptr) { + delete position_; + } + position_ = nullptr; + request_id_ = 0; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetCompletionItemsRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_console_id(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.CompletionContext context = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_context(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_text_document(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.Position position = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + ptr = ctx->ParseMessage(_internal_mutable_position(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // int32 request_id = 5 [deprecated = true]; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { + request_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* GetCompletionItemsRequest::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; + if (this->_internal_has_console_id()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::console_id(this), + _Internal::console_id(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.script.grpc.CompletionContext context = 2; + if (this->_internal_has_context()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::context(this), + _Internal::context(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 3; + if (this->_internal_has_text_document()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, _Internal::text_document(this), + _Internal::text_document(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.script.grpc.Position position = 4; + if (this->_internal_has_position()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(4, _Internal::position(this), + _Internal::position(this).GetCachedSize(), target, stream); + } + + // int32 request_id = 5 [deprecated = true]; + if (this->_internal_request_id() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_request_id(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) + return target; } -void AutoCompleteResponse::CopyFrom(const AutoCompleteResponse& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) +size_t GetCompletionItemsRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; + if (this->_internal_has_console_id()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *console_id_); + } + + // .io.deephaven.proto.backplane.script.grpc.CompletionContext context = 2; + if (this->_internal_has_context()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *context_); + } + + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 3; + if (this->_internal_has_text_document()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *text_document_); + } + + // .io.deephaven.proto.backplane.script.grpc.Position position = 4; + if (this->_internal_has_position()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *position_); + } + + // int32 request_id = 5 [deprecated = true]; + if (this->_internal_request_id() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_request_id()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetCompletionItemsRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + GetCompletionItemsRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetCompletionItemsRequest::GetClassData() const { return &_class_data_; } + +void GetCompletionItemsRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void GetCompletionItemsRequest::MergeFrom(const GetCompletionItemsRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_console_id()) { + _internal_mutable_console_id()->::io::deephaven::proto::backplane::grpc::Ticket::MergeFrom(from._internal_console_id()); + } + if (from._internal_has_context()) { + _internal_mutable_context()->::io::deephaven::proto::backplane::script::grpc::CompletionContext::MergeFrom(from._internal_context()); + } + if (from._internal_has_text_document()) { + _internal_mutable_text_document()->::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier::MergeFrom(from._internal_text_document()); + } + if (from._internal_has_position()) { + _internal_mutable_position()->::io::deephaven::proto::backplane::script::grpc::Position::MergeFrom(from._internal_position()); + } + if (from._internal_request_id() != 0) { + _internal_set_request_id(from._internal_request_id()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetCompletionItemsRequest::CopyFrom(const GetCompletionItemsRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) if (&from == this) return; Clear(); MergeFrom(from); } -bool AutoCompleteResponse::IsInitialized() const { +bool GetCompletionItemsRequest::IsInitialized() const { return true; } -void AutoCompleteResponse::InternalSwap(AutoCompleteResponse* other) { +void GetCompletionItemsRequest::InternalSwap(GetCompletionItemsRequest* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(response_, other->response_); - swap(_oneof_case_[0], other->_oneof_case_[0]); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(GetCompletionItemsRequest, request_id_) + + sizeof(GetCompletionItemsRequest::request_id_) + - PROTOBUF_FIELD_OFFSET(GetCompletionItemsRequest, console_id_)>( + reinterpret_cast(&console_id_), + reinterpret_cast(&other->console_id_)); } -::PROTOBUF_NAMESPACE_ID::Metadata AutoCompleteResponse::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata GetCompletionItemsRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[15]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[28]); } // =================================================================== -class BrowserNextResponse::_Internal { +class CompletionContext::_Internal { public: }; -BrowserNextResponse::BrowserNextResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, +CompletionContext::CompletionContext(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) { - // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.BrowserNextResponse) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.CompletionContext) } -BrowserNextResponse::BrowserNextResponse(const BrowserNextResponse& from) - : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() { +CompletionContext::CompletionContext(const CompletionContext& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.BrowserNextResponse) + trigger_character_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + trigger_character_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_trigger_character().empty()) { + trigger_character_.Set(from._internal_trigger_character(), + GetArenaForAllocation()); + } + trigger_kind_ = from.trigger_kind_; + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.CompletionContext) +} + +inline void CompletionContext::SharedCtor() { +trigger_character_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + trigger_character_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +trigger_kind_ = 0; +} + +CompletionContext::~CompletionContext() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.CompletionContext) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void CompletionContext::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + trigger_character_.Destroy(); +} + +void CompletionContext::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void CompletionContext::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.CompletionContext) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + trigger_character_.ClearToEmpty(); + trigger_kind_ = 0; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* CompletionContext::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // int32 trigger_kind = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + trigger_kind_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string trigger_character = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_trigger_character(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_character")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* CompletionContext::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.CompletionContext) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // int32 trigger_kind = 1; + if (this->_internal_trigger_kind() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_trigger_kind(), target); + } + + // string trigger_character = 2; + if (!this->_internal_trigger_character().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_trigger_character().data(), static_cast(this->_internal_trigger_character().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_character"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_trigger_character(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.CompletionContext) + return target; } +size_t CompletionContext::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.CompletionContext) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + // string trigger_character = 2; + if (!this->_internal_trigger_character().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_trigger_character()); + } + // int32 trigger_kind = 1; + if (this->_internal_trigger_kind() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_trigger_kind()); + } + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData BrowserNextResponse::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl, - ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl, +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CompletionContext::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + CompletionContext::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*BrowserNextResponse::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CompletionContext::GetClassData() const { return &_class_data_; } + +void CompletionContext::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} +void CompletionContext::MergeFrom(const CompletionContext& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.CompletionContext) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + if (!from._internal_trigger_character().empty()) { + _internal_set_trigger_character(from._internal_trigger_character()); + } + if (from._internal_trigger_kind() != 0) { + _internal_set_trigger_kind(from._internal_trigger_kind()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} +void CompletionContext::CopyFrom(const CompletionContext& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.CompletionContext) + if (&from == this) return; + Clear(); + MergeFrom(from); +} +bool CompletionContext::IsInitialized() const { + return true; +} +void CompletionContext::InternalSwap(CompletionContext* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &trigger_character_, lhs_arena, + &other->trigger_character_, rhs_arena + ); + swap(trigger_kind_, other->trigger_kind_); +} -::PROTOBUF_NAMESPACE_ID::Metadata BrowserNextResponse::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata CompletionContext::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[16]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[29]); } // =================================================================== -class OpenDocumentRequest::_Internal { +class GetCompletionItemsResponse::_Internal { public: - static const ::io::deephaven::proto::backplane::grpc::Ticket& console_id(const OpenDocumentRequest* msg); - static const ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem& text_document(const OpenDocumentRequest* msg); }; -const ::io::deephaven::proto::backplane::grpc::Ticket& -OpenDocumentRequest::_Internal::console_id(const OpenDocumentRequest* msg) { - return *msg->console_id_; -} -const ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem& -OpenDocumentRequest::_Internal::text_document(const OpenDocumentRequest* msg) { - return *msg->text_document_; -} -void OpenDocumentRequest::clear_console_id() { - if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { - delete console_id_; - } - console_id_ = nullptr; -} -OpenDocumentRequest::OpenDocumentRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, +GetCompletionItemsResponse::GetCompletionItemsResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + items_(arena) { SharedCtor(); - // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) } -OpenDocumentRequest::OpenDocumentRequest(const OpenDocumentRequest& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { +GetCompletionItemsResponse::GetCompletionItemsResponse(const GetCompletionItemsResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + items_(from.items_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_console_id()) { - console_id_ = new ::io::deephaven::proto::backplane::grpc::Ticket(*from.console_id_); - } else { - console_id_ = nullptr; - } - if (from._internal_has_text_document()) { - text_document_ = new ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem(*from.text_document_); - } else { - text_document_ = nullptr; - } - // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) + ::memcpy(&request_id_, &from.request_id_, + static_cast(reinterpret_cast(&success_) - + reinterpret_cast(&request_id_)) + sizeof(success_)); + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) } -inline void OpenDocumentRequest::SharedCtor() { +inline void GetCompletionItemsResponse::SharedCtor() { ::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&console_id_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&text_document_) - - reinterpret_cast(&console_id_)) + sizeof(text_document_)); + reinterpret_cast(&request_id_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&success_) - + reinterpret_cast(&request_id_)) + sizeof(success_)); } -OpenDocumentRequest::~OpenDocumentRequest() { - // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) +GetCompletionItemsResponse::~GetCompletionItemsResponse() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -5142,51 +9289,58 @@ OpenDocumentRequest::~OpenDocumentRequest() { SharedDtor(); } -inline void OpenDocumentRequest::SharedDtor() { +inline void GetCompletionItemsResponse::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete console_id_; - if (this != internal_default_instance()) delete text_document_; } -void OpenDocumentRequest::SetCachedSize(int size) const { +void GetCompletionItemsResponse::SetCachedSize(int size) const { _cached_size_.Set(size); } -void OpenDocumentRequest::Clear() { -// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) +void GetCompletionItemsResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { - delete console_id_; - } - console_id_ = nullptr; - if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { - delete text_document_; - } - text_document_ = nullptr; + items_.Clear(); + ::memset(&request_id_, 0, static_cast( + reinterpret_cast(&success_) - + reinterpret_cast(&request_id_)) + sizeof(success_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* OpenDocumentRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* GetCompletionItemsResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; + // repeated .io.deephaven.proto.backplane.script.grpc.CompletionItem items = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_console_id(), ptr); - CHK_(ptr); + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_items(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); } else goto handle_unusual; continue; - // .io.deephaven.proto.backplane.script.grpc.TextDocumentItem text_document = 2; + // int32 request_id = 2 [deprecated = true]; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_text_document(), ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + request_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // bool success = 3 [deprecated = true]; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + success_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); } else goto handle_unusual; @@ -5214,176 +9368,228 @@ const char* OpenDocumentRequest::_InternalParse(const char* ptr, ::_pbi::ParseCo #undef CHK_ } -uint8_t* OpenDocumentRequest::_InternalSerialize( +uint8_t* GetCompletionItemsResponse::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; - if (this->_internal_has_console_id()) { + // repeated .io.deephaven.proto.backplane.script.grpc.CompletionItem items = 1; + for (unsigned i = 0, + n = static_cast(this->_internal_items_size()); i < n; i++) { + const auto& repfield = this->_internal_items(i); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, _Internal::console_id(this), - _Internal::console_id(this).GetCachedSize(), target, stream); + InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream); } - // .io.deephaven.proto.backplane.script.grpc.TextDocumentItem text_document = 2; - if (this->_internal_has_text_document()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(2, _Internal::text_document(this), - _Internal::text_document(this).GetCachedSize(), target, stream); + // int32 request_id = 2 [deprecated = true]; + if (this->_internal_request_id() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_request_id(), target); + } + + // bool success = 3 [deprecated = true]; + if (this->_internal_success() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_success(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) return target; } -size_t OpenDocumentRequest::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) +size_t GetCompletionItemsResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; - if (this->_internal_has_console_id()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *console_id_); + // repeated .io.deephaven.proto.backplane.script.grpc.CompletionItem items = 1; + total_size += 1UL * this->_internal_items_size(); + for (const auto& msg : this->items_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); } - // .io.deephaven.proto.backplane.script.grpc.TextDocumentItem text_document = 2; - if (this->_internal_has_text_document()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *text_document_); + // int32 request_id = 2 [deprecated = true]; + if (this->_internal_request_id() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_request_id()); + } + + // bool success = 3 [deprecated = true]; + if (this->_internal_success() != 0) { + total_size += 1 + 1; } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData OpenDocumentRequest::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetCompletionItemsResponse::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - OpenDocumentRequest::MergeImpl + GetCompletionItemsResponse::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*OpenDocumentRequest::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetCompletionItemsResponse::GetClassData() const { return &_class_data_; } -void OpenDocumentRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void GetCompletionItemsResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void OpenDocumentRequest::MergeFrom(const OpenDocumentRequest& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) +void GetCompletionItemsResponse::MergeFrom(const GetCompletionItemsResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (from._internal_has_console_id()) { - _internal_mutable_console_id()->::io::deephaven::proto::backplane::grpc::Ticket::MergeFrom(from._internal_console_id()); + items_.MergeFrom(from.items_); + if (from._internal_request_id() != 0) { + _internal_set_request_id(from._internal_request_id()); } - if (from._internal_has_text_document()) { - _internal_mutable_text_document()->::io::deephaven::proto::backplane::script::grpc::TextDocumentItem::MergeFrom(from._internal_text_document()); + if (from._internal_success() != 0) { + _internal_set_success(from._internal_success()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void OpenDocumentRequest::CopyFrom(const OpenDocumentRequest& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) +void GetCompletionItemsResponse::CopyFrom(const GetCompletionItemsResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) if (&from == this) return; Clear(); MergeFrom(from); } -bool OpenDocumentRequest::IsInitialized() const { +bool GetCompletionItemsResponse::IsInitialized() const { return true; } -void OpenDocumentRequest::InternalSwap(OpenDocumentRequest* other) { +void GetCompletionItemsResponse::InternalSwap(GetCompletionItemsResponse* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); + items_.InternalSwap(&other->items_); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(OpenDocumentRequest, text_document_) - + sizeof(OpenDocumentRequest::text_document_) - - PROTOBUF_FIELD_OFFSET(OpenDocumentRequest, console_id_)>( - reinterpret_cast(&console_id_), - reinterpret_cast(&other->console_id_)); + PROTOBUF_FIELD_OFFSET(GetCompletionItemsResponse, success_) + + sizeof(GetCompletionItemsResponse::success_) + - PROTOBUF_FIELD_OFFSET(GetCompletionItemsResponse, request_id_)>( + reinterpret_cast(&request_id_), + reinterpret_cast(&other->request_id_)); } -::PROTOBUF_NAMESPACE_ID::Metadata OpenDocumentRequest::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata GetCompletionItemsResponse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[17]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[30]); } // =================================================================== -class TextDocumentItem::_Internal { +class CompletionItem::_Internal { public: + static const ::io::deephaven::proto::backplane::script::grpc::TextEdit& text_edit(const CompletionItem* msg); + static const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& documentation(const CompletionItem* msg); }; -TextDocumentItem::TextDocumentItem(::PROTOBUF_NAMESPACE_ID::Arena* arena, +const ::io::deephaven::proto::backplane::script::grpc::TextEdit& +CompletionItem::_Internal::text_edit(const CompletionItem* msg) { + return *msg->text_edit_; +} +const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& +CompletionItem::_Internal::documentation(const CompletionItem* msg) { + return *msg->documentation_; +} +CompletionItem::CompletionItem(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + additional_text_edits_(arena), + commit_characters_(arena) { SharedCtor(); - // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.CompletionItem) } -TextDocumentItem::TextDocumentItem(const TextDocumentItem& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { +CompletionItem::CompletionItem(const CompletionItem& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + additional_text_edits_(from.additional_text_edits_), + commit_characters_(from.commit_characters_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - uri_.InitDefault(); + label_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - uri_.Set("", GetArenaForAllocation()); + label_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_uri().empty()) { - uri_.Set(from._internal_uri(), + if (!from._internal_label().empty()) { + label_.Set(from._internal_label(), GetArenaForAllocation()); } - language_id_.InitDefault(); + detail_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - language_id_.Set("", GetArenaForAllocation()); + detail_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_language_id().empty()) { - language_id_.Set(from._internal_language_id(), + if (!from._internal_detail().empty()) { + detail_.Set(from._internal_detail(), GetArenaForAllocation()); } - text_.InitDefault(); + sort_text_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - text_.Set("", GetArenaForAllocation()); + sort_text_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_text().empty()) { - text_.Set(from._internal_text(), + if (!from._internal_sort_text().empty()) { + sort_text_.Set(from._internal_sort_text(), GetArenaForAllocation()); } - version_ = from.version_; - // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) + filter_text_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + filter_text_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_filter_text().empty()) { + filter_text_.Set(from._internal_filter_text(), + GetArenaForAllocation()); + } + if (from._internal_has_text_edit()) { + text_edit_ = new ::io::deephaven::proto::backplane::script::grpc::TextEdit(*from.text_edit_); + } else { + text_edit_ = nullptr; + } + if (from._internal_has_documentation()) { + documentation_ = new ::io::deephaven::proto::backplane::script::grpc::MarkupContent(*from.documentation_); + } else { + documentation_ = nullptr; + } + ::memcpy(&start_, &from.start_, + static_cast(reinterpret_cast(&insert_text_format_) - + reinterpret_cast(&start_)) + sizeof(insert_text_format_)); + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.CompletionItem) } -inline void TextDocumentItem::SharedCtor() { -uri_.InitDefault(); +inline void CompletionItem::SharedCtor() { +label_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - uri_.Set("", GetArenaForAllocation()); + label_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -language_id_.InitDefault(); +detail_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - language_id_.Set("", GetArenaForAllocation()); + detail_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -text_.InitDefault(); +sort_text_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - text_.Set("", GetArenaForAllocation()); + sort_text_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -version_ = 0; +filter_text_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + filter_text_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&text_edit_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&insert_text_format_) - + reinterpret_cast(&text_edit_)) + sizeof(insert_text_format_)); } -TextDocumentItem::~TextDocumentItem() { - // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) +CompletionItem::~CompletionItem() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.CompletionItem) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -5391,71 +9597,181 @@ TextDocumentItem::~TextDocumentItem() { SharedDtor(); } -inline void TextDocumentItem::SharedDtor() { +inline void CompletionItem::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - uri_.Destroy(); - language_id_.Destroy(); - text_.Destroy(); + label_.Destroy(); + detail_.Destroy(); + sort_text_.Destroy(); + filter_text_.Destroy(); + if (this != internal_default_instance()) delete text_edit_; + if (this != internal_default_instance()) delete documentation_; } -void TextDocumentItem::SetCachedSize(int size) const { +void CompletionItem::SetCachedSize(int size) const { _cached_size_.Set(size); } -void TextDocumentItem::Clear() { -// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) +void CompletionItem::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.CompletionItem) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - uri_.ClearToEmpty(); - language_id_.ClearToEmpty(); - text_.ClearToEmpty(); - version_ = 0; + additional_text_edits_.Clear(); + commit_characters_.Clear(); + label_.ClearToEmpty(); + detail_.ClearToEmpty(); + sort_text_.ClearToEmpty(); + filter_text_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && text_edit_ != nullptr) { + delete text_edit_; + } + text_edit_ = nullptr; + if (GetArenaForAllocation() == nullptr && documentation_ != nullptr) { + delete documentation_; + } + documentation_ = nullptr; + ::memset(&start_, 0, static_cast( + reinterpret_cast(&insert_text_format_) - + reinterpret_cast(&start_)) + sizeof(insert_text_format_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* TextDocumentItem::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* CompletionItem::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // string uri = 1; + // int32 start = 1; case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - auto str = _internal_mutable_uri(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + start_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.TextDocumentItem.uri")); } else goto handle_unusual; continue; - // string language_id = 2; + // int32 length = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - auto str = _internal_mutable_language_id(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.TextDocumentItem.language_id")); } else goto handle_unusual; continue; - // int32 version = 3; + // string label = 3; case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + auto str = _internal_mutable_label(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.CompletionItem.label")); + } else + goto handle_unusual; + continue; + // int32 kind = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { + kind_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string detail = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + auto str = _internal_mutable_detail(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.CompletionItem.detail")); + } else + goto handle_unusual; + continue; + // bool deprecated = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 56)) { + deprecated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // bool preselect = 8; + case 8: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 64)) { + preselect_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); CHK_(ptr); } else goto handle_unusual; continue; - // string text = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { - auto str = _internal_mutable_text(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + // .io.deephaven.proto.backplane.script.grpc.TextEdit text_edit = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 74)) { + ptr = ctx->ParseMessage(_internal_mutable_text_edit(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // string sort_text = 10; + case 10: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 82)) { + auto str = _internal_mutable_sort_text(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.CompletionItem.sort_text")); + } else + goto handle_unusual; + continue; + // string filter_text = 11; + case 11: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 90)) { + auto str = _internal_mutable_filter_text(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.CompletionItem.filter_text")); + } else + goto handle_unusual; + continue; + // int32 insert_text_format = 12; + case 12: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 96)) { + insert_text_format_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // repeated .io.deephaven.proto.backplane.script.grpc.TextEdit additional_text_edits = 13; + case 13: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 106)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_additional_text_edits(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<106>(ptr)); + } else + goto handle_unusual; + continue; + // repeated string commit_characters = 14; + case 14: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 114)) { + ptr -= 1; + do { + ptr += 1; + auto str = _internal_add_commit_characters(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters")); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<114>(ptr)); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.MarkupContent documentation = 15; + case 15: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 122)) { + ptr = ctx->ParseMessage(_internal_mutable_documentation(), ptr); CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.TextDocumentItem.text")); } else goto handle_unusual; continue; @@ -5482,217 +9798,380 @@ const char* TextDocumentItem::_InternalParse(const char* ptr, ::_pbi::ParseConte #undef CHK_ } -uint8_t* TextDocumentItem::_InternalSerialize( +uint8_t* CompletionItem::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.CompletionItem) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // string uri = 1; - if (!this->_internal_uri().empty()) { + // int32 start = 1; + if (this->_internal_start() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_start(), target); + } + + // int32 length = 2; + if (this->_internal_length() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_length(), target); + } + + // string label = 3; + if (!this->_internal_label().empty()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_uri().data(), static_cast(this->_internal_uri().length()), + this->_internal_label().data(), static_cast(this->_internal_label().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "io.deephaven.proto.backplane.script.grpc.TextDocumentItem.uri"); + "io.deephaven.proto.backplane.script.grpc.CompletionItem.label"); target = stream->WriteStringMaybeAliased( - 1, this->_internal_uri(), target); + 3, this->_internal_label(), target); } - // string language_id = 2; - if (!this->_internal_language_id().empty()) { + // int32 kind = 4; + if (this->_internal_kind() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_kind(), target); + } + + // string detail = 5; + if (!this->_internal_detail().empty()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_language_id().data(), static_cast(this->_internal_language_id().length()), + this->_internal_detail().data(), static_cast(this->_internal_detail().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "io.deephaven.proto.backplane.script.grpc.TextDocumentItem.language_id"); + "io.deephaven.proto.backplane.script.grpc.CompletionItem.detail"); target = stream->WriteStringMaybeAliased( - 2, this->_internal_language_id(), target); + 5, this->_internal_detail(), target); } - // int32 version = 3; - if (this->_internal_version() != 0) { + // bool deprecated = 7; + if (this->_internal_deprecated() != 0) { target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_version(), target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_deprecated(), target); } - // string text = 4; - if (!this->_internal_text().empty()) { + // bool preselect = 8; + if (this->_internal_preselect() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(8, this->_internal_preselect(), target); + } + + // .io.deephaven.proto.backplane.script.grpc.TextEdit text_edit = 9; + if (this->_internal_has_text_edit()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(9, _Internal::text_edit(this), + _Internal::text_edit(this).GetCachedSize(), target, stream); + } + + // string sort_text = 10; + if (!this->_internal_sort_text().empty()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_text().data(), static_cast(this->_internal_text().length()), + this->_internal_sort_text().data(), static_cast(this->_internal_sort_text().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "io.deephaven.proto.backplane.script.grpc.TextDocumentItem.text"); + "io.deephaven.proto.backplane.script.grpc.CompletionItem.sort_text"); target = stream->WriteStringMaybeAliased( - 4, this->_internal_text(), target); + 10, this->_internal_sort_text(), target); + } + + // string filter_text = 11; + if (!this->_internal_filter_text().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_filter_text().data(), static_cast(this->_internal_filter_text().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.CompletionItem.filter_text"); + target = stream->WriteStringMaybeAliased( + 11, this->_internal_filter_text(), target); + } + + // int32 insert_text_format = 12; + if (this->_internal_insert_text_format() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(12, this->_internal_insert_text_format(), target); + } + + // repeated .io.deephaven.proto.backplane.script.grpc.TextEdit additional_text_edits = 13; + for (unsigned i = 0, + n = static_cast(this->_internal_additional_text_edits_size()); i < n; i++) { + const auto& repfield = this->_internal_additional_text_edits(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(13, repfield, repfield.GetCachedSize(), target, stream); + } + + // repeated string commit_characters = 14; + for (int i = 0, n = this->_internal_commit_characters_size(); i < n; i++) { + const auto& s = this->_internal_commit_characters(i); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast(s.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters"); + target = stream->WriteString(14, s, target); + } + + // .io.deephaven.proto.backplane.script.grpc.MarkupContent documentation = 15; + if (this->_internal_has_documentation()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(15, _Internal::documentation(this), + _Internal::documentation(this).GetCachedSize(), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.CompletionItem) return target; } -size_t TextDocumentItem::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) +size_t CompletionItem::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.CompletionItem) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // string uri = 1; - if (!this->_internal_uri().empty()) { + // repeated .io.deephaven.proto.backplane.script.grpc.TextEdit additional_text_edits = 13; + total_size += 1UL * this->_internal_additional_text_edits_size(); + for (const auto& msg : this->additional_text_edits_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // repeated string commit_characters = 14; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(commit_characters_.size()); + for (int i = 0, n = commit_characters_.size(); i < n; i++) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + commit_characters_.Get(i)); + } + + // string label = 3; + if (!this->_internal_label().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_uri()); + this->_internal_label()); } - // string language_id = 2; - if (!this->_internal_language_id().empty()) { + // string detail = 5; + if (!this->_internal_detail().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_language_id()); + this->_internal_detail()); } - // string text = 4; - if (!this->_internal_text().empty()) { + // string sort_text = 10; + if (!this->_internal_sort_text().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_text()); + this->_internal_sort_text()); } - // int32 version = 3; - if (this->_internal_version() != 0) { - total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_version()); + // string filter_text = 11; + if (!this->_internal_filter_text().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_filter_text()); + } + + // .io.deephaven.proto.backplane.script.grpc.TextEdit text_edit = 9; + if (this->_internal_has_text_edit()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *text_edit_); + } + + // .io.deephaven.proto.backplane.script.grpc.MarkupContent documentation = 15; + if (this->_internal_has_documentation()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *documentation_); + } + + // int32 start = 1; + if (this->_internal_start() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_start()); + } + + // int32 length = 2; + if (this->_internal_length() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_length()); + } + + // int32 kind = 4; + if (this->_internal_kind() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_kind()); + } + + // bool deprecated = 7; + if (this->_internal_deprecated() != 0) { + total_size += 1 + 1; + } + + // bool preselect = 8; + if (this->_internal_preselect() != 0) { + total_size += 1 + 1; + } + + // int32 insert_text_format = 12; + if (this->_internal_insert_text_format() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_insert_text_format()); } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TextDocumentItem::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CompletionItem::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - TextDocumentItem::MergeImpl + CompletionItem::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TextDocumentItem::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CompletionItem::GetClassData() const { return &_class_data_; } -void TextDocumentItem::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void CompletionItem::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void TextDocumentItem::MergeFrom(const TextDocumentItem& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) +void CompletionItem::MergeFrom(const CompletionItem& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.CompletionItem) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (!from._internal_uri().empty()) { - _internal_set_uri(from._internal_uri()); + additional_text_edits_.MergeFrom(from.additional_text_edits_); + commit_characters_.MergeFrom(from.commit_characters_); + if (!from._internal_label().empty()) { + _internal_set_label(from._internal_label()); } - if (!from._internal_language_id().empty()) { - _internal_set_language_id(from._internal_language_id()); + if (!from._internal_detail().empty()) { + _internal_set_detail(from._internal_detail()); } - if (!from._internal_text().empty()) { - _internal_set_text(from._internal_text()); + if (!from._internal_sort_text().empty()) { + _internal_set_sort_text(from._internal_sort_text()); + } + if (!from._internal_filter_text().empty()) { + _internal_set_filter_text(from._internal_filter_text()); + } + if (from._internal_has_text_edit()) { + _internal_mutable_text_edit()->::io::deephaven::proto::backplane::script::grpc::TextEdit::MergeFrom(from._internal_text_edit()); + } + if (from._internal_has_documentation()) { + _internal_mutable_documentation()->::io::deephaven::proto::backplane::script::grpc::MarkupContent::MergeFrom(from._internal_documentation()); + } + if (from._internal_start() != 0) { + _internal_set_start(from._internal_start()); + } + if (from._internal_length() != 0) { + _internal_set_length(from._internal_length()); + } + if (from._internal_kind() != 0) { + _internal_set_kind(from._internal_kind()); + } + if (from._internal_deprecated() != 0) { + _internal_set_deprecated(from._internal_deprecated()); + } + if (from._internal_preselect() != 0) { + _internal_set_preselect(from._internal_preselect()); } - if (from._internal_version() != 0) { - _internal_set_version(from._internal_version()); + if (from._internal_insert_text_format() != 0) { + _internal_set_insert_text_format(from._internal_insert_text_format()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void TextDocumentItem::CopyFrom(const TextDocumentItem& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) +void CompletionItem::CopyFrom(const CompletionItem& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.CompletionItem) if (&from == this) return; Clear(); MergeFrom(from); } -bool TextDocumentItem::IsInitialized() const { +bool CompletionItem::IsInitialized() const { return true; } -void TextDocumentItem::InternalSwap(TextDocumentItem* other) { +void CompletionItem::InternalSwap(CompletionItem* other) { using std::swap; auto* lhs_arena = GetArenaForAllocation(); auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); + additional_text_edits_.InternalSwap(&other->additional_text_edits_); + commit_characters_.InternalSwap(&other->commit_characters_); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &uri_, lhs_arena, - &other->uri_, rhs_arena + &label_, lhs_arena, + &other->label_, rhs_arena ); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &language_id_, lhs_arena, - &other->language_id_, rhs_arena + &detail_, lhs_arena, + &other->detail_, rhs_arena ); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &text_, lhs_arena, - &other->text_, rhs_arena + &sort_text_, lhs_arena, + &other->sort_text_, rhs_arena ); - swap(version_, other->version_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &filter_text_, lhs_arena, + &other->filter_text_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(CompletionItem, insert_text_format_) + + sizeof(CompletionItem::insert_text_format_) + - PROTOBUF_FIELD_OFFSET(CompletionItem, text_edit_)>( + reinterpret_cast(&text_edit_), + reinterpret_cast(&other->text_edit_)); } -::PROTOBUF_NAMESPACE_ID::Metadata TextDocumentItem::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata CompletionItem::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[18]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[31]); } // =================================================================== -class CloseDocumentRequest::_Internal { +class TextEdit::_Internal { public: - static const ::io::deephaven::proto::backplane::grpc::Ticket& console_id(const CloseDocumentRequest* msg); - static const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& text_document(const CloseDocumentRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& range(const TextEdit* msg); }; -const ::io::deephaven::proto::backplane::grpc::Ticket& -CloseDocumentRequest::_Internal::console_id(const CloseDocumentRequest* msg) { - return *msg->console_id_; -} -const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& -CloseDocumentRequest::_Internal::text_document(const CloseDocumentRequest* msg) { - return *msg->text_document_; -} -void CloseDocumentRequest::clear_console_id() { - if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { - delete console_id_; - } - console_id_ = nullptr; +const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& +TextEdit::_Internal::range(const TextEdit* msg) { + return *msg->range_; } -CloseDocumentRequest::CloseDocumentRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, +TextEdit::TextEdit(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(); - // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.TextEdit) } -CloseDocumentRequest::CloseDocumentRequest(const CloseDocumentRequest& from) +TextEdit::TextEdit(const TextEdit& from) : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_console_id()) { - console_id_ = new ::io::deephaven::proto::backplane::grpc::Ticket(*from.console_id_); - } else { - console_id_ = nullptr; + text_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + text_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_text().empty()) { + text_.Set(from._internal_text(), + GetArenaForAllocation()); } - if (from._internal_has_text_document()) { - text_document_ = new ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier(*from.text_document_); + if (from._internal_has_range()) { + range_ = new ::io::deephaven::proto::backplane::script::grpc::DocumentRange(*from.range_); } else { - text_document_ = nullptr; + range_ = nullptr; } - // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.TextEdit) } -inline void CloseDocumentRequest::SharedCtor() { -::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&console_id_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&text_document_) - - reinterpret_cast(&console_id_)) + sizeof(text_document_)); +inline void TextEdit::SharedCtor() { +text_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + text_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +range_ = nullptr; } -CloseDocumentRequest::~CloseDocumentRequest() { - // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) +TextEdit::~TextEdit() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.TextEdit) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -5700,52 +10179,51 @@ CloseDocumentRequest::~CloseDocumentRequest() { SharedDtor(); } -inline void CloseDocumentRequest::SharedDtor() { +inline void TextEdit::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete console_id_; - if (this != internal_default_instance()) delete text_document_; + text_.Destroy(); + if (this != internal_default_instance()) delete range_; } -void CloseDocumentRequest::SetCachedSize(int size) const { +void TextEdit::SetCachedSize(int size) const { _cached_size_.Set(size); } -void CloseDocumentRequest::Clear() { -// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) +void TextEdit::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.TextEdit) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { - delete console_id_; - } - console_id_ = nullptr; - if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { - delete text_document_; + text_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && range_ != nullptr) { + delete range_; } - text_document_ = nullptr; + range_ = nullptr; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* CloseDocumentRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* TextEdit::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; + // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_console_id(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_range(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; + // string text = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_text_document(), ptr); + auto str = _internal_mutable_text(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.TextEdit.text")); } else goto handle_unusual; continue; @@ -5772,165 +10250,176 @@ const char* CloseDocumentRequest::_InternalParse(const char* ptr, ::_pbi::ParseC #undef CHK_ } -uint8_t* CloseDocumentRequest::_InternalSerialize( +uint8_t* TextEdit::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.TextEdit) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; - if (this->_internal_has_console_id()) { + // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; + if (this->_internal_has_range()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, _Internal::console_id(this), - _Internal::console_id(this).GetCachedSize(), target, stream); + InternalWriteMessage(1, _Internal::range(this), + _Internal::range(this).GetCachedSize(), target, stream); } - // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; - if (this->_internal_has_text_document()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(2, _Internal::text_document(this), - _Internal::text_document(this).GetCachedSize(), target, stream); + // string text = 2; + if (!this->_internal_text().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_text().data(), static_cast(this->_internal_text().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.TextEdit.text"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_text(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.TextEdit) return target; } -size_t CloseDocumentRequest::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) +size_t TextEdit::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.TextEdit) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; - if (this->_internal_has_console_id()) { + // string text = 2; + if (!this->_internal_text().empty()) { total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *console_id_); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_text()); } - // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; - if (this->_internal_has_text_document()) { + // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; + if (this->_internal_has_range()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *text_document_); + *range_); } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CloseDocumentRequest::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TextEdit::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - CloseDocumentRequest::MergeImpl + TextEdit::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CloseDocumentRequest::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TextEdit::GetClassData() const { return &_class_data_; } -void CloseDocumentRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void TextEdit::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void CloseDocumentRequest::MergeFrom(const CloseDocumentRequest& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) +void TextEdit::MergeFrom(const TextEdit& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.TextEdit) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (from._internal_has_console_id()) { - _internal_mutable_console_id()->::io::deephaven::proto::backplane::grpc::Ticket::MergeFrom(from._internal_console_id()); + if (!from._internal_text().empty()) { + _internal_set_text(from._internal_text()); } - if (from._internal_has_text_document()) { - _internal_mutable_text_document()->::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier::MergeFrom(from._internal_text_document()); + if (from._internal_has_range()) { + _internal_mutable_range()->::io::deephaven::proto::backplane::script::grpc::DocumentRange::MergeFrom(from._internal_range()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void CloseDocumentRequest::CopyFrom(const CloseDocumentRequest& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) +void TextEdit::CopyFrom(const TextEdit& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.TextEdit) if (&from == this) return; Clear(); MergeFrom(from); } -bool CloseDocumentRequest::IsInitialized() const { +bool TextEdit::IsInitialized() const { return true; } -void CloseDocumentRequest::InternalSwap(CloseDocumentRequest* other) { +void TextEdit::InternalSwap(TextEdit* other) { using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(CloseDocumentRequest, text_document_) - + sizeof(CloseDocumentRequest::text_document_) - - PROTOBUF_FIELD_OFFSET(CloseDocumentRequest, console_id_)>( - reinterpret_cast(&console_id_), - reinterpret_cast(&other->console_id_)); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &text_, lhs_arena, + &other->text_, rhs_arena + ); + swap(range_, other->range_); } -::PROTOBUF_NAMESPACE_ID::Metadata CloseDocumentRequest::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata TextEdit::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[19]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[32]); } // =================================================================== -class ChangeDocumentRequest_TextDocumentContentChangeEvent::_Internal { +class GetSignatureHelpRequest::_Internal { public: - static const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& range(const ChangeDocumentRequest_TextDocumentContentChangeEvent* msg); + static const ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext& context(const GetSignatureHelpRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& text_document(const GetSignatureHelpRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::Position& position(const GetSignatureHelpRequest* msg); }; -const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& -ChangeDocumentRequest_TextDocumentContentChangeEvent::_Internal::range(const ChangeDocumentRequest_TextDocumentContentChangeEvent* msg) { - return *msg->range_; +const ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext& +GetSignatureHelpRequest::_Internal::context(const GetSignatureHelpRequest* msg) { + return *msg->context_; } -ChangeDocumentRequest_TextDocumentContentChangeEvent::ChangeDocumentRequest_TextDocumentContentChangeEvent(::PROTOBUF_NAMESPACE_ID::Arena* arena, +const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& +GetSignatureHelpRequest::_Internal::text_document(const GetSignatureHelpRequest* msg) { + return *msg->text_document_; +} +const ::io::deephaven::proto::backplane::script::grpc::Position& +GetSignatureHelpRequest::_Internal::position(const GetSignatureHelpRequest* msg) { + return *msg->position_; +} +GetSignatureHelpRequest::GetSignatureHelpRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(); - // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest) } -ChangeDocumentRequest_TextDocumentContentChangeEvent::ChangeDocumentRequest_TextDocumentContentChangeEvent(const ChangeDocumentRequest_TextDocumentContentChangeEvent& from) +GetSignatureHelpRequest::GetSignatureHelpRequest(const GetSignatureHelpRequest& from) : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - text_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - text_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_text().empty()) { - text_.Set(from._internal_text(), - GetArenaForAllocation()); + if (from._internal_has_context()) { + context_ = new ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext(*from.context_); + } else { + context_ = nullptr; } - if (from._internal_has_range()) { - range_ = new ::io::deephaven::proto::backplane::script::grpc::DocumentRange(*from.range_); + if (from._internal_has_text_document()) { + text_document_ = new ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier(*from.text_document_); } else { - range_ = nullptr; + text_document_ = nullptr; } - range_length_ = from.range_length_; - // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) + if (from._internal_has_position()) { + position_ = new ::io::deephaven::proto::backplane::script::grpc::Position(*from.position_); + } else { + position_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest) } -inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::SharedCtor() { -text_.InitDefault(); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - text_.Set("", GetArenaForAllocation()); -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +inline void GetSignatureHelpRequest::SharedCtor() { ::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&range_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&range_length_) - - reinterpret_cast(&range_)) + sizeof(range_length_)); + reinterpret_cast(&context_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&position_) - + reinterpret_cast(&context_)) + sizeof(position_)); } -ChangeDocumentRequest_TextDocumentContentChangeEvent::~ChangeDocumentRequest_TextDocumentContentChangeEvent() { - // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) +GetSignatureHelpRequest::~GetSignatureHelpRequest() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -5938,60 +10427,65 @@ ChangeDocumentRequest_TextDocumentContentChangeEvent::~ChangeDocumentRequest_Tex SharedDtor(); } -inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::SharedDtor() { +inline void GetSignatureHelpRequest::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - text_.Destroy(); - if (this != internal_default_instance()) delete range_; + if (this != internal_default_instance()) delete context_; + if (this != internal_default_instance()) delete text_document_; + if (this != internal_default_instance()) delete position_; } -void ChangeDocumentRequest_TextDocumentContentChangeEvent::SetCachedSize(int size) const { +void GetSignatureHelpRequest::SetCachedSize(int size) const { _cached_size_.Set(size); } -void ChangeDocumentRequest_TextDocumentContentChangeEvent::Clear() { -// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) +void GetSignatureHelpRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - text_.ClearToEmpty(); - if (GetArenaForAllocation() == nullptr && range_ != nullptr) { - delete range_; + if (GetArenaForAllocation() == nullptr && context_ != nullptr) { + delete context_; } - range_ = nullptr; - range_length_ = 0; + context_ = nullptr; + if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { + delete text_document_; + } + text_document_ = nullptr; + if (GetArenaForAllocation() == nullptr && position_ != nullptr) { + delete position_; + } + position_ = nullptr; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* ChangeDocumentRequest_TextDocumentContentChangeEvent::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* GetSignatureHelpRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; + // .io.deephaven.proto.backplane.script.grpc.SignatureHelpContext context = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_range(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_context(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // int32 range_length = 2; + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - range_length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_text_document(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // string text = 3; + // .io.deephaven.proto.backplane.script.grpc.Position position = 3; case 3: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { - auto str = _internal_mutable_text(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + ptr = ctx->ParseMessage(_internal_mutable_position(), ptr); CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.text")); } else goto handle_unusual; continue; @@ -6018,193 +10512,189 @@ const char* ChangeDocumentRequest_TextDocumentContentChangeEvent::_InternalParse #undef CHK_ } -uint8_t* ChangeDocumentRequest_TextDocumentContentChangeEvent::_InternalSerialize( +uint8_t* GetSignatureHelpRequest::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; - if (this->_internal_has_range()) { + // .io.deephaven.proto.backplane.script.grpc.SignatureHelpContext context = 1; + if (this->_internal_has_context()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, _Internal::range(this), - _Internal::range(this).GetCachedSize(), target, stream); + InternalWriteMessage(1, _Internal::context(this), + _Internal::context(this).GetCachedSize(), target, stream); } - // int32 range_length = 2; - if (this->_internal_range_length() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_range_length(), target); + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; + if (this->_internal_has_text_document()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::text_document(this), + _Internal::text_document(this).GetCachedSize(), target, stream); } - // string text = 3; - if (!this->_internal_text().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_text().data(), static_cast(this->_internal_text().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.text"); - target = stream->WriteStringMaybeAliased( - 3, this->_internal_text(), target); + // .io.deephaven.proto.backplane.script.grpc.Position position = 3; + if (this->_internal_has_position()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, _Internal::position(this), + _Internal::position(this).GetCachedSize(), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest) return target; } -size_t ChangeDocumentRequest_TextDocumentContentChangeEvent::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) +size_t GetSignatureHelpRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // string text = 3; - if (!this->_internal_text().empty()) { + // .io.deephaven.proto.backplane.script.grpc.SignatureHelpContext context = 1; + if (this->_internal_has_context()) { total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_text()); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *context_); } - // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; - if (this->_internal_has_range()) { + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; + if (this->_internal_has_text_document()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *range_); + *text_document_); } - // int32 range_length = 2; - if (this->_internal_range_length() != 0) { - total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_range_length()); + // .io.deephaven.proto.backplane.script.grpc.Position position = 3; + if (this->_internal_has_position()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *position_); } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ChangeDocumentRequest_TextDocumentContentChangeEvent::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetSignatureHelpRequest::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - ChangeDocumentRequest_TextDocumentContentChangeEvent::MergeImpl + GetSignatureHelpRequest::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ChangeDocumentRequest_TextDocumentContentChangeEvent::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetSignatureHelpRequest::GetClassData() const { return &_class_data_; } -void ChangeDocumentRequest_TextDocumentContentChangeEvent::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void GetSignatureHelpRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void ChangeDocumentRequest_TextDocumentContentChangeEvent::MergeFrom(const ChangeDocumentRequest_TextDocumentContentChangeEvent& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) +void GetSignatureHelpRequest::MergeFrom(const GetSignatureHelpRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (!from._internal_text().empty()) { - _internal_set_text(from._internal_text()); + if (from._internal_has_context()) { + _internal_mutable_context()->::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext::MergeFrom(from._internal_context()); } - if (from._internal_has_range()) { - _internal_mutable_range()->::io::deephaven::proto::backplane::script::grpc::DocumentRange::MergeFrom(from._internal_range()); + if (from._internal_has_text_document()) { + _internal_mutable_text_document()->::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier::MergeFrom(from._internal_text_document()); } - if (from._internal_range_length() != 0) { - _internal_set_range_length(from._internal_range_length()); + if (from._internal_has_position()) { + _internal_mutable_position()->::io::deephaven::proto::backplane::script::grpc::Position::MergeFrom(from._internal_position()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void ChangeDocumentRequest_TextDocumentContentChangeEvent::CopyFrom(const ChangeDocumentRequest_TextDocumentContentChangeEvent& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) +void GetSignatureHelpRequest::CopyFrom(const GetSignatureHelpRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest) if (&from == this) return; Clear(); MergeFrom(from); } -bool ChangeDocumentRequest_TextDocumentContentChangeEvent::IsInitialized() const { +bool GetSignatureHelpRequest::IsInitialized() const { return true; } -void ChangeDocumentRequest_TextDocumentContentChangeEvent::InternalSwap(ChangeDocumentRequest_TextDocumentContentChangeEvent* other) { +void GetSignatureHelpRequest::InternalSwap(GetSignatureHelpRequest* other) { using std::swap; - auto* lhs_arena = GetArenaForAllocation(); - auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &text_, lhs_arena, - &other->text_, rhs_arena - ); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(ChangeDocumentRequest_TextDocumentContentChangeEvent, range_length_) - + sizeof(ChangeDocumentRequest_TextDocumentContentChangeEvent::range_length_) - - PROTOBUF_FIELD_OFFSET(ChangeDocumentRequest_TextDocumentContentChangeEvent, range_)>( - reinterpret_cast(&range_), - reinterpret_cast(&other->range_)); + PROTOBUF_FIELD_OFFSET(GetSignatureHelpRequest, position_) + + sizeof(GetSignatureHelpRequest::position_) + - PROTOBUF_FIELD_OFFSET(GetSignatureHelpRequest, context_)>( + reinterpret_cast(&context_), + reinterpret_cast(&other->context_)); } -::PROTOBUF_NAMESPACE_ID::Metadata ChangeDocumentRequest_TextDocumentContentChangeEvent::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata GetSignatureHelpRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[20]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[33]); } // =================================================================== -class ChangeDocumentRequest::_Internal { +class SignatureHelpContext::_Internal { public: - static const ::io::deephaven::proto::backplane::grpc::Ticket& console_id(const ChangeDocumentRequest* msg); - static const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& text_document(const ChangeDocumentRequest* msg); + using HasBits = decltype(std::declval()._has_bits_); + static void set_has_trigger_character(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } + static const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse& active_signature_help(const SignatureHelpContext* msg); }; -const ::io::deephaven::proto::backplane::grpc::Ticket& -ChangeDocumentRequest::_Internal::console_id(const ChangeDocumentRequest* msg) { - return *msg->console_id_; -} -const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& -ChangeDocumentRequest::_Internal::text_document(const ChangeDocumentRequest* msg) { - return *msg->text_document_; -} -void ChangeDocumentRequest::clear_console_id() { - if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { - delete console_id_; - } - console_id_ = nullptr; +const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse& +SignatureHelpContext::_Internal::active_signature_help(const SignatureHelpContext* msg) { + return *msg->active_signature_help_; } -ChangeDocumentRequest::ChangeDocumentRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, +SignatureHelpContext::SignatureHelpContext(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - content_changes_(arena) { + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(); - // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext) } -ChangeDocumentRequest::ChangeDocumentRequest(const ChangeDocumentRequest& from) +SignatureHelpContext::SignatureHelpContext(const SignatureHelpContext& from) : ::PROTOBUF_NAMESPACE_ID::Message(), - content_changes_(from.content_changes_) { + _has_bits_(from._has_bits_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_console_id()) { - console_id_ = new ::io::deephaven::proto::backplane::grpc::Ticket(*from.console_id_); - } else { - console_id_ = nullptr; + trigger_character_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + trigger_character_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_trigger_character()) { + trigger_character_.Set(from._internal_trigger_character(), + GetArenaForAllocation()); } - if (from._internal_has_text_document()) { - text_document_ = new ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier(*from.text_document_); + if (from._internal_has_active_signature_help()) { + active_signature_help_ = new ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse(*from.active_signature_help_); } else { - text_document_ = nullptr; + active_signature_help_ = nullptr; } - // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) + ::memcpy(&trigger_kind_, &from.trigger_kind_, + static_cast(reinterpret_cast(&is_retrigger_) - + reinterpret_cast(&trigger_kind_)) + sizeof(is_retrigger_)); + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext) } -inline void ChangeDocumentRequest::SharedCtor() { +inline void SignatureHelpContext::SharedCtor() { +trigger_character_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + trigger_character_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING ::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&console_id_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&text_document_) - - reinterpret_cast(&console_id_)) + sizeof(text_document_)); + reinterpret_cast(&active_signature_help_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&is_retrigger_) - + reinterpret_cast(&active_signature_help_)) + sizeof(is_retrigger_)); } -ChangeDocumentRequest::~ChangeDocumentRequest() { - // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) +SignatureHelpContext::~SignatureHelpContext() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -6212,66 +10702,75 @@ ChangeDocumentRequest::~ChangeDocumentRequest() { SharedDtor(); } -inline void ChangeDocumentRequest::SharedDtor() { +inline void SignatureHelpContext::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete console_id_; - if (this != internal_default_instance()) delete text_document_; + trigger_character_.Destroy(); + if (this != internal_default_instance()) delete active_signature_help_; } -void ChangeDocumentRequest::SetCachedSize(int size) const { +void SignatureHelpContext::SetCachedSize(int size) const { _cached_size_.Set(size); } -void ChangeDocumentRequest::Clear() { -// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) +void SignatureHelpContext::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - content_changes_.Clear(); - if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { - delete console_id_; + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + trigger_character_.ClearNonDefaultToEmpty(); } - console_id_ = nullptr; - if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { - delete text_document_; + if (GetArenaForAllocation() == nullptr && active_signature_help_ != nullptr) { + delete active_signature_help_; } - text_document_ = nullptr; + active_signature_help_ = nullptr; + ::memset(&trigger_kind_, 0, static_cast( + reinterpret_cast(&is_retrigger_) - + reinterpret_cast(&trigger_kind_)) + sizeof(is_retrigger_)); + _has_bits_.Clear(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* ChangeDocumentRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* SignatureHelpContext::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + _Internal::HasBits has_bits{}; while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; + // int32 trigger_kind = 1; case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_console_id(), ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { + trigger_kind_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); CHK_(ptr); } else goto handle_unusual; continue; - // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; + // optional string trigger_character = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_text_document(), ptr); + auto str = _internal_mutable_trigger_character(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.trigger_character")); } else goto handle_unusual; continue; - // repeated .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent content_changes = 3; + // bool is_retrigger = 3; case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_content_changes(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr)); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + is_retrigger_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse active_signature_help = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + ptr = ctx->ParseMessage(_internal_mutable_active_signature_help(), ptr); + CHK_(ptr); } else goto handle_unusual; continue; @@ -6291,6 +10790,7 @@ const char* ChangeDocumentRequest::_InternalParse(const char* ptr, ::_pbi::Parse CHK_(ptr != nullptr); } // while message_done: + _has_bits_.Or(has_bits); return ptr; failure: ptr = nullptr; @@ -6298,179 +10798,194 @@ const char* ChangeDocumentRequest::_InternalParse(const char* ptr, ::_pbi::Parse #undef CHK_ } -uint8_t* ChangeDocumentRequest::_InternalSerialize( +uint8_t* SignatureHelpContext::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; - if (this->_internal_has_console_id()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, _Internal::console_id(this), - _Internal::console_id(this).GetCachedSize(), target, stream); + // int32 trigger_kind = 1; + if (this->_internal_trigger_kind() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_trigger_kind(), target); } - // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; - if (this->_internal_has_text_document()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(2, _Internal::text_document(this), - _Internal::text_document(this).GetCachedSize(), target, stream); + // optional string trigger_character = 2; + if (_internal_has_trigger_character()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_trigger_character().data(), static_cast(this->_internal_trigger_character().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.trigger_character"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_trigger_character(), target); } - // repeated .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent content_changes = 3; - for (unsigned i = 0, - n = static_cast(this->_internal_content_changes_size()); i < n; i++) { - const auto& repfield = this->_internal_content_changes(i); + // bool is_retrigger = 3; + if (this->_internal_is_retrigger() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_is_retrigger(), target); + } + + // .io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse active_signature_help = 4; + if (this->_internal_has_active_signature_help()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream); + InternalWriteMessage(4, _Internal::active_signature_help(this), + _Internal::active_signature_help(this).GetCachedSize(), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext) return target; } -size_t ChangeDocumentRequest::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) +size_t SignatureHelpContext::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent content_changes = 3; - total_size += 1UL * this->_internal_content_changes_size(); - for (const auto& msg : this->content_changes_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + // optional string trigger_character = 2; + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_trigger_character()); } - // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; - if (this->_internal_has_console_id()) { + // .io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse active_signature_help = 4; + if (this->_internal_has_active_signature_help()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *console_id_); + *active_signature_help_); } - // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; - if (this->_internal_has_text_document()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *text_document_); + // int32 trigger_kind = 1; + if (this->_internal_trigger_kind() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_trigger_kind()); + } + + // bool is_retrigger = 3; + if (this->_internal_is_retrigger() != 0) { + total_size += 1 + 1; } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ChangeDocumentRequest::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SignatureHelpContext::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - ChangeDocumentRequest::MergeImpl + SignatureHelpContext::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ChangeDocumentRequest::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SignatureHelpContext::GetClassData() const { return &_class_data_; } -void ChangeDocumentRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void SignatureHelpContext::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void ChangeDocumentRequest::MergeFrom(const ChangeDocumentRequest& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) +void SignatureHelpContext::MergeFrom(const SignatureHelpContext& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - content_changes_.MergeFrom(from.content_changes_); - if (from._internal_has_console_id()) { - _internal_mutable_console_id()->::io::deephaven::proto::backplane::grpc::Ticket::MergeFrom(from._internal_console_id()); + if (from._internal_has_trigger_character()) { + _internal_set_trigger_character(from._internal_trigger_character()); } - if (from._internal_has_text_document()) { - _internal_mutable_text_document()->::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier::MergeFrom(from._internal_text_document()); + if (from._internal_has_active_signature_help()) { + _internal_mutable_active_signature_help()->::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse::MergeFrom(from._internal_active_signature_help()); + } + if (from._internal_trigger_kind() != 0) { + _internal_set_trigger_kind(from._internal_trigger_kind()); + } + if (from._internal_is_retrigger() != 0) { + _internal_set_is_retrigger(from._internal_is_retrigger()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void ChangeDocumentRequest::CopyFrom(const ChangeDocumentRequest& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) +void SignatureHelpContext::CopyFrom(const SignatureHelpContext& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext) if (&from == this) return; Clear(); MergeFrom(from); } -bool ChangeDocumentRequest::IsInitialized() const { +bool SignatureHelpContext::IsInitialized() const { return true; } -void ChangeDocumentRequest::InternalSwap(ChangeDocumentRequest* other) { +void SignatureHelpContext::InternalSwap(SignatureHelpContext* other) { using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); - content_changes_.InternalSwap(&other->content_changes_); + swap(_has_bits_[0], other->_has_bits_[0]); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &trigger_character_, lhs_arena, + &other->trigger_character_, rhs_arena + ); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(ChangeDocumentRequest, text_document_) - + sizeof(ChangeDocumentRequest::text_document_) - - PROTOBUF_FIELD_OFFSET(ChangeDocumentRequest, console_id_)>( - reinterpret_cast(&console_id_), - reinterpret_cast(&other->console_id_)); + PROTOBUF_FIELD_OFFSET(SignatureHelpContext, is_retrigger_) + + sizeof(SignatureHelpContext::is_retrigger_) + - PROTOBUF_FIELD_OFFSET(SignatureHelpContext, active_signature_help_)>( + reinterpret_cast(&active_signature_help_), + reinterpret_cast(&other->active_signature_help_)); } -::PROTOBUF_NAMESPACE_ID::Metadata ChangeDocumentRequest::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata SignatureHelpContext::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[21]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[34]); } // =================================================================== -class DocumentRange::_Internal { +class GetSignatureHelpResponse::_Internal { public: - static const ::io::deephaven::proto::backplane::script::grpc::Position& start(const DocumentRange* msg); - static const ::io::deephaven::proto::backplane::script::grpc::Position& end(const DocumentRange* msg); + using HasBits = decltype(std::declval()._has_bits_); + static void set_has_active_signature(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } + static void set_has_active_parameter(HasBits* has_bits) { + (*has_bits)[0] |= 2u; + } }; -const ::io::deephaven::proto::backplane::script::grpc::Position& -DocumentRange::_Internal::start(const DocumentRange* msg) { - return *msg->start_; -} -const ::io::deephaven::proto::backplane::script::grpc::Position& -DocumentRange::_Internal::end(const DocumentRange* msg) { - return *msg->end_; -} -DocumentRange::DocumentRange(::PROTOBUF_NAMESPACE_ID::Arena* arena, +GetSignatureHelpResponse::GetSignatureHelpResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + signatures_(arena) { SharedCtor(); - // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.DocumentRange) + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse) } -DocumentRange::DocumentRange(const DocumentRange& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { +GetSignatureHelpResponse::GetSignatureHelpResponse(const GetSignatureHelpResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + _has_bits_(from._has_bits_), + signatures_(from.signatures_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_start()) { - start_ = new ::io::deephaven::proto::backplane::script::grpc::Position(*from.start_); - } else { - start_ = nullptr; - } - if (from._internal_has_end()) { - end_ = new ::io::deephaven::proto::backplane::script::grpc::Position(*from.end_); - } else { - end_ = nullptr; - } - // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.DocumentRange) + ::memcpy(&active_signature_, &from.active_signature_, + static_cast(reinterpret_cast(&active_parameter_) - + reinterpret_cast(&active_signature_)) + sizeof(active_parameter_)); + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse) } -inline void DocumentRange::SharedCtor() { +inline void GetSignatureHelpResponse::SharedCtor() { ::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&start_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&end_) - - reinterpret_cast(&start_)) + sizeof(end_)); + reinterpret_cast(&active_signature_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&active_parameter_) - + reinterpret_cast(&active_signature_)) + sizeof(active_parameter_)); } -DocumentRange::~DocumentRange() { - // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.DocumentRange) +GetSignatureHelpResponse::~GetSignatureHelpResponse() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -6478,51 +10993,65 @@ DocumentRange::~DocumentRange() { SharedDtor(); } -inline void DocumentRange::SharedDtor() { +inline void GetSignatureHelpResponse::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete start_; - if (this != internal_default_instance()) delete end_; } -void DocumentRange::SetCachedSize(int size) const { +void GetSignatureHelpResponse::SetCachedSize(int size) const { _cached_size_.Set(size); } -void DocumentRange::Clear() { -// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.DocumentRange) +void GetSignatureHelpResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - if (GetArenaForAllocation() == nullptr && start_ != nullptr) { - delete start_; - } - start_ = nullptr; - if (GetArenaForAllocation() == nullptr && end_ != nullptr) { - delete end_; + signatures_.Clear(); + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + ::memset(&active_signature_, 0, static_cast( + reinterpret_cast(&active_parameter_) - + reinterpret_cast(&active_signature_)) + sizeof(active_parameter_)); } - end_ = nullptr; + _has_bits_.Clear(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* DocumentRange::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* GetSignatureHelpResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + _Internal::HasBits has_bits{}; while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // .io.deephaven.proto.backplane.script.grpc.Position start = 1; + // repeated .io.deephaven.proto.backplane.script.grpc.SignatureInformation signatures = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_start(), ptr); - CHK_(ptr); + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_signatures(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); } else goto handle_unusual; continue; - // .io.deephaven.proto.backplane.script.grpc.Position end = 2; + // optional int32 active_signature = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_end(), ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + _Internal::set_has_active_signature(&has_bits); + active_signature_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // optional int32 active_parameter = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { + _Internal::set_has_active_parameter(&has_bits); + active_parameter_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); CHK_(ptr); } else goto handle_unusual; @@ -6543,6 +11072,7 @@ const char* DocumentRange::_InternalParse(const char* ptr, ::_pbi::ParseContext* CHK_(ptr != nullptr); } // while message_done: + _has_bits_.Or(has_bits); return ptr; failure: ptr = nullptr; @@ -6550,152 +11080,191 @@ const char* DocumentRange::_InternalParse(const char* ptr, ::_pbi::ParseContext* #undef CHK_ } -uint8_t* DocumentRange::_InternalSerialize( +uint8_t* GetSignatureHelpResponse::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.DocumentRange) + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .io.deephaven.proto.backplane.script.grpc.Position start = 1; - if (this->_internal_has_start()) { + // repeated .io.deephaven.proto.backplane.script.grpc.SignatureInformation signatures = 1; + for (unsigned i = 0, + n = static_cast(this->_internal_signatures_size()); i < n; i++) { + const auto& repfield = this->_internal_signatures(i); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, _Internal::start(this), - _Internal::start(this).GetCachedSize(), target, stream); + InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream); } - // .io.deephaven.proto.backplane.script.grpc.Position end = 2; - if (this->_internal_has_end()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(2, _Internal::end(this), - _Internal::end(this).GetCachedSize(), target, stream); + // optional int32 active_signature = 2; + if (_internal_has_active_signature()) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_active_signature(), target); + } + + // optional int32 active_parameter = 3; + if (_internal_has_active_parameter()) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(3, this->_internal_active_parameter(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.DocumentRange) + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse) return target; } -size_t DocumentRange::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.DocumentRange) +size_t GetSignatureHelpResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // .io.deephaven.proto.backplane.script.grpc.Position start = 1; - if (this->_internal_has_start()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *start_); + // repeated .io.deephaven.proto.backplane.script.grpc.SignatureInformation signatures = 1; + total_size += 1UL * this->_internal_signatures_size(); + for (const auto& msg : this->signatures_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); } - // .io.deephaven.proto.backplane.script.grpc.Position end = 2; - if (this->_internal_has_end()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *end_); - } + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + // optional int32 active_signature = 2; + if (cached_has_bits & 0x00000001u) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_active_signature()); + } + + // optional int32 active_parameter = 3; + if (cached_has_bits & 0x00000002u) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_active_parameter()); + } + } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData DocumentRange::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetSignatureHelpResponse::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - DocumentRange::MergeImpl + GetSignatureHelpResponse::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*DocumentRange::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetSignatureHelpResponse::GetClassData() const { return &_class_data_; } -void DocumentRange::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void GetSignatureHelpResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void DocumentRange::MergeFrom(const DocumentRange& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.DocumentRange) +void GetSignatureHelpResponse::MergeFrom(const GetSignatureHelpResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (from._internal_has_start()) { - _internal_mutable_start()->::io::deephaven::proto::backplane::script::grpc::Position::MergeFrom(from._internal_start()); - } - if (from._internal_has_end()) { - _internal_mutable_end()->::io::deephaven::proto::backplane::script::grpc::Position::MergeFrom(from._internal_end()); + signatures_.MergeFrom(from.signatures_); + cached_has_bits = from._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000001u) { + active_signature_ = from.active_signature_; + } + if (cached_has_bits & 0x00000002u) { + active_parameter_ = from.active_parameter_; + } + _has_bits_[0] |= cached_has_bits; } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void DocumentRange::CopyFrom(const DocumentRange& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.DocumentRange) +void GetSignatureHelpResponse::CopyFrom(const GetSignatureHelpResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse) if (&from == this) return; Clear(); MergeFrom(from); } -bool DocumentRange::IsInitialized() const { +bool GetSignatureHelpResponse::IsInitialized() const { return true; } -void DocumentRange::InternalSwap(DocumentRange* other) { +void GetSignatureHelpResponse::InternalSwap(GetSignatureHelpResponse* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_has_bits_[0], other->_has_bits_[0]); + signatures_.InternalSwap(&other->signatures_); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(DocumentRange, end_) - + sizeof(DocumentRange::end_) - - PROTOBUF_FIELD_OFFSET(DocumentRange, start_)>( - reinterpret_cast(&start_), - reinterpret_cast(&other->start_)); + PROTOBUF_FIELD_OFFSET(GetSignatureHelpResponse, active_parameter_) + + sizeof(GetSignatureHelpResponse::active_parameter_) + - PROTOBUF_FIELD_OFFSET(GetSignatureHelpResponse, active_signature_)>( + reinterpret_cast(&active_signature_), + reinterpret_cast(&other->active_signature_)); } -::PROTOBUF_NAMESPACE_ID::Metadata DocumentRange::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata GetSignatureHelpResponse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[22]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[35]); } // =================================================================== -class VersionedTextDocumentIdentifier::_Internal { +class SignatureInformation::_Internal { public: + using HasBits = decltype(std::declval()._has_bits_); + static const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& documentation(const SignatureInformation* msg); + static void set_has_active_parameter(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } }; -VersionedTextDocumentIdentifier::VersionedTextDocumentIdentifier(::PROTOBUF_NAMESPACE_ID::Arena* arena, +const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& +SignatureInformation::_Internal::documentation(const SignatureInformation* msg) { + return *msg->documentation_; +} +SignatureInformation::SignatureInformation(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + parameters_(arena) { SharedCtor(); - // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.SignatureInformation) } -VersionedTextDocumentIdentifier::VersionedTextDocumentIdentifier(const VersionedTextDocumentIdentifier& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { +SignatureInformation::SignatureInformation(const SignatureInformation& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + _has_bits_(from._has_bits_), + parameters_(from.parameters_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - uri_.InitDefault(); + label_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - uri_.Set("", GetArenaForAllocation()); + label_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_uri().empty()) { - uri_.Set(from._internal_uri(), + if (!from._internal_label().empty()) { + label_.Set(from._internal_label(), GetArenaForAllocation()); } - version_ = from.version_; - // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) + if (from._internal_has_documentation()) { + documentation_ = new ::io::deephaven::proto::backplane::script::grpc::MarkupContent(*from.documentation_); + } else { + documentation_ = nullptr; + } + active_parameter_ = from.active_parameter_; + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.SignatureInformation) } -inline void VersionedTextDocumentIdentifier::SharedCtor() { -uri_.InitDefault(); +inline void SignatureInformation::SharedCtor() { +label_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - uri_.Set("", GetArenaForAllocation()); + label_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -version_ = 0; +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&documentation_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&active_parameter_) - + reinterpret_cast(&documentation_)) + sizeof(active_parameter_)); } -VersionedTextDocumentIdentifier::~VersionedTextDocumentIdentifier() { - // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) +SignatureInformation::~SignatureInformation() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.SignatureInformation) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -6703,46 +11272,76 @@ VersionedTextDocumentIdentifier::~VersionedTextDocumentIdentifier() { SharedDtor(); } -inline void VersionedTextDocumentIdentifier::SharedDtor() { +inline void SignatureInformation::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - uri_.Destroy(); + label_.Destroy(); + if (this != internal_default_instance()) delete documentation_; } -void VersionedTextDocumentIdentifier::SetCachedSize(int size) const { +void SignatureInformation::SetCachedSize(int size) const { _cached_size_.Set(size); } -void VersionedTextDocumentIdentifier::Clear() { -// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) +void SignatureInformation::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.SignatureInformation) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - uri_.ClearToEmpty(); - version_ = 0; + parameters_.Clear(); + label_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && documentation_ != nullptr) { + delete documentation_; + } + documentation_ = nullptr; + active_parameter_ = 0; + _has_bits_.Clear(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* VersionedTextDocumentIdentifier::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* SignatureInformation::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + _Internal::HasBits has_bits{}; while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // string uri = 1; + // string label = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - auto str = _internal_mutable_uri(); + auto str = _internal_mutable_label(); ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.uri")); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.SignatureInformation.label")); } else goto handle_unusual; continue; - // int32 version = 2; + // .io.deephaven.proto.backplane.script.grpc.MarkupContent documentation = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_documentation(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // repeated .io.deephaven.proto.backplane.script.grpc.ParameterInformation parameters = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_parameters(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr)); + } else + goto handle_unusual; + continue; + // optional int32 active_parameter = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { + _Internal::set_has_active_parameter(&has_bits); + active_parameter_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); CHK_(ptr); } else goto handle_unusual; @@ -6763,6 +11362,7 @@ const char* VersionedTextDocumentIdentifier::_InternalParse(const char* ptr, ::_ CHK_(ptr != nullptr); } // while message_done: + _has_bits_.Or(has_bits); return ptr; failure: ptr = nullptr; @@ -6770,146 +11370,203 @@ const char* VersionedTextDocumentIdentifier::_InternalParse(const char* ptr, ::_ #undef CHK_ } -uint8_t* VersionedTextDocumentIdentifier::_InternalSerialize( +uint8_t* SignatureInformation::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.SignatureInformation) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // string uri = 1; - if (!this->_internal_uri().empty()) { + // string label = 1; + if (!this->_internal_label().empty()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_uri().data(), static_cast(this->_internal_uri().length()), + this->_internal_label().data(), static_cast(this->_internal_label().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.uri"); + "io.deephaven.proto.backplane.script.grpc.SignatureInformation.label"); target = stream->WriteStringMaybeAliased( - 1, this->_internal_uri(), target); + 1, this->_internal_label(), target); } - // int32 version = 2; - if (this->_internal_version() != 0) { + // .io.deephaven.proto.backplane.script.grpc.MarkupContent documentation = 2; + if (this->_internal_has_documentation()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::documentation(this), + _Internal::documentation(this).GetCachedSize(), target, stream); + } + + // repeated .io.deephaven.proto.backplane.script.grpc.ParameterInformation parameters = 3; + for (unsigned i = 0, + n = static_cast(this->_internal_parameters_size()); i < n; i++) { + const auto& repfield = this->_internal_parameters(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream); + } + + // optional int32 active_parameter = 4; + if (_internal_has_active_parameter()) { target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_version(), target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_active_parameter(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.SignatureInformation) return target; } -size_t VersionedTextDocumentIdentifier::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) +size_t SignatureInformation::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.SignatureInformation) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // string uri = 1; - if (!this->_internal_uri().empty()) { + // repeated .io.deephaven.proto.backplane.script.grpc.ParameterInformation parameters = 3; + total_size += 1UL * this->_internal_parameters_size(); + for (const auto& msg : this->parameters_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // string label = 1; + if (!this->_internal_label().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_uri()); + this->_internal_label()); } - // int32 version = 2; - if (this->_internal_version() != 0) { - total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_version()); + // .io.deephaven.proto.backplane.script.grpc.MarkupContent documentation = 2; + if (this->_internal_has_documentation()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *documentation_); + } + + // optional int32 active_parameter = 4; + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_active_parameter()); } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData VersionedTextDocumentIdentifier::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SignatureInformation::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - VersionedTextDocumentIdentifier::MergeImpl + SignatureInformation::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*VersionedTextDocumentIdentifier::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SignatureInformation::GetClassData() const { return &_class_data_; } -void VersionedTextDocumentIdentifier::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void SignatureInformation::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void VersionedTextDocumentIdentifier::MergeFrom(const VersionedTextDocumentIdentifier& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) +void SignatureInformation::MergeFrom(const SignatureInformation& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.SignatureInformation) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (!from._internal_uri().empty()) { - _internal_set_uri(from._internal_uri()); + parameters_.MergeFrom(from.parameters_); + if (!from._internal_label().empty()) { + _internal_set_label(from._internal_label()); } - if (from._internal_version() != 0) { - _internal_set_version(from._internal_version()); + if (from._internal_has_documentation()) { + _internal_mutable_documentation()->::io::deephaven::proto::backplane::script::grpc::MarkupContent::MergeFrom(from._internal_documentation()); + } + if (from._internal_has_active_parameter()) { + _internal_set_active_parameter(from._internal_active_parameter()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void VersionedTextDocumentIdentifier::CopyFrom(const VersionedTextDocumentIdentifier& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) +void SignatureInformation::CopyFrom(const SignatureInformation& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.SignatureInformation) if (&from == this) return; Clear(); MergeFrom(from); } -bool VersionedTextDocumentIdentifier::IsInitialized() const { +bool SignatureInformation::IsInitialized() const { return true; } -void VersionedTextDocumentIdentifier::InternalSwap(VersionedTextDocumentIdentifier* other) { +void SignatureInformation::InternalSwap(SignatureInformation* other) { using std::swap; auto* lhs_arena = GetArenaForAllocation(); auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_has_bits_[0], other->_has_bits_[0]); + parameters_.InternalSwap(&other->parameters_); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &uri_, lhs_arena, - &other->uri_, rhs_arena + &label_, lhs_arena, + &other->label_, rhs_arena ); - swap(version_, other->version_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(SignatureInformation, active_parameter_) + + sizeof(SignatureInformation::active_parameter_) + - PROTOBUF_FIELD_OFFSET(SignatureInformation, documentation_)>( + reinterpret_cast(&documentation_), + reinterpret_cast(&other->documentation_)); } -::PROTOBUF_NAMESPACE_ID::Metadata VersionedTextDocumentIdentifier::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata SignatureInformation::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[23]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[36]); } // =================================================================== -class Position::_Internal { +class ParameterInformation::_Internal { public: + static const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& documentation(const ParameterInformation* msg); }; -Position::Position(::PROTOBUF_NAMESPACE_ID::Arena* arena, +const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& +ParameterInformation::_Internal::documentation(const ParameterInformation* msg) { + return *msg->documentation_; +} +ParameterInformation::ParameterInformation(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(); - // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.Position) + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.ParameterInformation) } -Position::Position(const Position& from) +ParameterInformation::ParameterInformation(const ParameterInformation& from) : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - ::memcpy(&line_, &from.line_, - static_cast(reinterpret_cast(&character_) - - reinterpret_cast(&line_)) + sizeof(character_)); - // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.Position) + label_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + label_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_label().empty()) { + label_.Set(from._internal_label(), + GetArenaForAllocation()); + } + if (from._internal_has_documentation()) { + documentation_ = new ::io::deephaven::proto::backplane::script::grpc::MarkupContent(*from.documentation_); + } else { + documentation_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.ParameterInformation) } -inline void Position::SharedCtor() { -::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&line_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&character_) - - reinterpret_cast(&line_)) + sizeof(character_)); +inline void ParameterInformation::SharedCtor() { +label_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + label_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +documentation_ = nullptr; } -Position::~Position() { - // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.Position) +ParameterInformation::~ParameterInformation() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.ParameterInformation) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -6917,44 +11574,50 @@ Position::~Position() { SharedDtor(); } -inline void Position::SharedDtor() { +inline void ParameterInformation::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + label_.Destroy(); + if (this != internal_default_instance()) delete documentation_; } -void Position::SetCachedSize(int size) const { +void ParameterInformation::SetCachedSize(int size) const { _cached_size_.Set(size); } -void Position::Clear() { -// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.Position) +void ParameterInformation::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.ParameterInformation) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - ::memset(&line_, 0, static_cast( - reinterpret_cast(&character_) - - reinterpret_cast(&line_)) + sizeof(character_)); + label_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && documentation_ != nullptr) { + delete documentation_; + } + documentation_ = nullptr; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* Position::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* ParameterInformation::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // int32 line = 1; + // string label = 1; case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - line_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_label(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.ParameterInformation.label")); } else goto handle_unusual; continue; - // int32 character = 2; + // .io.deephaven.proto.backplane.script.grpc.MarkupContent documentation = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - character_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_documentation(), ptr); CHK_(ptr); } else goto handle_unusual; @@ -6982,160 +11645,144 @@ const char* Position::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) #undef CHK_ } -uint8_t* Position::_InternalSerialize( +uint8_t* ParameterInformation::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.Position) + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.ParameterInformation) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // int32 line = 1; - if (this->_internal_line() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_line(), target); + // string label = 1; + if (!this->_internal_label().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_label().data(), static_cast(this->_internal_label().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.ParameterInformation.label"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_label(), target); } - // int32 character = 2; - if (this->_internal_character() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_character(), target); + // .io.deephaven.proto.backplane.script.grpc.MarkupContent documentation = 2; + if (this->_internal_has_documentation()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::documentation(this), + _Internal::documentation(this).GetCachedSize(), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.Position) + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.ParameterInformation) return target; } -size_t Position::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.Position) +size_t ParameterInformation::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.ParameterInformation) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // int32 line = 1; - if (this->_internal_line() != 0) { - total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_line()); + // string label = 1; + if (!this->_internal_label().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_label()); } - // int32 character = 2; - if (this->_internal_character() != 0) { - total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_character()); + // .io.deephaven.proto.backplane.script.grpc.MarkupContent documentation = 2; + if (this->_internal_has_documentation()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *documentation_); } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Position::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ParameterInformation::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - Position::MergeImpl + ParameterInformation::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Position::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ParameterInformation::GetClassData() const { return &_class_data_; } -void Position::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void ParameterInformation::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void Position::MergeFrom(const Position& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.Position) +void ParameterInformation::MergeFrom(const ParameterInformation& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.ParameterInformation) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (from._internal_line() != 0) { - _internal_set_line(from._internal_line()); + if (!from._internal_label().empty()) { + _internal_set_label(from._internal_label()); } - if (from._internal_character() != 0) { - _internal_set_character(from._internal_character()); + if (from._internal_has_documentation()) { + _internal_mutable_documentation()->::io::deephaven::proto::backplane::script::grpc::MarkupContent::MergeFrom(from._internal_documentation()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void Position::CopyFrom(const Position& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.Position) +void ParameterInformation::CopyFrom(const ParameterInformation& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.ParameterInformation) if (&from == this) return; Clear(); MergeFrom(from); } -bool Position::IsInitialized() const { +bool ParameterInformation::IsInitialized() const { return true; } -void Position::InternalSwap(Position* other) { +void ParameterInformation::InternalSwap(ParameterInformation* other) { using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(Position, character_) - + sizeof(Position::character_) - - PROTOBUF_FIELD_OFFSET(Position, line_)>( - reinterpret_cast(&line_), - reinterpret_cast(&other->line_)); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &label_, lhs_arena, + &other->label_, rhs_arena + ); + swap(documentation_, other->documentation_); } -::PROTOBUF_NAMESPACE_ID::Metadata Position::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata ParameterInformation::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[24]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[37]); } // =================================================================== -class GetCompletionItemsRequest::_Internal { +class GetHoverRequest::_Internal { public: - static const ::io::deephaven::proto::backplane::grpc::Ticket& console_id(const GetCompletionItemsRequest* msg); - static const ::io::deephaven::proto::backplane::script::grpc::CompletionContext& context(const GetCompletionItemsRequest* msg); - static const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& text_document(const GetCompletionItemsRequest* msg); - static const ::io::deephaven::proto::backplane::script::grpc::Position& position(const GetCompletionItemsRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& text_document(const GetHoverRequest* msg); + static const ::io::deephaven::proto::backplane::script::grpc::Position& position(const GetHoverRequest* msg); }; -const ::io::deephaven::proto::backplane::grpc::Ticket& -GetCompletionItemsRequest::_Internal::console_id(const GetCompletionItemsRequest* msg) { - return *msg->console_id_; -} -const ::io::deephaven::proto::backplane::script::grpc::CompletionContext& -GetCompletionItemsRequest::_Internal::context(const GetCompletionItemsRequest* msg) { - return *msg->context_; -} const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& -GetCompletionItemsRequest::_Internal::text_document(const GetCompletionItemsRequest* msg) { +GetHoverRequest::_Internal::text_document(const GetHoverRequest* msg) { return *msg->text_document_; } const ::io::deephaven::proto::backplane::script::grpc::Position& -GetCompletionItemsRequest::_Internal::position(const GetCompletionItemsRequest* msg) { +GetHoverRequest::_Internal::position(const GetHoverRequest* msg) { return *msg->position_; } -void GetCompletionItemsRequest::clear_console_id() { - if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { - delete console_id_; - } - console_id_ = nullptr; -} -GetCompletionItemsRequest::GetCompletionItemsRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, +GetHoverRequest::GetHoverRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(); - // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.GetHoverRequest) } -GetCompletionItemsRequest::GetCompletionItemsRequest(const GetCompletionItemsRequest& from) +GetHoverRequest::GetHoverRequest(const GetHoverRequest& from) : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_console_id()) { - console_id_ = new ::io::deephaven::proto::backplane::grpc::Ticket(*from.console_id_); - } else { - console_id_ = nullptr; - } - if (from._internal_has_context()) { - context_ = new ::io::deephaven::proto::backplane::script::grpc::CompletionContext(*from.context_); - } else { - context_ = nullptr; - } if (from._internal_has_text_document()) { text_document_ = new ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier(*from.text_document_); } else { @@ -7146,19 +11793,18 @@ GetCompletionItemsRequest::GetCompletionItemsRequest(const GetCompletionItemsReq } else { position_ = nullptr; } - request_id_ = from.request_id_; - // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.GetHoverRequest) } -inline void GetCompletionItemsRequest::SharedCtor() { +inline void GetHoverRequest::SharedCtor() { ::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&console_id_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&request_id_) - - reinterpret_cast(&console_id_)) + sizeof(request_id_)); + reinterpret_cast(&text_document_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&position_) - + reinterpret_cast(&text_document_)) + sizeof(position_)); } -GetCompletionItemsRequest::~GetCompletionItemsRequest() { - // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) +GetHoverRequest::~GetHoverRequest() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.GetHoverRequest) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -7166,32 +11812,22 @@ GetCompletionItemsRequest::~GetCompletionItemsRequest() { SharedDtor(); } -inline void GetCompletionItemsRequest::SharedDtor() { +inline void GetHoverRequest::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete console_id_; - if (this != internal_default_instance()) delete context_; if (this != internal_default_instance()) delete text_document_; if (this != internal_default_instance()) delete position_; } -void GetCompletionItemsRequest::SetCachedSize(int size) const { +void GetHoverRequest::SetCachedSize(int size) const { _cached_size_.Set(size); } -void GetCompletionItemsRequest::Clear() { -// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) +void GetHoverRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.GetHoverRequest) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - if (GetArenaForAllocation() == nullptr && console_id_ != nullptr) { - delete console_id_; - } - console_id_ = nullptr; - if (GetArenaForAllocation() == nullptr && context_ != nullptr) { - delete context_; - } - context_ = nullptr; if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { delete text_document_; } @@ -7200,56 +11836,31 @@ void GetCompletionItemsRequest::Clear() { delete position_; } position_ = nullptr; - request_id_ = 0; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* GetCompletionItemsRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* GetHoverRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_console_id(), ptr); + ptr = ctx->ParseMessage(_internal_mutable_text_document(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // .io.deephaven.proto.backplane.script.grpc.CompletionContext context = 2; + // .io.deephaven.proto.backplane.script.grpc.Position position = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_context(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { - ptr = ctx->ParseMessage(_internal_mutable_text_document(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // .io.deephaven.proto.backplane.script.grpc.Position position = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { ptr = ctx->ParseMessage(_internal_mutable_position(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // int32 request_id = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 40)) { - request_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; default: goto handle_unusual; } // switch @@ -7273,200 +11884,162 @@ const char* GetCompletionItemsRequest::_InternalParse(const char* ptr, ::_pbi::P #undef CHK_ } -uint8_t* GetCompletionItemsRequest::_InternalSerialize( +uint8_t* GetHoverRequest::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.GetHoverRequest) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; - if (this->_internal_has_console_id()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, _Internal::console_id(this), - _Internal::console_id(this).GetCachedSize(), target, stream); - } - - // .io.deephaven.proto.backplane.script.grpc.CompletionContext context = 2; - if (this->_internal_has_context()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(2, _Internal::context(this), - _Internal::context(this).GetCachedSize(), target, stream); - } - - // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 3; + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 1; if (this->_internal_has_text_document()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(3, _Internal::text_document(this), + InternalWriteMessage(1, _Internal::text_document(this), _Internal::text_document(this).GetCachedSize(), target, stream); } - // .io.deephaven.proto.backplane.script.grpc.Position position = 4; + // .io.deephaven.proto.backplane.script.grpc.Position position = 2; if (this->_internal_has_position()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(4, _Internal::position(this), + InternalWriteMessage(2, _Internal::position(this), _Internal::position(this).GetCachedSize(), target, stream); } - // int32 request_id = 5; - if (this->_internal_request_id() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteInt32ToArray(5, this->_internal_request_id(), target); - } - if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.GetHoverRequest) return target; } -size_t GetCompletionItemsRequest::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) +size_t GetHoverRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.GetHoverRequest) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; - if (this->_internal_has_console_id()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *console_id_); - } - - // .io.deephaven.proto.backplane.script.grpc.CompletionContext context = 2; - if (this->_internal_has_context()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *context_); - } - - // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 3; + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 1; if (this->_internal_has_text_document()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( *text_document_); } - // .io.deephaven.proto.backplane.script.grpc.Position position = 4; + // .io.deephaven.proto.backplane.script.grpc.Position position = 2; if (this->_internal_has_position()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( *position_); } - // int32 request_id = 5; - if (this->_internal_request_id() != 0) { - total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_request_id()); - } - return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetCompletionItemsRequest::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetHoverRequest::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - GetCompletionItemsRequest::MergeImpl + GetHoverRequest::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetCompletionItemsRequest::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetHoverRequest::GetClassData() const { return &_class_data_; } -void GetCompletionItemsRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void GetHoverRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void GetCompletionItemsRequest::MergeFrom(const GetCompletionItemsRequest& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) +void GetHoverRequest::MergeFrom(const GetHoverRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.GetHoverRequest) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (from._internal_has_console_id()) { - _internal_mutable_console_id()->::io::deephaven::proto::backplane::grpc::Ticket::MergeFrom(from._internal_console_id()); - } - if (from._internal_has_context()) { - _internal_mutable_context()->::io::deephaven::proto::backplane::script::grpc::CompletionContext::MergeFrom(from._internal_context()); - } if (from._internal_has_text_document()) { _internal_mutable_text_document()->::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier::MergeFrom(from._internal_text_document()); } if (from._internal_has_position()) { _internal_mutable_position()->::io::deephaven::proto::backplane::script::grpc::Position::MergeFrom(from._internal_position()); } - if (from._internal_request_id() != 0) { - _internal_set_request_id(from._internal_request_id()); - } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void GetCompletionItemsRequest::CopyFrom(const GetCompletionItemsRequest& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) +void GetHoverRequest::CopyFrom(const GetHoverRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.GetHoverRequest) if (&from == this) return; Clear(); MergeFrom(from); } -bool GetCompletionItemsRequest::IsInitialized() const { +bool GetHoverRequest::IsInitialized() const { return true; } -void GetCompletionItemsRequest::InternalSwap(GetCompletionItemsRequest* other) { +void GetHoverRequest::InternalSwap(GetHoverRequest* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(GetCompletionItemsRequest, request_id_) - + sizeof(GetCompletionItemsRequest::request_id_) - - PROTOBUF_FIELD_OFFSET(GetCompletionItemsRequest, console_id_)>( - reinterpret_cast(&console_id_), - reinterpret_cast(&other->console_id_)); + PROTOBUF_FIELD_OFFSET(GetHoverRequest, position_) + + sizeof(GetHoverRequest::position_) + - PROTOBUF_FIELD_OFFSET(GetHoverRequest, text_document_)>( + reinterpret_cast(&text_document_), + reinterpret_cast(&other->text_document_)); } -::PROTOBUF_NAMESPACE_ID::Metadata GetCompletionItemsRequest::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata GetHoverRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[25]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[38]); } // =================================================================== -class CompletionContext::_Internal { +class GetHoverResponse::_Internal { public: + static const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& contents(const GetHoverResponse* msg); + static const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& range(const GetHoverResponse* msg); }; -CompletionContext::CompletionContext(::PROTOBUF_NAMESPACE_ID::Arena* arena, +const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& +GetHoverResponse::_Internal::contents(const GetHoverResponse* msg) { + return *msg->contents_; +} +const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& +GetHoverResponse::_Internal::range(const GetHoverResponse* msg) { + return *msg->range_; +} +GetHoverResponse::GetHoverResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(); - // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.CompletionContext) + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.GetHoverResponse) } -CompletionContext::CompletionContext(const CompletionContext& from) +GetHoverResponse::GetHoverResponse(const GetHoverResponse& from) : ::PROTOBUF_NAMESPACE_ID::Message() { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - trigger_character_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - trigger_character_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_trigger_character().empty()) { - trigger_character_.Set(from._internal_trigger_character(), - GetArenaForAllocation()); + if (from._internal_has_contents()) { + contents_ = new ::io::deephaven::proto::backplane::script::grpc::MarkupContent(*from.contents_); + } else { + contents_ = nullptr; } - trigger_kind_ = from.trigger_kind_; - // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.CompletionContext) + if (from._internal_has_range()) { + range_ = new ::io::deephaven::proto::backplane::script::grpc::DocumentRange(*from.range_); + } else { + range_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.GetHoverResponse) } -inline void CompletionContext::SharedCtor() { -trigger_character_.InitDefault(); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - trigger_character_.Set("", GetArenaForAllocation()); -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -trigger_kind_ = 0; +inline void GetHoverResponse::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&contents_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&range_) - + reinterpret_cast(&contents_)) + sizeof(range_)); } -CompletionContext::~CompletionContext() { - // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.CompletionContext) +GetHoverResponse::~GetHoverResponse() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.GetHoverResponse) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -7474,47 +12047,52 @@ CompletionContext::~CompletionContext() { SharedDtor(); } -inline void CompletionContext::SharedDtor() { +inline void GetHoverResponse::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - trigger_character_.Destroy(); + if (this != internal_default_instance()) delete contents_; + if (this != internal_default_instance()) delete range_; } -void CompletionContext::SetCachedSize(int size) const { +void GetHoverResponse::SetCachedSize(int size) const { _cached_size_.Set(size); } -void CompletionContext::Clear() { -// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.CompletionContext) +void GetHoverResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.GetHoverResponse) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - trigger_character_.ClearToEmpty(); - trigger_kind_ = 0; + if (GetArenaForAllocation() == nullptr && contents_ != nullptr) { + delete contents_; + } + contents_ = nullptr; + if (GetArenaForAllocation() == nullptr && range_ != nullptr) { + delete range_; + } + range_ = nullptr; _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* CompletionContext::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* GetHoverResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // int32 trigger_kind = 1; + // .io.deephaven.proto.backplane.script.grpc.MarkupContent contents = 1; case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - trigger_kind_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_contents(), ptr); CHK_(ptr); } else goto handle_unusual; continue; - // string trigger_character = 2; + // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - auto str = _internal_mutable_trigger_character(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + ptr = ctx->ParseMessage(_internal_mutable_range(), ptr); CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_character")); } else goto handle_unusual; continue; @@ -7541,148 +12119,181 @@ const char* CompletionContext::_InternalParse(const char* ptr, ::_pbi::ParseCont #undef CHK_ } -uint8_t* CompletionContext::_InternalSerialize( +uint8_t* GetHoverResponse::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.CompletionContext) + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.GetHoverResponse) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // int32 trigger_kind = 1; - if (this->_internal_trigger_kind() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_trigger_kind(), target); + // .io.deephaven.proto.backplane.script.grpc.MarkupContent contents = 1; + if (this->_internal_has_contents()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::contents(this), + _Internal::contents(this).GetCachedSize(), target, stream); } - // string trigger_character = 2; - if (!this->_internal_trigger_character().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_trigger_character().data(), static_cast(this->_internal_trigger_character().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_character"); - target = stream->WriteStringMaybeAliased( - 2, this->_internal_trigger_character(), target); + // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 2; + if (this->_internal_has_range()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::range(this), + _Internal::range(this).GetCachedSize(), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.CompletionContext) + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.GetHoverResponse) return target; } -size_t CompletionContext::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.CompletionContext) +size_t GetHoverResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.GetHoverResponse) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // string trigger_character = 2; - if (!this->_internal_trigger_character().empty()) { + // .io.deephaven.proto.backplane.script.grpc.MarkupContent contents = 1; + if (this->_internal_has_contents()) { total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_trigger_character()); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *contents_); } - // int32 trigger_kind = 1; - if (this->_internal_trigger_kind() != 0) { - total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_trigger_kind()); + // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 2; + if (this->_internal_has_range()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *range_); } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CompletionContext::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetHoverResponse::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - CompletionContext::MergeImpl + GetHoverResponse::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CompletionContext::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetHoverResponse::GetClassData() const { return &_class_data_; } -void CompletionContext::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void GetHoverResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void CompletionContext::MergeFrom(const CompletionContext& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.CompletionContext) +void GetHoverResponse::MergeFrom(const GetHoverResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.GetHoverResponse) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (!from._internal_trigger_character().empty()) { - _internal_set_trigger_character(from._internal_trigger_character()); + if (from._internal_has_contents()) { + _internal_mutable_contents()->::io::deephaven::proto::backplane::script::grpc::MarkupContent::MergeFrom(from._internal_contents()); } - if (from._internal_trigger_kind() != 0) { - _internal_set_trigger_kind(from._internal_trigger_kind()); + if (from._internal_has_range()) { + _internal_mutable_range()->::io::deephaven::proto::backplane::script::grpc::DocumentRange::MergeFrom(from._internal_range()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void CompletionContext::CopyFrom(const CompletionContext& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.CompletionContext) +void GetHoverResponse::CopyFrom(const GetHoverResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.GetHoverResponse) if (&from == this) return; Clear(); MergeFrom(from); } -bool CompletionContext::IsInitialized() const { +bool GetHoverResponse::IsInitialized() const { return true; } -void CompletionContext::InternalSwap(CompletionContext* other) { +void GetHoverResponse::InternalSwap(GetHoverResponse* other) { using std::swap; - auto* lhs_arena = GetArenaForAllocation(); - auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &trigger_character_, lhs_arena, - &other->trigger_character_, rhs_arena - ); - swap(trigger_kind_, other->trigger_kind_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(GetHoverResponse, range_) + + sizeof(GetHoverResponse::range_) + - PROTOBUF_FIELD_OFFSET(GetHoverResponse, contents_)>( + reinterpret_cast(&contents_), + reinterpret_cast(&other->contents_)); } -::PROTOBUF_NAMESPACE_ID::Metadata CompletionContext::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata GetHoverResponse::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[26]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[39]); } // =================================================================== -class GetCompletionItemsResponse::_Internal { +class GetDiagnosticRequest::_Internal { public: + using HasBits = decltype(std::declval()._has_bits_); + static const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& text_document(const GetDiagnosticRequest* msg); + static void set_has_identifier(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } + static void set_has_previous_result_id(HasBits* has_bits) { + (*has_bits)[0] |= 2u; + } }; -GetCompletionItemsResponse::GetCompletionItemsResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, +const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& +GetDiagnosticRequest::_Internal::text_document(const GetDiagnosticRequest* msg) { + return *msg->text_document_; +} +GetDiagnosticRequest::GetDiagnosticRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - items_(arena) { + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { SharedCtor(); - // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest) } -GetCompletionItemsResponse::GetCompletionItemsResponse(const GetCompletionItemsResponse& from) +GetDiagnosticRequest::GetDiagnosticRequest(const GetDiagnosticRequest& from) : ::PROTOBUF_NAMESPACE_ID::Message(), - items_(from.items_) { + _has_bits_(from._has_bits_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - ::memcpy(&request_id_, &from.request_id_, - static_cast(reinterpret_cast(&success_) - - reinterpret_cast(&request_id_)) + sizeof(success_)); - // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) + identifier_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + identifier_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_identifier()) { + identifier_.Set(from._internal_identifier(), + GetArenaForAllocation()); + } + previous_result_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + previous_result_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_previous_result_id()) { + previous_result_id_.Set(from._internal_previous_result_id(), + GetArenaForAllocation()); + } + if (from._internal_has_text_document()) { + text_document_ = new ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier(*from.text_document_); + } else { + text_document_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest) } -inline void GetCompletionItemsResponse::SharedCtor() { -::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&request_id_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&success_) - - reinterpret_cast(&request_id_)) + sizeof(success_)); +inline void GetDiagnosticRequest::SharedCtor() { +identifier_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + identifier_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +previous_result_id_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + previous_result_id_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +text_document_ = nullptr; } -GetCompletionItemsResponse::~GetCompletionItemsResponse() { - // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) +GetDiagnosticRequest::~GetDiagnosticRequest() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -7690,59 +12301,72 @@ GetCompletionItemsResponse::~GetCompletionItemsResponse() { SharedDtor(); } -inline void GetCompletionItemsResponse::SharedDtor() { +inline void GetDiagnosticRequest::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + identifier_.Destroy(); + previous_result_id_.Destroy(); + if (this != internal_default_instance()) delete text_document_; } -void GetCompletionItemsResponse::SetCachedSize(int size) const { +void GetDiagnosticRequest::SetCachedSize(int size) const { _cached_size_.Set(size); } -void GetCompletionItemsResponse::Clear() { -// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) +void GetDiagnosticRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - items_.Clear(); - ::memset(&request_id_, 0, static_cast( - reinterpret_cast(&success_) - - reinterpret_cast(&request_id_)) + sizeof(success_)); + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000001u) { + identifier_.ClearNonDefaultToEmpty(); + } + if (cached_has_bits & 0x00000002u) { + previous_result_id_.ClearNonDefaultToEmpty(); + } + } + if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { + delete text_document_; + } + text_document_ = nullptr; + _has_bits_.Clear(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* GetCompletionItemsResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* GetDiagnosticRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + _Internal::HasBits has_bits{}; while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // repeated .io.deephaven.proto.backplane.script.grpc.CompletionItem items = 1; + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_items(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); + ptr = ctx->ParseMessage(_internal_mutable_text_document(), ptr); + CHK_(ptr); } else goto handle_unusual; continue; - // int32 request_id = 2; + // optional string identifier = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - request_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_identifier(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.identifier")); } else goto handle_unusual; continue; - // bool success = 3; + // optional string previous_result_id = 3; case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 24)) { - success_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + auto str = _internal_mutable_previous_result_id(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.previous_result_id")); } else goto handle_unusual; continue; @@ -7762,6 +12386,7 @@ const char* GetCompletionItemsResponse::_InternalParse(const char* ptr, ::_pbi:: CHK_(ptr != nullptr); } // while message_done: + _has_bits_.Or(has_bits); return ptr; failure: ptr = nullptr; @@ -7769,230 +12394,204 @@ const char* GetCompletionItemsResponse::_InternalParse(const char* ptr, ::_pbi:: #undef CHK_ } -uint8_t* GetCompletionItemsResponse::_InternalSerialize( +uint8_t* GetDiagnosticRequest::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // repeated .io.deephaven.proto.backplane.script.grpc.CompletionItem items = 1; - for (unsigned i = 0, - n = static_cast(this->_internal_items_size()); i < n; i++) { - const auto& repfield = this->_internal_items(i); + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 1; + if (this->_internal_has_text_document()) { target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream); + InternalWriteMessage(1, _Internal::text_document(this), + _Internal::text_document(this).GetCachedSize(), target, stream); } - // int32 request_id = 2; - if (this->_internal_request_id() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_request_id(), target); + // optional string identifier = 2; + if (_internal_has_identifier()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_identifier().data(), static_cast(this->_internal_identifier().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.identifier"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_identifier(), target); } - // bool success = 3; - if (this->_internal_success() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_success(), target); + // optional string previous_result_id = 3; + if (_internal_has_previous_result_id()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_previous_result_id().data(), static_cast(this->_internal_previous_result_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.previous_result_id"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_previous_result_id(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest) return target; } -size_t GetCompletionItemsResponse::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) +size_t GetDiagnosticRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated .io.deephaven.proto.backplane.script.grpc.CompletionItem items = 1; - total_size += 1UL * this->_internal_items_size(); - for (const auto& msg : this->items_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + // optional string identifier = 2; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_identifier()); + } - // int32 request_id = 2; - if (this->_internal_request_id() != 0) { - total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_request_id()); - } + // optional string previous_result_id = 3; + if (cached_has_bits & 0x00000002u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_previous_result_id()); + } - // bool success = 3; - if (this->_internal_success() != 0) { - total_size += 1 + 1; + } + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 1; + if (this->_internal_has_text_document()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *text_document_); } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetCompletionItemsResponse::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetDiagnosticRequest::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - GetCompletionItemsResponse::MergeImpl + GetDiagnosticRequest::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetCompletionItemsResponse::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetDiagnosticRequest::GetClassData() const { return &_class_data_; } -void GetCompletionItemsResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void GetDiagnosticRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void GetCompletionItemsResponse::MergeFrom(const GetCompletionItemsResponse& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) +void GetDiagnosticRequest::MergeFrom(const GetDiagnosticRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - items_.MergeFrom(from.items_); - if (from._internal_request_id() != 0) { - _internal_set_request_id(from._internal_request_id()); + cached_has_bits = from._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000001u) { + _internal_set_identifier(from._internal_identifier()); + } + if (cached_has_bits & 0x00000002u) { + _internal_set_previous_result_id(from._internal_previous_result_id()); + } } - if (from._internal_success() != 0) { - _internal_set_success(from._internal_success()); + if (from._internal_has_text_document()) { + _internal_mutable_text_document()->::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier::MergeFrom(from._internal_text_document()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void GetCompletionItemsResponse::CopyFrom(const GetCompletionItemsResponse& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) +void GetDiagnosticRequest::CopyFrom(const GetDiagnosticRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest) if (&from == this) return; Clear(); MergeFrom(from); } -bool GetCompletionItemsResponse::IsInitialized() const { +bool GetDiagnosticRequest::IsInitialized() const { return true; } -void GetCompletionItemsResponse::InternalSwap(GetCompletionItemsResponse* other) { +void GetDiagnosticRequest::InternalSwap(GetDiagnosticRequest* other) { using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); - items_.InternalSwap(&other->items_); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(GetCompletionItemsResponse, success_) - + sizeof(GetCompletionItemsResponse::success_) - - PROTOBUF_FIELD_OFFSET(GetCompletionItemsResponse, request_id_)>( - reinterpret_cast(&request_id_), - reinterpret_cast(&other->request_id_)); + swap(_has_bits_[0], other->_has_bits_[0]); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &identifier_, lhs_arena, + &other->identifier_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &previous_result_id_, lhs_arena, + &other->previous_result_id_, rhs_arena + ); + swap(text_document_, other->text_document_); } -::PROTOBUF_NAMESPACE_ID::Metadata GetCompletionItemsResponse::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata GetDiagnosticRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[27]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[40]); } // =================================================================== -class CompletionItem::_Internal { +class GetPullDiagnosticResponse::_Internal { public: - static const ::io::deephaven::proto::backplane::script::grpc::TextEdit& text_edit(const CompletionItem* msg); + using HasBits = decltype(std::declval()._has_bits_); + static void set_has_result_id(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } }; -const ::io::deephaven::proto::backplane::script::grpc::TextEdit& -CompletionItem::_Internal::text_edit(const CompletionItem* msg) { - return *msg->text_edit_; -} -CompletionItem::CompletionItem(::PROTOBUF_NAMESPACE_ID::Arena* arena, +GetPullDiagnosticResponse::GetPullDiagnosticResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - additional_text_edits_(arena), - commit_characters_(arena) { + items_(arena) { SharedCtor(); - // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.CompletionItem) + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse) } -CompletionItem::CompletionItem(const CompletionItem& from) +GetPullDiagnosticResponse::GetPullDiagnosticResponse(const GetPullDiagnosticResponse& from) : ::PROTOBUF_NAMESPACE_ID::Message(), - additional_text_edits_(from.additional_text_edits_), - commit_characters_(from.commit_characters_) { + _has_bits_(from._has_bits_), + items_(from.items_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - label_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - label_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_label().empty()) { - label_.Set(from._internal_label(), - GetArenaForAllocation()); - } - detail_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - detail_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_detail().empty()) { - detail_.Set(from._internal_detail(), - GetArenaForAllocation()); - } - documentation_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - documentation_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_documentation().empty()) { - documentation_.Set(from._internal_documentation(), - GetArenaForAllocation()); - } - sort_text_.InitDefault(); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - sort_text_.Set("", GetArenaForAllocation()); - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_sort_text().empty()) { - sort_text_.Set(from._internal_sort_text(), - GetArenaForAllocation()); - } - filter_text_.InitDefault(); + kind_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - filter_text_.Set("", GetArenaForAllocation()); + kind_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_filter_text().empty()) { - filter_text_.Set(from._internal_filter_text(), + if (!from._internal_kind().empty()) { + kind_.Set(from._internal_kind(), GetArenaForAllocation()); - } - if (from._internal_has_text_edit()) { - text_edit_ = new ::io::deephaven::proto::backplane::script::grpc::TextEdit(*from.text_edit_); - } else { - text_edit_ = nullptr; - } - ::memcpy(&start_, &from.start_, - static_cast(reinterpret_cast(&insert_text_format_) - - reinterpret_cast(&start_)) + sizeof(insert_text_format_)); - // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.CompletionItem) -} - -inline void CompletionItem::SharedCtor() { -label_.InitDefault(); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - label_.Set("", GetArenaForAllocation()); -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -detail_.InitDefault(); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - detail_.Set("", GetArenaForAllocation()); -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -documentation_.InitDefault(); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - documentation_.Set("", GetArenaForAllocation()); -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -sort_text_.InitDefault(); + } + result_id_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + result_id_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_result_id()) { + result_id_.Set(from._internal_result_id(), + GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse) +} + +inline void GetPullDiagnosticResponse::SharedCtor() { +kind_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - sort_text_.Set("", GetArenaForAllocation()); + kind_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -filter_text_.InitDefault(); +result_id_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - filter_text_.Set("", GetArenaForAllocation()); + result_id_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&text_edit_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&insert_text_format_) - - reinterpret_cast(&text_edit_)) + sizeof(insert_text_format_)); } -CompletionItem::~CompletionItem() { - // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.CompletionItem) +GetPullDiagnosticResponse::~GetPullDiagnosticResponse() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -8000,180 +12599,343 @@ CompletionItem::~CompletionItem() { SharedDtor(); } -inline void CompletionItem::SharedDtor() { +inline void GetPullDiagnosticResponse::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - label_.Destroy(); - detail_.Destroy(); - documentation_.Destroy(); - sort_text_.Destroy(); - filter_text_.Destroy(); - if (this != internal_default_instance()) delete text_edit_; + kind_.Destroy(); + result_id_.Destroy(); } -void CompletionItem::SetCachedSize(int size) const { +void GetPullDiagnosticResponse::SetCachedSize(int size) const { _cached_size_.Set(size); } -void CompletionItem::Clear() { -// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.CompletionItem) +void GetPullDiagnosticResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - additional_text_edits_.Clear(); - commit_characters_.Clear(); - label_.ClearToEmpty(); - detail_.ClearToEmpty(); - documentation_.ClearToEmpty(); - sort_text_.ClearToEmpty(); - filter_text_.ClearToEmpty(); - if (GetArenaForAllocation() == nullptr && text_edit_ != nullptr) { - delete text_edit_; + items_.Clear(); + kind_.ClearToEmpty(); + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + result_id_.ClearNonDefaultToEmpty(); } - text_edit_ = nullptr; - ::memset(&start_, 0, static_cast( - reinterpret_cast(&insert_text_format_) - - reinterpret_cast(&start_)) + sizeof(insert_text_format_)); + _has_bits_.Clear(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* CompletionItem::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* GetPullDiagnosticResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + _Internal::HasBits has_bits{}; while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // int32 start = 1; + // string kind = 1; case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { - start_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_kind(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.kind")); } else goto handle_unusual; continue; - // int32 length = 2; + // optional string result_id = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { - length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + auto str = _internal_mutable_result_id(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.result_id")); } else goto handle_unusual; continue; - // string label = 3; + // repeated .io.deephaven.proto.backplane.script.grpc.Diagnostic items = 3; case 3: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { - auto str = _internal_mutable_label(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.CompletionItem.label")); - } else - goto handle_unusual; - continue; - // int32 kind = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 32)) { - kind_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // string detail = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { - auto str = _internal_mutable_detail(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.CompletionItem.detail")); - } else - goto handle_unusual; - continue; - // string documentation = 6; - case 6: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { - auto str = _internal_mutable_documentation(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.CompletionItem.documentation")); - } else - goto handle_unusual; - continue; - // bool deprecated = 7; - case 7: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 56)) { - deprecated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // bool preselect = 8; - case 8: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 64)) { - preselect_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // .io.deephaven.proto.backplane.script.grpc.TextEdit text_edit = 9; - case 9: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 74)) { - ptr = ctx->ParseMessage(_internal_mutable_text_edit(), ptr); - CHK_(ptr); - } else - goto handle_unusual; - continue; - // string sort_text = 10; - case 10: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 82)) { - auto str = _internal_mutable_sort_text(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); - CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.CompletionItem.sort_text")); + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_items(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr)); } else goto handle_unusual; continue; - // string filter_text = 11; - case 11: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 90)) { - auto str = _internal_mutable_filter_text(); + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + _has_bits_.Or(has_bits); + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* GetPullDiagnosticResponse::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // string kind = 1; + if (!this->_internal_kind().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_kind().data(), static_cast(this->_internal_kind().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.kind"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_kind(), target); + } + + // optional string result_id = 2; + if (_internal_has_result_id()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_result_id().data(), static_cast(this->_internal_result_id().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.result_id"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_result_id(), target); + } + + // repeated .io.deephaven.proto.backplane.script.grpc.Diagnostic items = 3; + for (unsigned i = 0, + n = static_cast(this->_internal_items_size()); i < n; i++) { + const auto& repfield = this->_internal_items(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse) + return target; +} + +size_t GetPullDiagnosticResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated .io.deephaven.proto.backplane.script.grpc.Diagnostic items = 3; + total_size += 1UL * this->_internal_items_size(); + for (const auto& msg : this->items_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // string kind = 1; + if (!this->_internal_kind().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_kind()); + } + + // optional string result_id = 2; + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_result_id()); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetPullDiagnosticResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + GetPullDiagnosticResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetPullDiagnosticResponse::GetClassData() const { return &_class_data_; } + +void GetPullDiagnosticResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void GetPullDiagnosticResponse::MergeFrom(const GetPullDiagnosticResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + items_.MergeFrom(from.items_); + if (!from._internal_kind().empty()) { + _internal_set_kind(from._internal_kind()); + } + if (from._internal_has_result_id()) { + _internal_set_result_id(from._internal_result_id()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GetPullDiagnosticResponse::CopyFrom(const GetPullDiagnosticResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetPullDiagnosticResponse::IsInitialized() const { + return true; +} + +void GetPullDiagnosticResponse::InternalSwap(GetPullDiagnosticResponse* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_has_bits_[0], other->_has_bits_[0]); + items_.InternalSwap(&other->items_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &kind_, lhs_arena, + &other->kind_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &result_id_, lhs_arena, + &other->result_id_, rhs_arena + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetPullDiagnosticResponse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[41]); +} + +// =================================================================== + +class GetPublishDiagnosticResponse::_Internal { + public: + using HasBits = decltype(std::declval()._has_bits_); + static void set_has_version(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } +}; + +GetPublishDiagnosticResponse::GetPublishDiagnosticResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + diagnostics_(arena) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse) +} +GetPublishDiagnosticResponse::GetPublishDiagnosticResponse(const GetPublishDiagnosticResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + _has_bits_(from._has_bits_), + diagnostics_(from.diagnostics_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + uri_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + uri_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_uri().empty()) { + uri_.Set(from._internal_uri(), + GetArenaForAllocation()); + } + version_ = from.version_; + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse) +} + +inline void GetPublishDiagnosticResponse::SharedCtor() { +uri_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + uri_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +version_ = 0; +} + +GetPublishDiagnosticResponse::~GetPublishDiagnosticResponse() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void GetPublishDiagnosticResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + uri_.Destroy(); +} + +void GetPublishDiagnosticResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void GetPublishDiagnosticResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + diagnostics_.Clear(); + uri_.ClearToEmpty(); + version_ = 0; + _has_bits_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GetPublishDiagnosticResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + _Internal::HasBits has_bits{}; + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string uri = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_uri(); ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.CompletionItem.filter_text")); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse.uri")); } else goto handle_unusual; continue; - // int32 insert_text_format = 12; - case 12: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 96)) { - insert_text_format_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); + // optional int32 version = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + _Internal::set_has_version(&has_bits); + version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr); CHK_(ptr); } else goto handle_unusual; continue; - // repeated .io.deephaven.proto.backplane.script.grpc.TextEdit additional_text_edits = 13; - case 13: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 106)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_additional_text_edits(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<106>(ptr)); - } else - goto handle_unusual; - continue; - // repeated string commit_characters = 14; - case 14: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 114)) { + // repeated .io.deephaven.proto.backplane.script.grpc.Diagnostic diagnostics = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { ptr -= 1; do { ptr += 1; - auto str = _internal_add_commit_characters(); - ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + ptr = ctx->ParseMessage(_internal_add_diagnostics(), ptr); CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters")); if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<114>(ptr)); + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr)); } else goto handle_unusual; continue; @@ -8193,6 +12955,7 @@ const char* CompletionItem::_InternalParse(const char* ptr, ::_pbi::ParseContext CHK_(ptr != nullptr); } // while message_done: + _has_bits_.Or(has_bits); return ptr; failure: ptr = nullptr; @@ -8200,367 +12963,401 @@ const char* CompletionItem::_InternalParse(const char* ptr, ::_pbi::ParseContext #undef CHK_ } -uint8_t* CompletionItem::_InternalSerialize( +uint8_t* GetPublishDiagnosticResponse::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.CompletionItem) + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse) uint32_t cached_has_bits = 0; (void) cached_has_bits; - // int32 start = 1; - if (this->_internal_start() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_start(), target); + // string uri = 1; + if (!this->_internal_uri().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_uri().data(), static_cast(this->_internal_uri().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse.uri"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_uri(), target); } - // int32 length = 2; - if (this->_internal_length() != 0) { + // optional int32 version = 2; + if (_internal_has_version()) { target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_length(), target); + target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_version(), target); } - // string label = 3; - if (!this->_internal_label().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_label().data(), static_cast(this->_internal_label().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "io.deephaven.proto.backplane.script.grpc.CompletionItem.label"); - target = stream->WriteStringMaybeAliased( - 3, this->_internal_label(), target); + // repeated .io.deephaven.proto.backplane.script.grpc.Diagnostic diagnostics = 3; + for (unsigned i = 0, + n = static_cast(this->_internal_diagnostics_size()); i < n; i++) { + const auto& repfield = this->_internal_diagnostics(i); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream); } - // int32 kind = 4; - if (this->_internal_kind() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteInt32ToArray(4, this->_internal_kind(), target); + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse) + return target; +} - // string detail = 5; - if (!this->_internal_detail().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_detail().data(), static_cast(this->_internal_detail().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "io.deephaven.proto.backplane.script.grpc.CompletionItem.detail"); - target = stream->WriteStringMaybeAliased( - 5, this->_internal_detail(), target); +size_t GetPublishDiagnosticResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated .io.deephaven.proto.backplane.script.grpc.Diagnostic diagnostics = 3; + total_size += 1UL * this->_internal_diagnostics_size(); + for (const auto& msg : this->diagnostics_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); } - // string documentation = 6; - if (!this->_internal_documentation().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_documentation().data(), static_cast(this->_internal_documentation().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "io.deephaven.proto.backplane.script.grpc.CompletionItem.documentation"); - target = stream->WriteStringMaybeAliased( - 6, this->_internal_documentation(), target); + // string uri = 1; + if (!this->_internal_uri().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_uri()); } - // bool deprecated = 7; - if (this->_internal_deprecated() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_deprecated(), target); + // optional int32 version = 2; + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_version()); } - // bool preselect = 8; - if (this->_internal_preselect() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteBoolToArray(8, this->_internal_preselect(), target); + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GetPublishDiagnosticResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + GetPublishDiagnosticResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetPublishDiagnosticResponse::GetClassData() const { return &_class_data_; } + +void GetPublishDiagnosticResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void GetPublishDiagnosticResponse::MergeFrom(const GetPublishDiagnosticResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + diagnostics_.MergeFrom(from.diagnostics_); + if (!from._internal_uri().empty()) { + _internal_set_uri(from._internal_uri()); } + if (from._internal_has_version()) { + _internal_set_version(from._internal_version()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} - // .io.deephaven.proto.backplane.script.grpc.TextEdit text_edit = 9; - if (this->_internal_has_text_edit()) { - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(9, _Internal::text_edit(this), - _Internal::text_edit(this).GetCachedSize(), target, stream); +void GetPublishDiagnosticResponse::CopyFrom(const GetPublishDiagnosticResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GetPublishDiagnosticResponse::IsInitialized() const { + return true; +} + +void GetPublishDiagnosticResponse::InternalSwap(GetPublishDiagnosticResponse* other) { + using std::swap; + auto* lhs_arena = GetArenaForAllocation(); + auto* rhs_arena = other->GetArenaForAllocation(); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_has_bits_[0], other->_has_bits_[0]); + diagnostics_.InternalSwap(&other->diagnostics_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &uri_, lhs_arena, + &other->uri_, rhs_arena + ); + swap(version_, other->version_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GetPublishDiagnosticResponse::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[42]); +} + +// =================================================================== + +class Diagnostic_CodeDescription::_Internal { + public: +}; + +Diagnostic_CodeDescription::Diagnostic_CodeDescription(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription) +} +Diagnostic_CodeDescription::Diagnostic_CodeDescription(const Diagnostic_CodeDescription& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + href_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + href_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (!from._internal_href().empty()) { + href_.Set(from._internal_href(), + GetArenaForAllocation()); } + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription) +} - // string sort_text = 10; - if (!this->_internal_sort_text().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_sort_text().data(), static_cast(this->_internal_sort_text().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "io.deephaven.proto.backplane.script.grpc.CompletionItem.sort_text"); - target = stream->WriteStringMaybeAliased( - 10, this->_internal_sort_text(), target); +inline void Diagnostic_CodeDescription::SharedCtor() { +href_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + href_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +} + +Diagnostic_CodeDescription::~Diagnostic_CodeDescription() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; } + SharedDtor(); +} + +inline void Diagnostic_CodeDescription::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + href_.Destroy(); +} + +void Diagnostic_CodeDescription::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void Diagnostic_CodeDescription::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; - // string filter_text = 11; - if (!this->_internal_filter_text().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_filter_text().data(), static_cast(this->_internal_filter_text().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "io.deephaven.proto.backplane.script.grpc.CompletionItem.filter_text"); - target = stream->WriteStringMaybeAliased( - 11, this->_internal_filter_text(), target); - } + href_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} - // int32 insert_text_format = 12; - if (this->_internal_insert_text_format() != 0) { - target = stream->EnsureSpace(target); - target = ::_pbi::WireFormatLite::WriteInt32ToArray(12, this->_internal_insert_text_format(), target); - } +const char* Diagnostic_CodeDescription::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // string href = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + auto str = _internal_mutable_href(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription.href")); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} - // repeated .io.deephaven.proto.backplane.script.grpc.TextEdit additional_text_edits = 13; - for (unsigned i = 0, - n = static_cast(this->_internal_additional_text_edits_size()); i < n; i++) { - const auto& repfield = this->_internal_additional_text_edits(i); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(13, repfield, repfield.GetCachedSize(), target, stream); - } +uint8_t* Diagnostic_CodeDescription::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; - // repeated string commit_characters = 14; - for (int i = 0, n = this->_internal_commit_characters_size(); i < n; i++) { - const auto& s = this->_internal_commit_characters(i); + // string href = 1; + if (!this->_internal_href().empty()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - s.data(), static_cast(s.length()), + this->_internal_href().data(), static_cast(this->_internal_href().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters"); - target = stream->WriteString(14, s, target); + "io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription.href"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_href(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.CompletionItem) + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription) return target; } -size_t CompletionItem::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.CompletionItem) +size_t Diagnostic_CodeDescription::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated .io.deephaven.proto.backplane.script.grpc.TextEdit additional_text_edits = 13; - total_size += 1UL * this->_internal_additional_text_edits_size(); - for (const auto& msg : this->additional_text_edits_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - // repeated string commit_characters = 14; - total_size += 1 * - ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(commit_characters_.size()); - for (int i = 0, n = commit_characters_.size(); i < n; i++) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - commit_characters_.Get(i)); - } - - // string label = 3; - if (!this->_internal_label().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_label()); - } - - // string detail = 5; - if (!this->_internal_detail().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_detail()); - } - - // string documentation = 6; - if (!this->_internal_documentation().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_documentation()); - } - - // string sort_text = 10; - if (!this->_internal_sort_text().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_sort_text()); - } - - // string filter_text = 11; - if (!this->_internal_filter_text().empty()) { + // string href = 1; + if (!this->_internal_href().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_filter_text()); - } - - // .io.deephaven.proto.backplane.script.grpc.TextEdit text_edit = 9; - if (this->_internal_has_text_edit()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *text_edit_); - } - - // int32 start = 1; - if (this->_internal_start() != 0) { - total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_start()); - } - - // int32 length = 2; - if (this->_internal_length() != 0) { - total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_length()); - } - - // int32 kind = 4; - if (this->_internal_kind() != 0) { - total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_kind()); - } - - // bool deprecated = 7; - if (this->_internal_deprecated() != 0) { - total_size += 1 + 1; - } - - // bool preselect = 8; - if (this->_internal_preselect() != 0) { - total_size += 1 + 1; - } - - // int32 insert_text_format = 12; - if (this->_internal_insert_text_format() != 0) { - total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_insert_text_format()); + this->_internal_href()); } return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CompletionItem::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Diagnostic_CodeDescription::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - CompletionItem::MergeImpl + Diagnostic_CodeDescription::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CompletionItem::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Diagnostic_CodeDescription::GetClassData() const { return &_class_data_; } -void CompletionItem::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void Diagnostic_CodeDescription::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void CompletionItem::MergeFrom(const CompletionItem& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.CompletionItem) +void Diagnostic_CodeDescription::MergeFrom(const Diagnostic_CodeDescription& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - additional_text_edits_.MergeFrom(from.additional_text_edits_); - commit_characters_.MergeFrom(from.commit_characters_); - if (!from._internal_label().empty()) { - _internal_set_label(from._internal_label()); - } - if (!from._internal_detail().empty()) { - _internal_set_detail(from._internal_detail()); - } - if (!from._internal_documentation().empty()) { - _internal_set_documentation(from._internal_documentation()); - } - if (!from._internal_sort_text().empty()) { - _internal_set_sort_text(from._internal_sort_text()); - } - if (!from._internal_filter_text().empty()) { - _internal_set_filter_text(from._internal_filter_text()); - } - if (from._internal_has_text_edit()) { - _internal_mutable_text_edit()->::io::deephaven::proto::backplane::script::grpc::TextEdit::MergeFrom(from._internal_text_edit()); - } - if (from._internal_start() != 0) { - _internal_set_start(from._internal_start()); - } - if (from._internal_length() != 0) { - _internal_set_length(from._internal_length()); - } - if (from._internal_kind() != 0) { - _internal_set_kind(from._internal_kind()); - } - if (from._internal_deprecated() != 0) { - _internal_set_deprecated(from._internal_deprecated()); - } - if (from._internal_preselect() != 0) { - _internal_set_preselect(from._internal_preselect()); - } - if (from._internal_insert_text_format() != 0) { - _internal_set_insert_text_format(from._internal_insert_text_format()); + if (!from._internal_href().empty()) { + _internal_set_href(from._internal_href()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void CompletionItem::CopyFrom(const CompletionItem& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.CompletionItem) +void Diagnostic_CodeDescription::CopyFrom(const Diagnostic_CodeDescription& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription) if (&from == this) return; Clear(); MergeFrom(from); } -bool CompletionItem::IsInitialized() const { +bool Diagnostic_CodeDescription::IsInitialized() const { return true; } -void CompletionItem::InternalSwap(CompletionItem* other) { +void Diagnostic_CodeDescription::InternalSwap(Diagnostic_CodeDescription* other) { using std::swap; auto* lhs_arena = GetArenaForAllocation(); auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); - additional_text_edits_.InternalSwap(&other->additional_text_edits_); - commit_characters_.InternalSwap(&other->commit_characters_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &label_, lhs_arena, - &other->label_, rhs_arena - ); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &detail_, lhs_arena, - &other->detail_, rhs_arena - ); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &documentation_, lhs_arena, - &other->documentation_, rhs_arena - ); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &sort_text_, lhs_arena, - &other->sort_text_, rhs_arena - ); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &filter_text_, lhs_arena, - &other->filter_text_, rhs_arena + &href_, lhs_arena, + &other->href_, rhs_arena ); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(CompletionItem, insert_text_format_) - + sizeof(CompletionItem::insert_text_format_) - - PROTOBUF_FIELD_OFFSET(CompletionItem, text_edit_)>( - reinterpret_cast(&text_edit_), - reinterpret_cast(&other->text_edit_)); } -::PROTOBUF_NAMESPACE_ID::Metadata CompletionItem::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata Diagnostic_CodeDescription::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[28]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[43]); } // =================================================================== -class TextEdit::_Internal { +class Diagnostic::_Internal { public: - static const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& range(const TextEdit* msg); + using HasBits = decltype(std::declval()._has_bits_); + static const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& range(const Diagnostic* msg); + static void set_has_code(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } + static const ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription& code_description(const Diagnostic* msg); + static void set_has_code_description(HasBits* has_bits) { + (*has_bits)[0] |= 8u; + } + static void set_has_source(HasBits* has_bits) { + (*has_bits)[0] |= 2u; + } + static void set_has_data(HasBits* has_bits) { + (*has_bits)[0] |= 4u; + } }; const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& -TextEdit::_Internal::range(const TextEdit* msg) { +Diagnostic::_Internal::range(const Diagnostic* msg) { return *msg->range_; } -TextEdit::TextEdit(::PROTOBUF_NAMESPACE_ID::Arena* arena, +const ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription& +Diagnostic::_Internal::code_description(const Diagnostic* msg) { + return *msg->code_description_; +} +Diagnostic::Diagnostic(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + tags_(arena) { SharedCtor(); - // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.TextEdit) + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.script.grpc.Diagnostic) } -TextEdit::TextEdit(const TextEdit& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { +Diagnostic::Diagnostic(const Diagnostic& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + _has_bits_(from._has_bits_), + tags_(from.tags_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - text_.InitDefault(); + code_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + code_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_code()) { + code_.Set(from._internal_code(), + GetArenaForAllocation()); + } + source_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + source_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_source()) { + source_.Set(from._internal_source(), + GetArenaForAllocation()); + } + message_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - text_.Set("", GetArenaForAllocation()); + message_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (!from._internal_text().empty()) { - text_.Set(from._internal_text(), + if (!from._internal_message().empty()) { + message_.Set(from._internal_message(), + GetArenaForAllocation()); + } + data_.InitDefault(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + data_.Set("", GetArenaForAllocation()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (from._internal_has_data()) { + data_.Set(from._internal_data(), GetArenaForAllocation()); } if (from._internal_has_range()) { @@ -8568,19 +13365,40 @@ TextEdit::TextEdit(const TextEdit& from) } else { range_ = nullptr; } - // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.TextEdit) + if (from._internal_has_code_description()) { + code_description_ = new ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription(*from.code_description_); + } else { + code_description_ = nullptr; + } + severity_ = from.severity_; + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.script.grpc.Diagnostic) } -inline void TextEdit::SharedCtor() { -text_.InitDefault(); +inline void Diagnostic::SharedCtor() { +code_.InitDefault(); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - text_.Set("", GetArenaForAllocation()); + code_.Set("", GetArenaForAllocation()); #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING -range_ = nullptr; +source_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + source_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +message_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + message_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +data_.InitDefault(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + data_.Set("", GetArenaForAllocation()); +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&range_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&severity_) - + reinterpret_cast(&range_)) + sizeof(severity_)); } -TextEdit::~TextEdit() { - // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.TextEdit) +Diagnostic::~Diagnostic() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.script.grpc.Diagnostic) if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { (void)arena; return; @@ -8588,32 +13406,56 @@ TextEdit::~TextEdit() { SharedDtor(); } -inline void TextEdit::SharedDtor() { +inline void Diagnostic::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - text_.Destroy(); + code_.Destroy(); + source_.Destroy(); + message_.Destroy(); + data_.Destroy(); if (this != internal_default_instance()) delete range_; + if (this != internal_default_instance()) delete code_description_; } -void TextEdit::SetCachedSize(int size) const { +void Diagnostic::SetCachedSize(int size) const { _cached_size_.Set(size); } -void TextEdit::Clear() { -// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.TextEdit) +void Diagnostic::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.script.grpc.Diagnostic) uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - text_.ClearToEmpty(); + tags_.Clear(); + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000001u) { + code_.ClearNonDefaultToEmpty(); + } + if (cached_has_bits & 0x00000002u) { + source_.ClearNonDefaultToEmpty(); + } + } + message_.ClearToEmpty(); + if (cached_has_bits & 0x00000004u) { + data_.ClearNonDefaultToEmpty(); + } if (GetArenaForAllocation() == nullptr && range_ != nullptr) { delete range_; } range_ = nullptr; + if (cached_has_bits & 0x00000008u) { + GOOGLE_DCHECK(code_description_ != nullptr); + code_description_->Clear(); + } + severity_ = 0; + _has_bits_.Clear(); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } -const char* TextEdit::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +const char* Diagnostic::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + _Internal::HasBits has_bits{}; while (!ctx->Done(&ptr)) { uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); @@ -8626,13 +13468,71 @@ const char* TextEdit::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) } else goto handle_unusual; continue; - // string text = 2; + // .io.deephaven.proto.backplane.script.grpc.Diagnostic.DiagnosticSeverity severity = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { - auto str = _internal_mutable_text(); + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 16)) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_set_severity(static_cast<::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticSeverity>(val)); + } else + goto handle_unusual; + continue; + // optional string code = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 26)) { + auto str = _internal_mutable_code(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.Diagnostic.code")); + } else + goto handle_unusual; + continue; + // optional .io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription code_description = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) { + ptr = ctx->ParseMessage(_internal_mutable_code_description(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // optional string source = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { + auto str = _internal_mutable_source(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.Diagnostic.source")); + } else + goto handle_unusual; + continue; + // string message = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { + auto str = _internal_mutable_message(); + ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); + CHK_(ptr); + CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.Diagnostic.message")); + } else + goto handle_unusual; + continue; + // repeated .io.deephaven.proto.backplane.script.grpc.Diagnostic.DiagnosticTag tags = 7; + case 7: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 58)) { + ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser(_internal_mutable_tags(), ptr, ctx); + CHK_(ptr); + } else if (static_cast(tag) == 56) { + uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + _internal_add_tags(static_cast<::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticTag>(val)); + } else + goto handle_unusual; + continue; + // optional bytes data = 9; + case 9: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 74)) { + auto str = _internal_mutable_data(); ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx); CHK_(ptr); - CHK_(::_pbi::VerifyUTF8(str, "io.deephaven.proto.backplane.script.grpc.TextEdit.text")); } else goto handle_unusual; continue; @@ -8652,6 +13552,7 @@ const char* TextEdit::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) CHK_(ptr != nullptr); } // while message_done: + _has_bits_.Or(has_bits); return ptr; failure: ptr = nullptr; @@ -8659,9 +13560,9 @@ const char* TextEdit::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) #undef CHK_ } -uint8_t* TextEdit::_InternalSerialize( +uint8_t* Diagnostic::_InternalSerialize( uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.TextEdit) + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.script.grpc.Diagnostic) uint32_t cached_has_bits = 0; (void) cached_has_bits; @@ -8672,37 +13573,127 @@ uint8_t* TextEdit::_InternalSerialize( _Internal::range(this).GetCachedSize(), target, stream); } - // string text = 2; - if (!this->_internal_text().empty()) { + // .io.deephaven.proto.backplane.script.grpc.Diagnostic.DiagnosticSeverity severity = 2; + if (this->_internal_severity() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 2, this->_internal_severity(), target); + } + + // optional string code = 3; + if (_internal_has_code()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_text().data(), static_cast(this->_internal_text().length()), + this->_internal_code().data(), static_cast(this->_internal_code().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "io.deephaven.proto.backplane.script.grpc.TextEdit.text"); + "io.deephaven.proto.backplane.script.grpc.Diagnostic.code"); target = stream->WriteStringMaybeAliased( - 2, this->_internal_text(), target); + 3, this->_internal_code(), target); + } + + // optional .io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription code_description = 4; + if (_internal_has_code_description()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(4, _Internal::code_description(this), + _Internal::code_description(this).GetCachedSize(), target, stream); + } + + // optional string source = 5; + if (_internal_has_source()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_source().data(), static_cast(this->_internal_source().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.Diagnostic.source"); + target = stream->WriteStringMaybeAliased( + 5, this->_internal_source(), target); + } + + // string message = 6; + if (!this->_internal_message().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_message().data(), static_cast(this->_internal_message().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "io.deephaven.proto.backplane.script.grpc.Diagnostic.message"); + target = stream->WriteStringMaybeAliased( + 6, this->_internal_message(), target); + } + + // repeated .io.deephaven.proto.backplane.script.grpc.Diagnostic.DiagnosticTag tags = 7; + { + int byte_size = _tags_cached_byte_size_.load(std::memory_order_relaxed); + if (byte_size > 0) { + target = stream->WriteEnumPacked( + 7, tags_, byte_size, target); + } + } + + // optional bytes data = 9; + if (_internal_has_data()) { + target = stream->WriteBytesMaybeAliased( + 9, this->_internal_data(), target); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.TextEdit) + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.script.grpc.Diagnostic) return target; } -size_t TextEdit::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.TextEdit) +size_t Diagnostic::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.script.grpc.Diagnostic) size_t total_size = 0; uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // string text = 2; - if (!this->_internal_text().empty()) { + // repeated .io.deephaven.proto.backplane.script.grpc.Diagnostic.DiagnosticTag tags = 7; + { + size_t data_size = 0; + unsigned int count = static_cast(this->_internal_tags_size());for (unsigned int i = 0; i < count; i++) { + data_size += ::_pbi::WireFormatLite::EnumSize( + this->_internal_tags(static_cast(i))); + } + if (data_size > 0) { + total_size += 1 + + ::_pbi::WireFormatLite::Int32Size(static_cast(data_size)); + } + int cached_size = ::_pbi::ToCachedSize(data_size); + _tags_cached_byte_size_.store(cached_size, + std::memory_order_relaxed); + total_size += data_size; + } + + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + // optional string code = 3; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_code()); + } + + // optional string source = 5; + if (cached_has_bits & 0x00000002u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_source()); + } + + } + // string message = 6; + if (!this->_internal_message().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_text()); + this->_internal_message()); + } + + // optional bytes data = 9; + if (cached_has_bits & 0x00000004u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( + this->_internal_data()); } // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; @@ -8712,64 +13703,115 @@ size_t TextEdit::ByteSizeLong() const { *range_); } + // optional .io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription code_description = 4; + if (cached_has_bits & 0x00000008u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *code_description_); + } + + // .io.deephaven.proto.backplane.script.grpc.Diagnostic.DiagnosticSeverity severity = 2; + if (this->_internal_severity() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this->_internal_severity()); + } + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); } -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TextEdit::_class_data_ = { +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Diagnostic::_class_data_ = { ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - TextEdit::MergeImpl + Diagnostic::MergeImpl }; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TextEdit::GetClassData() const { return &_class_data_; } +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Diagnostic::GetClassData() const { return &_class_data_; } -void TextEdit::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, +void Diagnostic::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from) { - static_cast(to)->MergeFrom( - static_cast(from)); + static_cast(to)->MergeFrom( + static_cast(from)); } -void TextEdit::MergeFrom(const TextEdit& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.TextEdit) +void Diagnostic::MergeFrom(const Diagnostic& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.script.grpc.Diagnostic) GOOGLE_DCHECK_NE(&from, this); uint32_t cached_has_bits = 0; (void) cached_has_bits; - if (!from._internal_text().empty()) { - _internal_set_text(from._internal_text()); + tags_.MergeFrom(from.tags_); + cached_has_bits = from._has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000001u) { + _internal_set_code(from._internal_code()); + } + if (cached_has_bits & 0x00000002u) { + _internal_set_source(from._internal_source()); + } + } + if (!from._internal_message().empty()) { + _internal_set_message(from._internal_message()); + } + if (cached_has_bits & 0x00000004u) { + _internal_set_data(from._internal_data()); } if (from._internal_has_range()) { _internal_mutable_range()->::io::deephaven::proto::backplane::script::grpc::DocumentRange::MergeFrom(from._internal_range()); } + if (cached_has_bits & 0x00000008u) { + _internal_mutable_code_description()->::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription::MergeFrom(from._internal_code_description()); + } + if (from._internal_severity() != 0) { + _internal_set_severity(from._internal_severity()); + } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } -void TextEdit::CopyFrom(const TextEdit& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.TextEdit) +void Diagnostic::CopyFrom(const Diagnostic& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.script.grpc.Diagnostic) if (&from == this) return; Clear(); MergeFrom(from); } -bool TextEdit::IsInitialized() const { +bool Diagnostic::IsInitialized() const { return true; } -void TextEdit::InternalSwap(TextEdit* other) { +void Diagnostic::InternalSwap(Diagnostic* other) { using std::swap; auto* lhs_arena = GetArenaForAllocation(); auto* rhs_arena = other->GetArenaForAllocation(); _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_has_bits_[0], other->_has_bits_[0]); + tags_.InternalSwap(&other->tags_); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &text_, lhs_arena, - &other->text_, rhs_arena + &code_, lhs_arena, + &other->code_, rhs_arena ); - swap(range_, other->range_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &source_, lhs_arena, + &other->source_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &message_, lhs_arena, + &other->message_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &data_, lhs_arena, + &other->data_, rhs_arena + ); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(Diagnostic, severity_) + + sizeof(Diagnostic::severity_) + - PROTOBUF_FIELD_OFFSET(Diagnostic, range_)>( + reinterpret_cast(&range_), + reinterpret_cast(&other->range_)); } -::PROTOBUF_NAMESPACE_ID::Metadata TextEdit::GetMetadata() const { +::PROTOBUF_NAMESPACE_ID::Metadata Diagnostic::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[29]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[44]); } // =================================================================== @@ -9441,7 +14483,7 @@ void FigureDescriptor_ChartDescriptor::InternalSwap(FigureDescriptor_ChartDescri ::PROTOBUF_NAMESPACE_ID::Metadata FigureDescriptor_ChartDescriptor::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[30]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[45]); } // =================================================================== @@ -10186,7 +15228,7 @@ void FigureDescriptor_SeriesDescriptor::InternalSwap(FigureDescriptor_SeriesDesc ::PROTOBUF_NAMESPACE_ID::Metadata FigureDescriptor_SeriesDescriptor::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[31]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[46]); } // =================================================================== @@ -10891,7 +15933,7 @@ void FigureDescriptor_MultiSeriesDescriptor::InternalSwap(FigureDescriptor_Multi ::PROTOBUF_NAMESPACE_ID::Metadata FigureDescriptor_MultiSeriesDescriptor::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[32]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[47]); } // =================================================================== @@ -11175,7 +16217,7 @@ void FigureDescriptor_StringMapWithDefault::InternalSwap(FigureDescriptor_String ::PROTOBUF_NAMESPACE_ID::Metadata FigureDescriptor_StringMapWithDefault::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[33]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[48]); } // =================================================================== @@ -11427,7 +16469,7 @@ void FigureDescriptor_DoubleMapWithDefault::InternalSwap(FigureDescriptor_Double ::PROTOBUF_NAMESPACE_ID::Metadata FigureDescriptor_DoubleMapWithDefault::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[34]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[49]); } // =================================================================== @@ -11679,7 +16721,7 @@ void FigureDescriptor_BoolMapWithDefault::InternalSwap(FigureDescriptor_BoolMapW ::PROTOBUF_NAMESPACE_ID::Metadata FigureDescriptor_BoolMapWithDefault::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[35]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[50]); } // =================================================================== @@ -12554,7 +17596,7 @@ void FigureDescriptor_AxisDescriptor::InternalSwap(FigureDescriptor_AxisDescript ::PROTOBUF_NAMESPACE_ID::Metadata FigureDescriptor_AxisDescriptor::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[36]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[51]); } // =================================================================== @@ -12797,7 +17839,7 @@ void FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod::InternalSwap(Fi ::PROTOBUF_NAMESPACE_ID::Metadata FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[37]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[52]); } // =================================================================== @@ -13017,7 +18059,7 @@ void FigureDescriptor_BusinessCalendarDescriptor_Holiday::InternalSwap(FigureDes ::PROTOBUF_NAMESPACE_ID::Metadata FigureDescriptor_BusinessCalendarDescriptor_Holiday::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[38]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[53]); } // =================================================================== @@ -13244,7 +18286,7 @@ void FigureDescriptor_BusinessCalendarDescriptor_LocalDate::InternalSwap(FigureD ::PROTOBUF_NAMESPACE_ID::Metadata FigureDescriptor_BusinessCalendarDescriptor_LocalDate::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[39]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[54]); } // =================================================================== @@ -13596,7 +18638,7 @@ void FigureDescriptor_BusinessCalendarDescriptor::InternalSwap(FigureDescriptor_ ::PROTOBUF_NAMESPACE_ID::Metadata FigureDescriptor_BusinessCalendarDescriptor::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[40]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[55]); } // =================================================================== @@ -13902,7 +18944,7 @@ void FigureDescriptor_MultiSeriesSourceDescriptor::InternalSwap(FigureDescriptor ::PROTOBUF_NAMESPACE_ID::Metadata FigureDescriptor_MultiSeriesSourceDescriptor::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[41]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[56]); } // =================================================================== @@ -14318,7 +19360,7 @@ void FigureDescriptor_SourceDescriptor::InternalSwap(FigureDescriptor_SourceDesc ::PROTOBUF_NAMESPACE_ID::Metadata FigureDescriptor_SourceDescriptor::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[42]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[57]); } // =================================================================== @@ -14565,7 +19607,7 @@ void FigureDescriptor_OneClickDescriptor::InternalSwap(FigureDescriptor_OneClick ::PROTOBUF_NAMESPACE_ID::Metadata FigureDescriptor_OneClickDescriptor::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[43]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[58]); } // =================================================================== @@ -15022,7 +20064,7 @@ void FigureDescriptor::InternalSwap(FigureDescriptor* other) { ::PROTOBUF_NAMESPACE_ID::Metadata FigureDescriptor::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2fconsole_2eproto_getter, &descriptor_table_deephaven_2fproto_2fconsole_2eproto_once, - file_level_metadata_deephaven_2fproto_2fconsole_2eproto[44]); + file_level_metadata_deephaven_2fproto_2fconsole_2eproto[59]); } // @@protoc_insertion_point(namespace_scope) @@ -15089,6 +20131,14 @@ template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::Ca Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::CancelCommandResponse >(Arena* arena) { return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::CancelCommandResponse >(arena); } +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse >(arena); +} template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest* Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest >(Arena* arena) { return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::AutoCompleteRequest >(arena); @@ -15133,6 +20183,10 @@ template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::Po Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::Position >(Arena* arena) { return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::Position >(arena); } +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::MarkupContent* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::MarkupContent >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::MarkupContent >(arena); +} template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest >(Arena* arena) { return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest >(arena); @@ -15153,6 +20207,54 @@ template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::Te Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::TextEdit >(Arena* arena) { return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::TextEdit >(arena); } +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext >(arena); +} +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::SignatureInformation* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::SignatureInformation >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::SignatureInformation >(arena); +} +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::ParameterInformation* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::ParameterInformation >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::ParameterInformation >(arena); +} +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription >(arena); +} +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::Diagnostic* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::Diagnostic >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::Diagnostic >(arena); +} template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor* Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor >(Arena* arena) { return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor >(arena); diff --git a/cpp-client/deephaven/client/proto/deephaven/proto/console.pb.h b/cpp-client/deephaven/client/proto/deephaven/proto/console.pb.h index 904c06d7a05..e6adefac760 100644 --- a/cpp-client/deephaven/client/proto/deephaven/proto/console.pb.h +++ b/cpp-client/deephaven/client/proto/deephaven/proto/console.pb.h @@ -69,6 +69,12 @@ extern BindTableToVariableResponseDefaultTypeInternal _BindTableToVariableRespon class BrowserNextResponse; struct BrowserNextResponseDefaultTypeInternal; extern BrowserNextResponseDefaultTypeInternal _BrowserNextResponse_default_instance_; +class CancelAutoCompleteRequest; +struct CancelAutoCompleteRequestDefaultTypeInternal; +extern CancelAutoCompleteRequestDefaultTypeInternal _CancelAutoCompleteRequest_default_instance_; +class CancelAutoCompleteResponse; +struct CancelAutoCompleteResponseDefaultTypeInternal; +extern CancelAutoCompleteResponseDefaultTypeInternal _CancelAutoCompleteResponse_default_instance_; class CancelCommandRequest; struct CancelCommandRequestDefaultTypeInternal; extern CancelCommandRequestDefaultTypeInternal _CancelCommandRequest_default_instance_; @@ -90,6 +96,12 @@ extern CompletionContextDefaultTypeInternal _CompletionContext_default_instance_ class CompletionItem; struct CompletionItemDefaultTypeInternal; extern CompletionItemDefaultTypeInternal _CompletionItem_default_instance_; +class Diagnostic; +struct DiagnosticDefaultTypeInternal; +extern DiagnosticDefaultTypeInternal _Diagnostic_default_instance_; +class Diagnostic_CodeDescription; +struct Diagnostic_CodeDescriptionDefaultTypeInternal; +extern Diagnostic_CodeDescriptionDefaultTypeInternal _Diagnostic_CodeDescription_default_instance_; class DocumentRange; struct DocumentRangeDefaultTypeInternal; extern DocumentRangeDefaultTypeInternal _DocumentRange_default_instance_; @@ -156,24 +168,57 @@ extern GetConsoleTypesRequestDefaultTypeInternal _GetConsoleTypesRequest_default class GetConsoleTypesResponse; struct GetConsoleTypesResponseDefaultTypeInternal; extern GetConsoleTypesResponseDefaultTypeInternal _GetConsoleTypesResponse_default_instance_; +class GetDiagnosticRequest; +struct GetDiagnosticRequestDefaultTypeInternal; +extern GetDiagnosticRequestDefaultTypeInternal _GetDiagnosticRequest_default_instance_; class GetHeapInfoRequest; struct GetHeapInfoRequestDefaultTypeInternal; extern GetHeapInfoRequestDefaultTypeInternal _GetHeapInfoRequest_default_instance_; class GetHeapInfoResponse; struct GetHeapInfoResponseDefaultTypeInternal; extern GetHeapInfoResponseDefaultTypeInternal _GetHeapInfoResponse_default_instance_; +class GetHoverRequest; +struct GetHoverRequestDefaultTypeInternal; +extern GetHoverRequestDefaultTypeInternal _GetHoverRequest_default_instance_; +class GetHoverResponse; +struct GetHoverResponseDefaultTypeInternal; +extern GetHoverResponseDefaultTypeInternal _GetHoverResponse_default_instance_; +class GetPublishDiagnosticResponse; +struct GetPublishDiagnosticResponseDefaultTypeInternal; +extern GetPublishDiagnosticResponseDefaultTypeInternal _GetPublishDiagnosticResponse_default_instance_; +class GetPullDiagnosticResponse; +struct GetPullDiagnosticResponseDefaultTypeInternal; +extern GetPullDiagnosticResponseDefaultTypeInternal _GetPullDiagnosticResponse_default_instance_; +class GetSignatureHelpRequest; +struct GetSignatureHelpRequestDefaultTypeInternal; +extern GetSignatureHelpRequestDefaultTypeInternal _GetSignatureHelpRequest_default_instance_; +class GetSignatureHelpResponse; +struct GetSignatureHelpResponseDefaultTypeInternal; +extern GetSignatureHelpResponseDefaultTypeInternal _GetSignatureHelpResponse_default_instance_; class LogSubscriptionData; struct LogSubscriptionDataDefaultTypeInternal; extern LogSubscriptionDataDefaultTypeInternal _LogSubscriptionData_default_instance_; class LogSubscriptionRequest; struct LogSubscriptionRequestDefaultTypeInternal; extern LogSubscriptionRequestDefaultTypeInternal _LogSubscriptionRequest_default_instance_; +class MarkupContent; +struct MarkupContentDefaultTypeInternal; +extern MarkupContentDefaultTypeInternal _MarkupContent_default_instance_; class OpenDocumentRequest; struct OpenDocumentRequestDefaultTypeInternal; extern OpenDocumentRequestDefaultTypeInternal _OpenDocumentRequest_default_instance_; +class ParameterInformation; +struct ParameterInformationDefaultTypeInternal; +extern ParameterInformationDefaultTypeInternal _ParameterInformation_default_instance_; class Position; struct PositionDefaultTypeInternal; extern PositionDefaultTypeInternal _Position_default_instance_; +class SignatureHelpContext; +struct SignatureHelpContextDefaultTypeInternal; +extern SignatureHelpContextDefaultTypeInternal _SignatureHelpContext_default_instance_; +class SignatureInformation; +struct SignatureInformationDefaultTypeInternal; +extern SignatureInformationDefaultTypeInternal _SignatureInformation_default_instance_; class StartConsoleRequest; struct StartConsoleRequestDefaultTypeInternal; extern StartConsoleRequestDefaultTypeInternal _StartConsoleRequest_default_instance_; @@ -201,6 +246,8 @@ template<> ::io::deephaven::proto::backplane::script::grpc::AutoCompleteResponse template<> ::io::deephaven::proto::backplane::script::grpc::BindTableToVariableRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::BindTableToVariableRequest>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::BindTableToVariableResponse* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::BindTableToVariableResponse>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::BrowserNextResponse* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::BrowserNextResponse>(Arena*); +template<> ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteRequest>(Arena*); +template<> ::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::CancelAutoCompleteResponse>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::CancelCommandRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::CancelCommandRequest>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::CancelCommandResponse* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::CancelCommandResponse>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest>(Arena*); @@ -208,6 +255,8 @@ template<> ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentReques template<> ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::CompletionContext* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::CompletionContext>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::CompletionItem* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::CompletionItem>(Arena*); +template<> ::io::deephaven::proto::backplane::script::grpc::Diagnostic* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::Diagnostic>(Arena*); +template<> ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::DocumentRange* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::DocumentRange>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::ExecuteCommandRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::ExecuteCommandRequest>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::ExecuteCommandResponse* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::ExecuteCommandResponse>(Arena*); @@ -230,12 +279,23 @@ template<> ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRe template<> ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::GetConsoleTypesRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::GetConsoleTypesRequest>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::GetConsoleTypesResponse* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::GetConsoleTypesResponse>(Arena*); +template<> ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::GetHeapInfoRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::GetHeapInfoRequest>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::GetHeapInfoResponse* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::GetHeapInfoResponse>(Arena*); +template<> ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::GetHoverRequest>(Arena*); +template<> ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::GetHoverResponse>(Arena*); +template<> ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse>(Arena*); +template<> ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse>(Arena*); +template<> ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest>(Arena*); +template<> ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::LogSubscriptionData* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::LogSubscriptionData>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::LogSubscriptionRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::LogSubscriptionRequest>(Arena*); +template<> ::io::deephaven::proto::backplane::script::grpc::MarkupContent* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::MarkupContent>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest>(Arena*); +template<> ::io::deephaven::proto::backplane::script::grpc::ParameterInformation* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::ParameterInformation>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::Position* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::Position>(Arena*); +template<> ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext>(Arena*); +template<> ::io::deephaven::proto::backplane::script::grpc::SignatureInformation* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::SignatureInformation>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::StartConsoleRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::StartConsoleRequest>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::StartConsoleResponse* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::StartConsoleResponse>(Arena*); template<> ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::TextDocumentItem>(Arena*); @@ -249,6 +309,60 @@ namespace backplane { namespace script { namespace grpc { +enum Diagnostic_DiagnosticSeverity : int { + Diagnostic_DiagnosticSeverity_NOT_SET_SEVERITY = 0, + Diagnostic_DiagnosticSeverity_ERROR = 1, + Diagnostic_DiagnosticSeverity_WARNING = 2, + Diagnostic_DiagnosticSeverity_INFORMATION = 3, + Diagnostic_DiagnosticSeverity_HINT = 4, + Diagnostic_DiagnosticSeverity_Diagnostic_DiagnosticSeverity_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), + Diagnostic_DiagnosticSeverity_Diagnostic_DiagnosticSeverity_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() +}; +bool Diagnostic_DiagnosticSeverity_IsValid(int value); +constexpr Diagnostic_DiagnosticSeverity Diagnostic_DiagnosticSeverity_DiagnosticSeverity_MIN = Diagnostic_DiagnosticSeverity_NOT_SET_SEVERITY; +constexpr Diagnostic_DiagnosticSeverity Diagnostic_DiagnosticSeverity_DiagnosticSeverity_MAX = Diagnostic_DiagnosticSeverity_HINT; +constexpr int Diagnostic_DiagnosticSeverity_DiagnosticSeverity_ARRAYSIZE = Diagnostic_DiagnosticSeverity_DiagnosticSeverity_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Diagnostic_DiagnosticSeverity_descriptor(); +template +inline const std::string& Diagnostic_DiagnosticSeverity_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function Diagnostic_DiagnosticSeverity_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + Diagnostic_DiagnosticSeverity_descriptor(), enum_t_value); +} +inline bool Diagnostic_DiagnosticSeverity_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Diagnostic_DiagnosticSeverity* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + Diagnostic_DiagnosticSeverity_descriptor(), name, value); +} +enum Diagnostic_DiagnosticTag : int { + Diagnostic_DiagnosticTag_NOT_SET_TAG = 0, + Diagnostic_DiagnosticTag_UNNECESSARY = 1, + Diagnostic_DiagnosticTag_DEPRECATED = 2, + Diagnostic_DiagnosticTag_Diagnostic_DiagnosticTag_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), + Diagnostic_DiagnosticTag_Diagnostic_DiagnosticTag_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() +}; +bool Diagnostic_DiagnosticTag_IsValid(int value); +constexpr Diagnostic_DiagnosticTag Diagnostic_DiagnosticTag_DiagnosticTag_MIN = Diagnostic_DiagnosticTag_NOT_SET_TAG; +constexpr Diagnostic_DiagnosticTag Diagnostic_DiagnosticTag_DiagnosticTag_MAX = Diagnostic_DiagnosticTag_DEPRECATED; +constexpr int Diagnostic_DiagnosticTag_DiagnosticTag_ARRAYSIZE = Diagnostic_DiagnosticTag_DiagnosticTag_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Diagnostic_DiagnosticTag_descriptor(); +template +inline const std::string& Diagnostic_DiagnosticTag_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function Diagnostic_DiagnosticTag_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + Diagnostic_DiagnosticTag_descriptor(), enum_t_value); +} +inline bool Diagnostic_DiagnosticTag_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Diagnostic_DiagnosticTag* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + Diagnostic_DiagnosticTag_descriptor(), name, value); +} enum FigureDescriptor_ChartDescriptor_ChartType : int { FigureDescriptor_ChartDescriptor_ChartType_XY = 0, FigureDescriptor_ChartDescriptor_ChartType_PIE = 1, @@ -2617,24 +2731,24 @@ class CancelCommandResponse final : }; // ------------------------------------------------------------------- -class AutoCompleteRequest final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) */ { +class CancelAutoCompleteRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest) */ { public: - inline AutoCompleteRequest() : AutoCompleteRequest(nullptr) {} - ~AutoCompleteRequest() override; - explicit PROTOBUF_CONSTEXPR AutoCompleteRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CancelAutoCompleteRequest() : CancelAutoCompleteRequest(nullptr) {} + ~CancelAutoCompleteRequest() override; + explicit PROTOBUF_CONSTEXPR CancelAutoCompleteRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - AutoCompleteRequest(const AutoCompleteRequest& from); - AutoCompleteRequest(AutoCompleteRequest&& from) noexcept - : AutoCompleteRequest() { + CancelAutoCompleteRequest(const CancelAutoCompleteRequest& from); + CancelAutoCompleteRequest(CancelAutoCompleteRequest&& from) noexcept + : CancelAutoCompleteRequest() { *this = ::std::move(from); } - inline AutoCompleteRequest& operator=(const AutoCompleteRequest& from) { + inline CancelAutoCompleteRequest& operator=(const CancelAutoCompleteRequest& from) { CopyFrom(from); return *this; } - inline AutoCompleteRequest& operator=(AutoCompleteRequest&& from) noexcept { + inline CancelAutoCompleteRequest& operator=(CancelAutoCompleteRequest&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -2657,28 +2771,20 @@ class AutoCompleteRequest final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AutoCompleteRequest& default_instance() { + static const CancelAutoCompleteRequest& default_instance() { return *internal_default_instance(); } - enum RequestCase { - kOpenDocument = 1, - kChangeDocument = 2, - kGetCompletionItems = 3, - kCloseDocument = 4, - REQUEST_NOT_SET = 0, - }; - - static inline const AutoCompleteRequest* internal_default_instance() { - return reinterpret_cast( - &_AutoCompleteRequest_default_instance_); + static inline const CancelAutoCompleteRequest* internal_default_instance() { + return reinterpret_cast( + &_CancelAutoCompleteRequest_default_instance_); } static constexpr int kIndexInFileMessages = 14; - friend void swap(AutoCompleteRequest& a, AutoCompleteRequest& b) { + friend void swap(CancelAutoCompleteRequest& a, CancelAutoCompleteRequest& b) { a.Swap(&b); } - inline void Swap(AutoCompleteRequest* other) { + inline void Swap(CancelAutoCompleteRequest* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -2691,7 +2797,7 @@ class AutoCompleteRequest final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AutoCompleteRequest* other) { + void UnsafeArenaSwap(CancelAutoCompleteRequest* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -2699,13 +2805,13 @@ class AutoCompleteRequest final : // implements Message ---------------------------------------------- - AutoCompleteRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CancelAutoCompleteRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AutoCompleteRequest& from); + void CopyFrom(const CancelAutoCompleteRequest& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const AutoCompleteRequest& from); + void MergeFrom(const CancelAutoCompleteRequest& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -2722,15 +2828,15 @@ class AutoCompleteRequest final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(AutoCompleteRequest* other); + void InternalSwap(CancelAutoCompleteRequest* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest"; + return "io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest"; } protected: - explicit AutoCompleteRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit CancelAutoCompleteRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -2744,132 +2850,67 @@ class AutoCompleteRequest final : // accessors ------------------------------------------------------- enum : int { - kOpenDocumentFieldNumber = 1, - kChangeDocumentFieldNumber = 2, - kGetCompletionItemsFieldNumber = 3, - kCloseDocumentFieldNumber = 4, + kConsoleIdFieldNumber = 1, + kRequestIdFieldNumber = 2, }; - // .io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest open_document = 1; - bool has_open_document() const; - private: - bool _internal_has_open_document() const; - public: - void clear_open_document(); - const ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest& open_document() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* release_open_document(); - ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* mutable_open_document(); - void set_allocated_open_document(::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* open_document); - private: - const ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest& _internal_open_document() const; - ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* _internal_mutable_open_document(); - public: - void unsafe_arena_set_allocated_open_document( - ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* open_document); - ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* unsafe_arena_release_open_document(); - - // .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest change_document = 2; - bool has_change_document() const; - private: - bool _internal_has_change_document() const; - public: - void clear_change_document(); - const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest& change_document() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* release_change_document(); - ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* mutable_change_document(); - void set_allocated_change_document(::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* change_document); - private: - const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest& _internal_change_document() const; - ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* _internal_mutable_change_document(); - public: - void unsafe_arena_set_allocated_change_document( - ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* change_document); - ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* unsafe_arena_release_change_document(); - - // .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest get_completion_items = 3; - bool has_get_completion_items() const; + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; + bool has_console_id() const; private: - bool _internal_has_get_completion_items() const; + bool _internal_has_console_id() const; public: - void clear_get_completion_items(); - const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest& get_completion_items() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* release_get_completion_items(); - ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* mutable_get_completion_items(); - void set_allocated_get_completion_items(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* get_completion_items); + void clear_console_id(); + const ::io::deephaven::proto::backplane::grpc::Ticket& console_id() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::grpc::Ticket* release_console_id(); + ::io::deephaven::proto::backplane::grpc::Ticket* mutable_console_id(); + void set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id); private: - const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest& _internal_get_completion_items() const; - ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* _internal_mutable_get_completion_items(); + const ::io::deephaven::proto::backplane::grpc::Ticket& _internal_console_id() const; + ::io::deephaven::proto::backplane::grpc::Ticket* _internal_mutable_console_id(); public: - void unsafe_arena_set_allocated_get_completion_items( - ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* get_completion_items); - ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* unsafe_arena_release_get_completion_items(); + void unsafe_arena_set_allocated_console_id( + ::io::deephaven::proto::backplane::grpc::Ticket* console_id); + ::io::deephaven::proto::backplane::grpc::Ticket* unsafe_arena_release_console_id(); - // .io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest close_document = 4; - bool has_close_document() const; - private: - bool _internal_has_close_document() const; - public: - void clear_close_document(); - const ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest& close_document() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* release_close_document(); - ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* mutable_close_document(); - void set_allocated_close_document(::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* close_document); + // int32 request_id = 2; + void clear_request_id(); + int32_t request_id() const; + void set_request_id(int32_t value); private: - const ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest& _internal_close_document() const; - ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* _internal_mutable_close_document(); + int32_t _internal_request_id() const; + void _internal_set_request_id(int32_t value); public: - void unsafe_arena_set_allocated_close_document( - ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* close_document); - ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* unsafe_arena_release_close_document(); - void clear_request(); - RequestCase request_case() const; - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest) private: class _Internal; - void set_has_open_document(); - void set_has_change_document(); - void set_has_get_completion_items(); - void set_has_close_document(); - - inline bool has_request() const; - inline void clear_has_request(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - union RequestUnion { - constexpr RequestUnion() : _constinit_{} {} - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; - ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* open_document_; - ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* change_document_; - ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* get_completion_items_; - ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* close_document_; - } request_; + ::io::deephaven::proto::backplane::grpc::Ticket* console_id_; + int32_t request_id_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t _oneof_case_[1]; - friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class AutoCompleteResponse final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) */ { +class CancelAutoCompleteResponse final : + public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteResponse) */ { public: - inline AutoCompleteResponse() : AutoCompleteResponse(nullptr) {} - ~AutoCompleteResponse() override; - explicit PROTOBUF_CONSTEXPR AutoCompleteResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CancelAutoCompleteResponse() : CancelAutoCompleteResponse(nullptr) {} + explicit PROTOBUF_CONSTEXPR CancelAutoCompleteResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - AutoCompleteResponse(const AutoCompleteResponse& from); - AutoCompleteResponse(AutoCompleteResponse&& from) noexcept - : AutoCompleteResponse() { + CancelAutoCompleteResponse(const CancelAutoCompleteResponse& from); + CancelAutoCompleteResponse(CancelAutoCompleteResponse&& from) noexcept + : CancelAutoCompleteResponse() { *this = ::std::move(from); } - inline AutoCompleteResponse& operator=(const AutoCompleteResponse& from) { + inline CancelAutoCompleteResponse& operator=(const CancelAutoCompleteResponse& from) { CopyFrom(from); return *this; } - inline AutoCompleteResponse& operator=(AutoCompleteResponse&& from) noexcept { + inline CancelAutoCompleteResponse& operator=(CancelAutoCompleteResponse&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -2892,25 +2933,20 @@ class AutoCompleteResponse final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AutoCompleteResponse& default_instance() { + static const CancelAutoCompleteResponse& default_instance() { return *internal_default_instance(); } - enum ResponseCase { - kCompletionItems = 1, - RESPONSE_NOT_SET = 0, - }; - - static inline const AutoCompleteResponse* internal_default_instance() { - return reinterpret_cast( - &_AutoCompleteResponse_default_instance_); + static inline const CancelAutoCompleteResponse* internal_default_instance() { + return reinterpret_cast( + &_CancelAutoCompleteResponse_default_instance_); } static constexpr int kIndexInFileMessages = 15; - friend void swap(AutoCompleteResponse& a, AutoCompleteResponse& b) { + friend void swap(CancelAutoCompleteResponse& a, CancelAutoCompleteResponse& b) { a.Swap(&b); } - inline void Swap(AutoCompleteResponse* other) { + inline void Swap(CancelAutoCompleteResponse* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -2923,7 +2959,7 @@ class AutoCompleteResponse final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AutoCompleteResponse* other) { + void UnsafeArenaSwap(CancelAutoCompleteResponse* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -2931,38 +2967,26 @@ class AutoCompleteResponse final : // implements Message ---------------------------------------------- - AutoCompleteResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CancelAutoCompleteResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom; + inline void CopyFrom(const CancelAutoCompleteResponse& from) { + ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(this, from); + } + using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom; + void MergeFrom(const CancelAutoCompleteResponse& from) { + ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(this, from); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AutoCompleteResponse& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const AutoCompleteResponse& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AutoCompleteResponse* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse"; + return "io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteResponse"; } protected: - explicit AutoCompleteResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit CancelAutoCompleteResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -2975,69 +2999,35 @@ class AutoCompleteResponse final : // accessors ------------------------------------------------------- - enum : int { - kCompletionItemsFieldNumber = 1, - }; - // .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse completion_items = 1; - bool has_completion_items() const; - private: - bool _internal_has_completion_items() const; - public: - void clear_completion_items(); - const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse& completion_items() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* release_completion_items(); - ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* mutable_completion_items(); - void set_allocated_completion_items(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* completion_items); - private: - const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse& _internal_completion_items() const; - ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* _internal_mutable_completion_items(); - public: - void unsafe_arena_set_allocated_completion_items( - ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* completion_items); - ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* unsafe_arena_release_completion_items(); - - void clear_response(); - ResponseCase response_case() const; - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteResponse) private: class _Internal; - void set_has_completion_items(); - - inline bool has_response() const; - inline void clear_has_response(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - union ResponseUnion { - constexpr ResponseUnion() : _constinit_{} {} - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; - ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* completion_items_; - } response_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t _oneof_case_[1]; - friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class BrowserNextResponse final : - public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.BrowserNextResponse) */ { +class AutoCompleteRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) */ { public: - inline BrowserNextResponse() : BrowserNextResponse(nullptr) {} - explicit PROTOBUF_CONSTEXPR BrowserNextResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AutoCompleteRequest() : AutoCompleteRequest(nullptr) {} + ~AutoCompleteRequest() override; + explicit PROTOBUF_CONSTEXPR AutoCompleteRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - BrowserNextResponse(const BrowserNextResponse& from); - BrowserNextResponse(BrowserNextResponse&& from) noexcept - : BrowserNextResponse() { - *this = ::std::move(from); + AutoCompleteRequest(const AutoCompleteRequest& from); + AutoCompleteRequest(AutoCompleteRequest&& from) noexcept + : AutoCompleteRequest() { + *this = ::std::move(from); } - inline BrowserNextResponse& operator=(const BrowserNextResponse& from) { + inline AutoCompleteRequest& operator=(const AutoCompleteRequest& from) { CopyFrom(from); return *this; } - inline BrowserNextResponse& operator=(BrowserNextResponse&& from) noexcept { + inline AutoCompleteRequest& operator=(AutoCompleteRequest&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -3060,20 +3050,31 @@ class BrowserNextResponse final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const BrowserNextResponse& default_instance() { + static const AutoCompleteRequest& default_instance() { return *internal_default_instance(); } - static inline const BrowserNextResponse* internal_default_instance() { - return reinterpret_cast( - &_BrowserNextResponse_default_instance_); + enum RequestCase { + kOpenDocument = 1, + kChangeDocument = 2, + kGetCompletionItems = 3, + kGetSignatureHelp = 7, + kGetHover = 8, + kGetDiagnostic = 9, + kCloseDocument = 4, + REQUEST_NOT_SET = 0, + }; + + static inline const AutoCompleteRequest* internal_default_instance() { + return reinterpret_cast( + &_AutoCompleteRequest_default_instance_); } static constexpr int kIndexInFileMessages = 16; - friend void swap(BrowserNextResponse& a, BrowserNextResponse& b) { + friend void swap(AutoCompleteRequest& a, AutoCompleteRequest& b) { a.Swap(&b); } - inline void Swap(BrowserNextResponse* other) { + inline void Swap(AutoCompleteRequest* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -3086,7 +3087,7 @@ class BrowserNextResponse final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(BrowserNextResponse* other) { + void UnsafeArenaSwap(AutoCompleteRequest* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -3094,26 +3095,38 @@ class BrowserNextResponse final : // implements Message ---------------------------------------------- - BrowserNextResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom; - inline void CopyFrom(const BrowserNextResponse& from) { - ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(this, from); - } - using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom; - void MergeFrom(const BrowserNextResponse& from) { - ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(this, from); + AutoCompleteRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const AutoCompleteRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const AutoCompleteRequest& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(AutoCompleteRequest* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.BrowserNextResponse"; + return "io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest"; } protected: - explicit BrowserNextResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit AutoCompleteRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -3126,35 +3139,227 @@ class BrowserNextResponse final : // accessors ------------------------------------------------------- - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.BrowserNextResponse) + enum : int { + kConsoleIdFieldNumber = 5, + kRequestIdFieldNumber = 6, + kOpenDocumentFieldNumber = 1, + kChangeDocumentFieldNumber = 2, + kGetCompletionItemsFieldNumber = 3, + kGetSignatureHelpFieldNumber = 7, + kGetHoverFieldNumber = 8, + kGetDiagnosticFieldNumber = 9, + kCloseDocumentFieldNumber = 4, + }; + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 5; + bool has_console_id() const; + private: + bool _internal_has_console_id() const; + public: + void clear_console_id(); + const ::io::deephaven::proto::backplane::grpc::Ticket& console_id() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::grpc::Ticket* release_console_id(); + ::io::deephaven::proto::backplane::grpc::Ticket* mutable_console_id(); + void set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id); + private: + const ::io::deephaven::proto::backplane::grpc::Ticket& _internal_console_id() const; + ::io::deephaven::proto::backplane::grpc::Ticket* _internal_mutable_console_id(); + public: + void unsafe_arena_set_allocated_console_id( + ::io::deephaven::proto::backplane::grpc::Ticket* console_id); + ::io::deephaven::proto::backplane::grpc::Ticket* unsafe_arena_release_console_id(); + + // int32 request_id = 6; + void clear_request_id(); + int32_t request_id() const; + void set_request_id(int32_t value); + private: + int32_t _internal_request_id() const; + void _internal_set_request_id(int32_t value); + public: + + // .io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest open_document = 1; + bool has_open_document() const; + private: + bool _internal_has_open_document() const; + public: + void clear_open_document(); + const ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest& open_document() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* release_open_document(); + ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* mutable_open_document(); + void set_allocated_open_document(::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* open_document); + private: + const ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest& _internal_open_document() const; + ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* _internal_mutable_open_document(); + public: + void unsafe_arena_set_allocated_open_document( + ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* open_document); + ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* unsafe_arena_release_open_document(); + + // .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest change_document = 2; + bool has_change_document() const; + private: + bool _internal_has_change_document() const; + public: + void clear_change_document(); + const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest& change_document() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* release_change_document(); + ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* mutable_change_document(); + void set_allocated_change_document(::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* change_document); + private: + const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest& _internal_change_document() const; + ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* _internal_mutable_change_document(); + public: + void unsafe_arena_set_allocated_change_document( + ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* change_document); + ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* unsafe_arena_release_change_document(); + + // .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest get_completion_items = 3; + bool has_get_completion_items() const; + private: + bool _internal_has_get_completion_items() const; + public: + void clear_get_completion_items(); + const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest& get_completion_items() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* release_get_completion_items(); + ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* mutable_get_completion_items(); + void set_allocated_get_completion_items(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* get_completion_items); + private: + const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest& _internal_get_completion_items() const; + ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* _internal_mutable_get_completion_items(); + public: + void unsafe_arena_set_allocated_get_completion_items( + ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* get_completion_items); + ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* unsafe_arena_release_get_completion_items(); + + // .io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest get_signature_help = 7; + bool has_get_signature_help() const; + private: + bool _internal_has_get_signature_help() const; + public: + void clear_get_signature_help(); + const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest& get_signature_help() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* release_get_signature_help(); + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* mutable_get_signature_help(); + void set_allocated_get_signature_help(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* get_signature_help); + private: + const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest& _internal_get_signature_help() const; + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* _internal_mutable_get_signature_help(); + public: + void unsafe_arena_set_allocated_get_signature_help( + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* get_signature_help); + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* unsafe_arena_release_get_signature_help(); + + // .io.deephaven.proto.backplane.script.grpc.GetHoverRequest get_hover = 8; + bool has_get_hover() const; + private: + bool _internal_has_get_hover() const; + public: + void clear_get_hover(); + const ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest& get_hover() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* release_get_hover(); + ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* mutable_get_hover(); + void set_allocated_get_hover(::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* get_hover); + private: + const ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest& _internal_get_hover() const; + ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* _internal_mutable_get_hover(); + public: + void unsafe_arena_set_allocated_get_hover( + ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* get_hover); + ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* unsafe_arena_release_get_hover(); + + // .io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest get_diagnostic = 9; + bool has_get_diagnostic() const; + private: + bool _internal_has_get_diagnostic() const; + public: + void clear_get_diagnostic(); + const ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest& get_diagnostic() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* release_get_diagnostic(); + ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* mutable_get_diagnostic(); + void set_allocated_get_diagnostic(::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* get_diagnostic); + private: + const ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest& _internal_get_diagnostic() const; + ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* _internal_mutable_get_diagnostic(); + public: + void unsafe_arena_set_allocated_get_diagnostic( + ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* get_diagnostic); + ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* unsafe_arena_release_get_diagnostic(); + + // .io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest close_document = 4; + bool has_close_document() const; + private: + bool _internal_has_close_document() const; + public: + void clear_close_document(); + const ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest& close_document() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* release_close_document(); + ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* mutable_close_document(); + void set_allocated_close_document(::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* close_document); + private: + const ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest& _internal_close_document() const; + ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* _internal_mutable_close_document(); + public: + void unsafe_arena_set_allocated_close_document( + ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* close_document); + ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* unsafe_arena_release_close_document(); + + void clear_request(); + RequestCase request_case() const; + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest) private: class _Internal; + void set_has_open_document(); + void set_has_change_document(); + void set_has_get_completion_items(); + void set_has_get_signature_help(); + void set_has_get_hover(); + void set_has_get_diagnostic(); + void set_has_close_document(); + + inline bool has_request() const; + inline void clear_has_request(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; + ::io::deephaven::proto::backplane::grpc::Ticket* console_id_; + int32_t request_id_; + union RequestUnion { + constexpr RequestUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* open_document_; + ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* change_document_; + ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* get_completion_items_; + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* get_signature_help_; + ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* get_hover_; + ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* get_diagnostic_; + ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* close_document_; + } request_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class OpenDocumentRequest final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) */ { +class AutoCompleteResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) */ { public: - inline OpenDocumentRequest() : OpenDocumentRequest(nullptr) {} - ~OpenDocumentRequest() override; - explicit PROTOBUF_CONSTEXPR OpenDocumentRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AutoCompleteResponse() : AutoCompleteResponse(nullptr) {} + ~AutoCompleteResponse() override; + explicit PROTOBUF_CONSTEXPR AutoCompleteResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - OpenDocumentRequest(const OpenDocumentRequest& from); - OpenDocumentRequest(OpenDocumentRequest&& from) noexcept - : OpenDocumentRequest() { + AutoCompleteResponse(const AutoCompleteResponse& from); + AutoCompleteResponse(AutoCompleteResponse&& from) noexcept + : AutoCompleteResponse() { *this = ::std::move(from); } - inline OpenDocumentRequest& operator=(const OpenDocumentRequest& from) { + inline AutoCompleteResponse& operator=(const AutoCompleteResponse& from) { CopyFrom(from); return *this; } - inline OpenDocumentRequest& operator=(OpenDocumentRequest&& from) noexcept { + inline AutoCompleteResponse& operator=(AutoCompleteResponse&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -3177,20 +3382,29 @@ class OpenDocumentRequest final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const OpenDocumentRequest& default_instance() { + static const AutoCompleteResponse& default_instance() { return *internal_default_instance(); } - static inline const OpenDocumentRequest* internal_default_instance() { - return reinterpret_cast( - &_OpenDocumentRequest_default_instance_); + enum ResponseCase { + kCompletionItems = 1, + kSignatures = 4, + kHover = 5, + kDiagnostic = 6, + kDiagnosticPublish = 7, + RESPONSE_NOT_SET = 0, + }; + + static inline const AutoCompleteResponse* internal_default_instance() { + return reinterpret_cast( + &_AutoCompleteResponse_default_instance_); } static constexpr int kIndexInFileMessages = 17; - friend void swap(OpenDocumentRequest& a, OpenDocumentRequest& b) { + friend void swap(AutoCompleteResponse& a, AutoCompleteResponse& b) { a.Swap(&b); } - inline void Swap(OpenDocumentRequest* other) { + inline void Swap(AutoCompleteResponse* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -3203,7 +3417,7 @@ class OpenDocumentRequest final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(OpenDocumentRequest* other) { + void UnsafeArenaSwap(AutoCompleteResponse* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -3211,13 +3425,13 @@ class OpenDocumentRequest final : // implements Message ---------------------------------------------- - OpenDocumentRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AutoCompleteResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const OpenDocumentRequest& from); + void CopyFrom(const AutoCompleteResponse& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const OpenDocumentRequest& from); + void MergeFrom(const AutoCompleteResponse& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -3234,15 +3448,15 @@ class OpenDocumentRequest final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(OpenDocumentRequest* other); + void InternalSwap(AutoCompleteResponse* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest"; + return "io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse"; } protected: - explicit OpenDocumentRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit AutoCompleteResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -3256,77 +3470,174 @@ class OpenDocumentRequest final : // accessors ------------------------------------------------------- enum : int { - kConsoleIdFieldNumber = 1, - kTextDocumentFieldNumber = 2, + kRequestIdFieldNumber = 2, + kSuccessFieldNumber = 3, + kCompletionItemsFieldNumber = 1, + kSignaturesFieldNumber = 4, + kHoverFieldNumber = 5, + kDiagnosticFieldNumber = 6, + kDiagnosticPublishFieldNumber = 7, }; - // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; - bool has_console_id() const; + // int32 request_id = 2; + void clear_request_id(); + int32_t request_id() const; + void set_request_id(int32_t value); private: - bool _internal_has_console_id() const; + int32_t _internal_request_id() const; + void _internal_set_request_id(int32_t value); public: - void clear_console_id(); - const ::io::deephaven::proto::backplane::grpc::Ticket& console_id() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::grpc::Ticket* release_console_id(); - ::io::deephaven::proto::backplane::grpc::Ticket* mutable_console_id(); - void set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id); + + // bool success = 3; + void clear_success(); + bool success() const; + void set_success(bool value); private: - const ::io::deephaven::proto::backplane::grpc::Ticket& _internal_console_id() const; - ::io::deephaven::proto::backplane::grpc::Ticket* _internal_mutable_console_id(); + bool _internal_success() const; + void _internal_set_success(bool value); public: - void unsafe_arena_set_allocated_console_id( - ::io::deephaven::proto::backplane::grpc::Ticket* console_id); - ::io::deephaven::proto::backplane::grpc::Ticket* unsafe_arena_release_console_id(); - // .io.deephaven.proto.backplane.script.grpc.TextDocumentItem text_document = 2; - bool has_text_document() const; + // .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse completion_items = 1; + bool has_completion_items() const; private: - bool _internal_has_text_document() const; + bool _internal_has_completion_items() const; public: - void clear_text_document(); - const ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem& text_document() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* release_text_document(); - ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* mutable_text_document(); - void set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* text_document); + void clear_completion_items(); + const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse& completion_items() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* release_completion_items(); + ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* mutable_completion_items(); + void set_allocated_completion_items(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* completion_items); private: - const ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem& _internal_text_document() const; - ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* _internal_mutable_text_document(); + const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse& _internal_completion_items() const; + ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* _internal_mutable_completion_items(); public: - void unsafe_arena_set_allocated_text_document( - ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* text_document); - ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* unsafe_arena_release_text_document(); + void unsafe_arena_set_allocated_completion_items( + ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* completion_items); + ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* unsafe_arena_release_completion_items(); - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) + // .io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse signatures = 4; + bool has_signatures() const; + private: + bool _internal_has_signatures() const; + public: + void clear_signatures(); + const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse& signatures() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* release_signatures(); + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* mutable_signatures(); + void set_allocated_signatures(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* signatures); + private: + const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse& _internal_signatures() const; + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* _internal_mutable_signatures(); + public: + void unsafe_arena_set_allocated_signatures( + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* signatures); + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* unsafe_arena_release_signatures(); + + // .io.deephaven.proto.backplane.script.grpc.GetHoverResponse hover = 5; + bool has_hover() const; + private: + bool _internal_has_hover() const; + public: + void clear_hover(); + const ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse& hover() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* release_hover(); + ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* mutable_hover(); + void set_allocated_hover(::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* hover); + private: + const ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse& _internal_hover() const; + ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* _internal_mutable_hover(); + public: + void unsafe_arena_set_allocated_hover( + ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* hover); + ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* unsafe_arena_release_hover(); + + // .io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse diagnostic = 6; + bool has_diagnostic() const; + private: + bool _internal_has_diagnostic() const; + public: + void clear_diagnostic(); + const ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse& diagnostic() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* release_diagnostic(); + ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* mutable_diagnostic(); + void set_allocated_diagnostic(::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* diagnostic); + private: + const ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse& _internal_diagnostic() const; + ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* _internal_mutable_diagnostic(); + public: + void unsafe_arena_set_allocated_diagnostic( + ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* diagnostic); + ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* unsafe_arena_release_diagnostic(); + + // .io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse diagnostic_publish = 7; + bool has_diagnostic_publish() const; + private: + bool _internal_has_diagnostic_publish() const; + public: + void clear_diagnostic_publish(); + const ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse& diagnostic_publish() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* release_diagnostic_publish(); + ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* mutable_diagnostic_publish(); + void set_allocated_diagnostic_publish(::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* diagnostic_publish); + private: + const ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse& _internal_diagnostic_publish() const; + ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* _internal_mutable_diagnostic_publish(); + public: + void unsafe_arena_set_allocated_diagnostic_publish( + ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* diagnostic_publish); + ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* unsafe_arena_release_diagnostic_publish(); + + void clear_response(); + ResponseCase response_case() const; + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse) private: class _Internal; + void set_has_completion_items(); + void set_has_signatures(); + void set_has_hover(); + void set_has_diagnostic(); + void set_has_diagnostic_publish(); + + inline bool has_response() const; + inline void clear_has_response(); template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::io::deephaven::proto::backplane::grpc::Ticket* console_id_; - ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* text_document_; + int32_t request_id_; + bool success_; + union ResponseUnion { + constexpr ResponseUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* completion_items_; + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* signatures_; + ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* hover_; + ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* diagnostic_; + ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* diagnostic_publish_; + } response_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + uint32_t _oneof_case_[1]; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class TextDocumentItem final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) */ { +class BrowserNextResponse final : + public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.BrowserNextResponse) */ { public: - inline TextDocumentItem() : TextDocumentItem(nullptr) {} - ~TextDocumentItem() override; - explicit PROTOBUF_CONSTEXPR TextDocumentItem(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline BrowserNextResponse() : BrowserNextResponse(nullptr) {} + explicit PROTOBUF_CONSTEXPR BrowserNextResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - TextDocumentItem(const TextDocumentItem& from); - TextDocumentItem(TextDocumentItem&& from) noexcept - : TextDocumentItem() { + BrowserNextResponse(const BrowserNextResponse& from); + BrowserNextResponse(BrowserNextResponse&& from) noexcept + : BrowserNextResponse() { *this = ::std::move(from); } - inline TextDocumentItem& operator=(const TextDocumentItem& from) { + inline BrowserNextResponse& operator=(const BrowserNextResponse& from) { CopyFrom(from); return *this; } - inline TextDocumentItem& operator=(TextDocumentItem&& from) noexcept { + inline BrowserNextResponse& operator=(BrowserNextResponse&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -3349,20 +3660,20 @@ class TextDocumentItem final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TextDocumentItem& default_instance() { + static const BrowserNextResponse& default_instance() { return *internal_default_instance(); } - static inline const TextDocumentItem* internal_default_instance() { - return reinterpret_cast( - &_TextDocumentItem_default_instance_); + static inline const BrowserNextResponse* internal_default_instance() { + return reinterpret_cast( + &_BrowserNextResponse_default_instance_); } static constexpr int kIndexInFileMessages = 18; - friend void swap(TextDocumentItem& a, TextDocumentItem& b) { + friend void swap(BrowserNextResponse& a, BrowserNextResponse& b) { a.Swap(&b); } - inline void Swap(TextDocumentItem* other) { + inline void Swap(BrowserNextResponse* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -3375,7 +3686,7 @@ class TextDocumentItem final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TextDocumentItem* other) { + void UnsafeArenaSwap(BrowserNextResponse* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -3383,38 +3694,26 @@ class TextDocumentItem final : // implements Message ---------------------------------------------- - TextDocumentItem* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + BrowserNextResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom; + inline void CopyFrom(const BrowserNextResponse& from) { + ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(this, from); + } + using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom; + void MergeFrom(const BrowserNextResponse& from) { + ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(this, from); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const TextDocumentItem& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const TextDocumentItem& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(TextDocumentItem* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.TextDocumentItem"; + return "io.deephaven.proto.backplane.script.grpc.BrowserNextResponse"; } protected: - explicit TextDocumentItem(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit BrowserNextResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -3427,97 +3726,35 @@ class TextDocumentItem final : // accessors ------------------------------------------------------- - enum : int { - kUriFieldNumber = 1, - kLanguageIdFieldNumber = 2, - kTextFieldNumber = 4, - kVersionFieldNumber = 3, - }; - // string uri = 1; - void clear_uri(); - const std::string& uri() const; - template - void set_uri(ArgT0&& arg0, ArgT... args); - std::string* mutable_uri(); - PROTOBUF_NODISCARD std::string* release_uri(); - void set_allocated_uri(std::string* uri); - private: - const std::string& _internal_uri() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_uri(const std::string& value); - std::string* _internal_mutable_uri(); - public: - - // string language_id = 2; - void clear_language_id(); - const std::string& language_id() const; - template - void set_language_id(ArgT0&& arg0, ArgT... args); - std::string* mutable_language_id(); - PROTOBUF_NODISCARD std::string* release_language_id(); - void set_allocated_language_id(std::string* language_id); - private: - const std::string& _internal_language_id() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_language_id(const std::string& value); - std::string* _internal_mutable_language_id(); - public: - - // string text = 4; - void clear_text(); - const std::string& text() const; - template - void set_text(ArgT0&& arg0, ArgT... args); - std::string* mutable_text(); - PROTOBUF_NODISCARD std::string* release_text(); - void set_allocated_text(std::string* text); - private: - const std::string& _internal_text() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_text(const std::string& value); - std::string* _internal_mutable_text(); - public: - - // int32 version = 3; - void clear_version(); - int32_t version() const; - void set_version(int32_t value); - private: - int32_t _internal_version() const; - void _internal_set_version(int32_t value); - public: - - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.BrowserNextResponse) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr uri_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr language_id_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr text_; - int32_t version_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class CloseDocumentRequest final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) */ { +class OpenDocumentRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) */ { public: - inline CloseDocumentRequest() : CloseDocumentRequest(nullptr) {} - ~CloseDocumentRequest() override; - explicit PROTOBUF_CONSTEXPR CloseDocumentRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline OpenDocumentRequest() : OpenDocumentRequest(nullptr) {} + ~OpenDocumentRequest() override; + explicit PROTOBUF_CONSTEXPR OpenDocumentRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - CloseDocumentRequest(const CloseDocumentRequest& from); - CloseDocumentRequest(CloseDocumentRequest&& from) noexcept - : CloseDocumentRequest() { + OpenDocumentRequest(const OpenDocumentRequest& from); + OpenDocumentRequest(OpenDocumentRequest&& from) noexcept + : OpenDocumentRequest() { *this = ::std::move(from); } - inline CloseDocumentRequest& operator=(const CloseDocumentRequest& from) { + inline OpenDocumentRequest& operator=(const OpenDocumentRequest& from) { CopyFrom(from); return *this; } - inline CloseDocumentRequest& operator=(CloseDocumentRequest&& from) noexcept { + inline OpenDocumentRequest& operator=(OpenDocumentRequest&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -3540,20 +3777,20 @@ class CloseDocumentRequest final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CloseDocumentRequest& default_instance() { + static const OpenDocumentRequest& default_instance() { return *internal_default_instance(); } - static inline const CloseDocumentRequest* internal_default_instance() { - return reinterpret_cast( - &_CloseDocumentRequest_default_instance_); + static inline const OpenDocumentRequest* internal_default_instance() { + return reinterpret_cast( + &_OpenDocumentRequest_default_instance_); } static constexpr int kIndexInFileMessages = 19; - friend void swap(CloseDocumentRequest& a, CloseDocumentRequest& b) { + friend void swap(OpenDocumentRequest& a, OpenDocumentRequest& b) { a.Swap(&b); } - inline void Swap(CloseDocumentRequest* other) { + inline void Swap(OpenDocumentRequest* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -3566,7 +3803,7 @@ class CloseDocumentRequest final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CloseDocumentRequest* other) { + void UnsafeArenaSwap(OpenDocumentRequest* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -3574,13 +3811,13 @@ class CloseDocumentRequest final : // implements Message ---------------------------------------------- - CloseDocumentRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + OpenDocumentRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CloseDocumentRequest& from); + void CopyFrom(const OpenDocumentRequest& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const CloseDocumentRequest& from); + void MergeFrom(const OpenDocumentRequest& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -3597,15 +3834,15 @@ class CloseDocumentRequest final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(CloseDocumentRequest* other); + void InternalSwap(OpenDocumentRequest* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest"; + return "io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest"; } protected: - explicit CloseDocumentRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit OpenDocumentRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -3622,43 +3859,43 @@ class CloseDocumentRequest final : kConsoleIdFieldNumber = 1, kTextDocumentFieldNumber = 2, }; - // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; - bool has_console_id() const; + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_console_id() const; private: bool _internal_has_console_id() const; public: - void clear_console_id(); - const ::io::deephaven::proto::backplane::grpc::Ticket& console_id() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::grpc::Ticket* release_console_id(); - ::io::deephaven::proto::backplane::grpc::Ticket* mutable_console_id(); - void set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id); + PROTOBUF_DEPRECATED void clear_console_id(); + PROTOBUF_DEPRECATED const ::io::deephaven::proto::backplane::grpc::Ticket& console_id() const; + PROTOBUF_NODISCARD PROTOBUF_DEPRECATED ::io::deephaven::proto::backplane::grpc::Ticket* release_console_id(); + PROTOBUF_DEPRECATED ::io::deephaven::proto::backplane::grpc::Ticket* mutable_console_id(); + PROTOBUF_DEPRECATED void set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id); private: const ::io::deephaven::proto::backplane::grpc::Ticket& _internal_console_id() const; ::io::deephaven::proto::backplane::grpc::Ticket* _internal_mutable_console_id(); public: - void unsafe_arena_set_allocated_console_id( + PROTOBUF_DEPRECATED void unsafe_arena_set_allocated_console_id( ::io::deephaven::proto::backplane::grpc::Ticket* console_id); - ::io::deephaven::proto::backplane::grpc::Ticket* unsafe_arena_release_console_id(); + PROTOBUF_DEPRECATED ::io::deephaven::proto::backplane::grpc::Ticket* unsafe_arena_release_console_id(); - // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; + // .io.deephaven.proto.backplane.script.grpc.TextDocumentItem text_document = 2; bool has_text_document() const; private: bool _internal_has_text_document() const; public: void clear_text_document(); - const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& text_document() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* release_text_document(); - ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* mutable_text_document(); - void set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document); + const ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem& text_document() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* release_text_document(); + ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* mutable_text_document(); + void set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* text_document); private: - const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& _internal_text_document() const; - ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* _internal_mutable_text_document(); + const ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem& _internal_text_document() const; + ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* _internal_mutable_text_document(); public: void unsafe_arena_set_allocated_text_document( - ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document); - ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* unsafe_arena_release_text_document(); + ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* text_document); + ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* unsafe_arena_release_text_document(); - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest) private: class _Internal; @@ -3666,30 +3903,30 @@ class CloseDocumentRequest final : typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; ::io::deephaven::proto::backplane::grpc::Ticket* console_id_; - ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document_; + ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* text_document_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class ChangeDocumentRequest_TextDocumentContentChangeEvent final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) */ { +class TextDocumentItem final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) */ { public: - inline ChangeDocumentRequest_TextDocumentContentChangeEvent() : ChangeDocumentRequest_TextDocumentContentChangeEvent(nullptr) {} - ~ChangeDocumentRequest_TextDocumentContentChangeEvent() override; - explicit PROTOBUF_CONSTEXPR ChangeDocumentRequest_TextDocumentContentChangeEvent(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline TextDocumentItem() : TextDocumentItem(nullptr) {} + ~TextDocumentItem() override; + explicit PROTOBUF_CONSTEXPR TextDocumentItem(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - ChangeDocumentRequest_TextDocumentContentChangeEvent(const ChangeDocumentRequest_TextDocumentContentChangeEvent& from); - ChangeDocumentRequest_TextDocumentContentChangeEvent(ChangeDocumentRequest_TextDocumentContentChangeEvent&& from) noexcept - : ChangeDocumentRequest_TextDocumentContentChangeEvent() { + TextDocumentItem(const TextDocumentItem& from); + TextDocumentItem(TextDocumentItem&& from) noexcept + : TextDocumentItem() { *this = ::std::move(from); } - inline ChangeDocumentRequest_TextDocumentContentChangeEvent& operator=(const ChangeDocumentRequest_TextDocumentContentChangeEvent& from) { + inline TextDocumentItem& operator=(const TextDocumentItem& from) { CopyFrom(from); return *this; } - inline ChangeDocumentRequest_TextDocumentContentChangeEvent& operator=(ChangeDocumentRequest_TextDocumentContentChangeEvent&& from) noexcept { + inline TextDocumentItem& operator=(TextDocumentItem&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -3712,20 +3949,20 @@ class ChangeDocumentRequest_TextDocumentContentChangeEvent final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ChangeDocumentRequest_TextDocumentContentChangeEvent& default_instance() { + static const TextDocumentItem& default_instance() { return *internal_default_instance(); } - static inline const ChangeDocumentRequest_TextDocumentContentChangeEvent* internal_default_instance() { - return reinterpret_cast( - &_ChangeDocumentRequest_TextDocumentContentChangeEvent_default_instance_); + static inline const TextDocumentItem* internal_default_instance() { + return reinterpret_cast( + &_TextDocumentItem_default_instance_); } static constexpr int kIndexInFileMessages = 20; - friend void swap(ChangeDocumentRequest_TextDocumentContentChangeEvent& a, ChangeDocumentRequest_TextDocumentContentChangeEvent& b) { + friend void swap(TextDocumentItem& a, TextDocumentItem& b) { a.Swap(&b); } - inline void Swap(ChangeDocumentRequest_TextDocumentContentChangeEvent* other) { + inline void Swap(TextDocumentItem* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -3738,7 +3975,7 @@ class ChangeDocumentRequest_TextDocumentContentChangeEvent final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ChangeDocumentRequest_TextDocumentContentChangeEvent* other) { + void UnsafeArenaSwap(TextDocumentItem* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -3746,13 +3983,13 @@ class ChangeDocumentRequest_TextDocumentContentChangeEvent final : // implements Message ---------------------------------------------- - ChangeDocumentRequest_TextDocumentContentChangeEvent* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TextDocumentItem* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ChangeDocumentRequest_TextDocumentContentChangeEvent& from); + void CopyFrom(const TextDocumentItem& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const ChangeDocumentRequest_TextDocumentContentChangeEvent& from); + void MergeFrom(const TextDocumentItem& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -3769,15 +4006,15 @@ class ChangeDocumentRequest_TextDocumentContentChangeEvent final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(ChangeDocumentRequest_TextDocumentContentChangeEvent* other); + void InternalSwap(TextDocumentItem* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent"; + return "io.deephaven.proto.backplane.script.grpc.TextDocumentItem"; } protected: - explicit ChangeDocumentRequest_TextDocumentContentChangeEvent(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit TextDocumentItem(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -3791,11 +4028,40 @@ class ChangeDocumentRequest_TextDocumentContentChangeEvent final : // accessors ------------------------------------------------------- enum : int { - kTextFieldNumber = 3, - kRangeFieldNumber = 1, - kRangeLengthFieldNumber = 2, + kUriFieldNumber = 1, + kLanguageIdFieldNumber = 2, + kTextFieldNumber = 4, + kVersionFieldNumber = 3, }; - // string text = 3; + // string uri = 1; + void clear_uri(); + const std::string& uri() const; + template + void set_uri(ArgT0&& arg0, ArgT... args); + std::string* mutable_uri(); + PROTOBUF_NODISCARD std::string* release_uri(); + void set_allocated_uri(std::string* uri); + private: + const std::string& _internal_uri() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_uri(const std::string& value); + std::string* _internal_mutable_uri(); + public: + + // string language_id = 2; + void clear_language_id(); + const std::string& language_id() const; + template + void set_language_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_language_id(); + PROTOBUF_NODISCARD std::string* release_language_id(); + void set_allocated_language_id(std::string* language_id); + private: + const std::string& _internal_language_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_language_id(const std::string& value); + std::string* _internal_mutable_language_id(); + public: + + // string text = 4; void clear_text(); const std::string& text() const; template @@ -3809,66 +4075,49 @@ class ChangeDocumentRequest_TextDocumentContentChangeEvent final : std::string* _internal_mutable_text(); public: - // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; - bool has_range() const; - private: - bool _internal_has_range() const; - public: - void clear_range(); - const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& range() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::DocumentRange* release_range(); - ::io::deephaven::proto::backplane::script::grpc::DocumentRange* mutable_range(); - void set_allocated_range(::io::deephaven::proto::backplane::script::grpc::DocumentRange* range); - private: - const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& _internal_range() const; - ::io::deephaven::proto::backplane::script::grpc::DocumentRange* _internal_mutable_range(); - public: - void unsafe_arena_set_allocated_range( - ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range); - ::io::deephaven::proto::backplane::script::grpc::DocumentRange* unsafe_arena_release_range(); - - // int32 range_length = 2; - void clear_range_length(); - int32_t range_length() const; - void set_range_length(int32_t value); + // int32 version = 3; + void clear_version(); + int32_t version() const; + void set_version(int32_t value); private: - int32_t _internal_range_length() const; - void _internal_set_range_length(int32_t value); + int32_t _internal_version() const; + void _internal_set_version(int32_t value); public: - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.TextDocumentItem) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr uri_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr language_id_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr text_; - ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range_; - int32_t range_length_; + int32_t version_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class ChangeDocumentRequest final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) */ { +class CloseDocumentRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) */ { public: - inline ChangeDocumentRequest() : ChangeDocumentRequest(nullptr) {} - ~ChangeDocumentRequest() override; - explicit PROTOBUF_CONSTEXPR ChangeDocumentRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CloseDocumentRequest() : CloseDocumentRequest(nullptr) {} + ~CloseDocumentRequest() override; + explicit PROTOBUF_CONSTEXPR CloseDocumentRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - ChangeDocumentRequest(const ChangeDocumentRequest& from); - ChangeDocumentRequest(ChangeDocumentRequest&& from) noexcept - : ChangeDocumentRequest() { + CloseDocumentRequest(const CloseDocumentRequest& from); + CloseDocumentRequest(CloseDocumentRequest&& from) noexcept + : CloseDocumentRequest() { *this = ::std::move(from); } - inline ChangeDocumentRequest& operator=(const ChangeDocumentRequest& from) { + inline CloseDocumentRequest& operator=(const CloseDocumentRequest& from) { CopyFrom(from); return *this; } - inline ChangeDocumentRequest& operator=(ChangeDocumentRequest&& from) noexcept { + inline CloseDocumentRequest& operator=(CloseDocumentRequest&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -3891,20 +4140,20 @@ class ChangeDocumentRequest final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ChangeDocumentRequest& default_instance() { + static const CloseDocumentRequest& default_instance() { return *internal_default_instance(); } - static inline const ChangeDocumentRequest* internal_default_instance() { - return reinterpret_cast( - &_ChangeDocumentRequest_default_instance_); + static inline const CloseDocumentRequest* internal_default_instance() { + return reinterpret_cast( + &_CloseDocumentRequest_default_instance_); } static constexpr int kIndexInFileMessages = 21; - friend void swap(ChangeDocumentRequest& a, ChangeDocumentRequest& b) { + friend void swap(CloseDocumentRequest& a, CloseDocumentRequest& b) { a.Swap(&b); } - inline void Swap(ChangeDocumentRequest* other) { + inline void Swap(CloseDocumentRequest* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -3917,7 +4166,7 @@ class ChangeDocumentRequest final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ChangeDocumentRequest* other) { + void UnsafeArenaSwap(CloseDocumentRequest* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -3925,13 +4174,13 @@ class ChangeDocumentRequest final : // implements Message ---------------------------------------------- - ChangeDocumentRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CloseDocumentRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ChangeDocumentRequest& from); + void CopyFrom(const CloseDocumentRequest& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const ChangeDocumentRequest& from); + void MergeFrom(const CloseDocumentRequest& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -3948,15 +4197,15 @@ class ChangeDocumentRequest final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(ChangeDocumentRequest* other); + void InternalSwap(CloseDocumentRequest* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest"; + return "io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest"; } protected: - explicit ChangeDocumentRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit CloseDocumentRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -3967,50 +4216,29 @@ class ChangeDocumentRequest final : // nested types ---------------------------------------------------- - typedef ChangeDocumentRequest_TextDocumentContentChangeEvent TextDocumentContentChangeEvent; - // accessors ------------------------------------------------------- enum : int { - kContentChangesFieldNumber = 3, kConsoleIdFieldNumber = 1, kTextDocumentFieldNumber = 2, }; - // repeated .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent content_changes = 3; - int content_changes_size() const; - private: - int _internal_content_changes_size() const; - public: - void clear_content_changes(); - ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent* mutable_content_changes(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent >* - mutable_content_changes(); - private: - const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent& _internal_content_changes(int index) const; - ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent* _internal_add_content_changes(); - public: - const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent& content_changes(int index) const; - ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent* add_content_changes(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent >& - content_changes() const; - - // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; - bool has_console_id() const; + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_console_id() const; private: bool _internal_has_console_id() const; public: - void clear_console_id(); - const ::io::deephaven::proto::backplane::grpc::Ticket& console_id() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::grpc::Ticket* release_console_id(); - ::io::deephaven::proto::backplane::grpc::Ticket* mutable_console_id(); - void set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id); + PROTOBUF_DEPRECATED void clear_console_id(); + PROTOBUF_DEPRECATED const ::io::deephaven::proto::backplane::grpc::Ticket& console_id() const; + PROTOBUF_NODISCARD PROTOBUF_DEPRECATED ::io::deephaven::proto::backplane::grpc::Ticket* release_console_id(); + PROTOBUF_DEPRECATED ::io::deephaven::proto::backplane::grpc::Ticket* mutable_console_id(); + PROTOBUF_DEPRECATED void set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id); private: const ::io::deephaven::proto::backplane::grpc::Ticket& _internal_console_id() const; ::io::deephaven::proto::backplane::grpc::Ticket* _internal_mutable_console_id(); public: - void unsafe_arena_set_allocated_console_id( + PROTOBUF_DEPRECATED void unsafe_arena_set_allocated_console_id( ::io::deephaven::proto::backplane::grpc::Ticket* console_id); - ::io::deephaven::proto::backplane::grpc::Ticket* unsafe_arena_release_console_id(); + PROTOBUF_DEPRECATED ::io::deephaven::proto::backplane::grpc::Ticket* unsafe_arena_release_console_id(); // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; bool has_text_document() const; @@ -4030,14 +4258,13 @@ class ChangeDocumentRequest final : ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document); ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* unsafe_arena_release_text_document(); - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent > content_changes_; ::io::deephaven::proto::backplane::grpc::Ticket* console_id_; ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; @@ -4045,24 +4272,24 @@ class ChangeDocumentRequest final : }; // ------------------------------------------------------------------- -class DocumentRange final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.DocumentRange) */ { +class ChangeDocumentRequest_TextDocumentContentChangeEvent final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) */ { public: - inline DocumentRange() : DocumentRange(nullptr) {} - ~DocumentRange() override; - explicit PROTOBUF_CONSTEXPR DocumentRange(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ChangeDocumentRequest_TextDocumentContentChangeEvent() : ChangeDocumentRequest_TextDocumentContentChangeEvent(nullptr) {} + ~ChangeDocumentRequest_TextDocumentContentChangeEvent() override; + explicit PROTOBUF_CONSTEXPR ChangeDocumentRequest_TextDocumentContentChangeEvent(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - DocumentRange(const DocumentRange& from); - DocumentRange(DocumentRange&& from) noexcept - : DocumentRange() { + ChangeDocumentRequest_TextDocumentContentChangeEvent(const ChangeDocumentRequest_TextDocumentContentChangeEvent& from); + ChangeDocumentRequest_TextDocumentContentChangeEvent(ChangeDocumentRequest_TextDocumentContentChangeEvent&& from) noexcept + : ChangeDocumentRequest_TextDocumentContentChangeEvent() { *this = ::std::move(from); } - inline DocumentRange& operator=(const DocumentRange& from) { + inline ChangeDocumentRequest_TextDocumentContentChangeEvent& operator=(const ChangeDocumentRequest_TextDocumentContentChangeEvent& from) { CopyFrom(from); return *this; } - inline DocumentRange& operator=(DocumentRange&& from) noexcept { + inline ChangeDocumentRequest_TextDocumentContentChangeEvent& operator=(ChangeDocumentRequest_TextDocumentContentChangeEvent&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -4085,20 +4312,20 @@ class DocumentRange final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const DocumentRange& default_instance() { + static const ChangeDocumentRequest_TextDocumentContentChangeEvent& default_instance() { return *internal_default_instance(); } - static inline const DocumentRange* internal_default_instance() { - return reinterpret_cast( - &_DocumentRange_default_instance_); + static inline const ChangeDocumentRequest_TextDocumentContentChangeEvent* internal_default_instance() { + return reinterpret_cast( + &_ChangeDocumentRequest_TextDocumentContentChangeEvent_default_instance_); } static constexpr int kIndexInFileMessages = 22; - friend void swap(DocumentRange& a, DocumentRange& b) { + friend void swap(ChangeDocumentRequest_TextDocumentContentChangeEvent& a, ChangeDocumentRequest_TextDocumentContentChangeEvent& b) { a.Swap(&b); } - inline void Swap(DocumentRange* other) { + inline void Swap(ChangeDocumentRequest_TextDocumentContentChangeEvent* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -4111,7 +4338,7 @@ class DocumentRange final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(DocumentRange* other) { + void UnsafeArenaSwap(ChangeDocumentRequest_TextDocumentContentChangeEvent* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -4119,13 +4346,13 @@ class DocumentRange final : // implements Message ---------------------------------------------- - DocumentRange* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ChangeDocumentRequest_TextDocumentContentChangeEvent* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const DocumentRange& from); + void CopyFrom(const ChangeDocumentRequest_TextDocumentContentChangeEvent& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const DocumentRange& from); + void MergeFrom(const ChangeDocumentRequest_TextDocumentContentChangeEvent& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -4142,15 +4369,15 @@ class DocumentRange final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(DocumentRange* other); + void InternalSwap(ChangeDocumentRequest_TextDocumentContentChangeEvent* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.DocumentRange"; + return "io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent"; } protected: - explicit DocumentRange(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit ChangeDocumentRequest_TextDocumentContentChangeEvent(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -4164,77 +4391,84 @@ class DocumentRange final : // accessors ------------------------------------------------------- enum : int { - kStartFieldNumber = 1, - kEndFieldNumber = 2, + kTextFieldNumber = 3, + kRangeFieldNumber = 1, + kRangeLengthFieldNumber = 2, }; - // .io.deephaven.proto.backplane.script.grpc.Position start = 1; - bool has_start() const; + // string text = 3; + void clear_text(); + const std::string& text() const; + template + void set_text(ArgT0&& arg0, ArgT... args); + std::string* mutable_text(); + PROTOBUF_NODISCARD std::string* release_text(); + void set_allocated_text(std::string* text); private: - bool _internal_has_start() const; + const std::string& _internal_text() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_text(const std::string& value); + std::string* _internal_mutable_text(); public: - void clear_start(); - const ::io::deephaven::proto::backplane::script::grpc::Position& start() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::Position* release_start(); - ::io::deephaven::proto::backplane::script::grpc::Position* mutable_start(); - void set_allocated_start(::io::deephaven::proto::backplane::script::grpc::Position* start); + + // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; + bool has_range() const; private: - const ::io::deephaven::proto::backplane::script::grpc::Position& _internal_start() const; - ::io::deephaven::proto::backplane::script::grpc::Position* _internal_mutable_start(); + bool _internal_has_range() const; public: - void unsafe_arena_set_allocated_start( - ::io::deephaven::proto::backplane::script::grpc::Position* start); - ::io::deephaven::proto::backplane::script::grpc::Position* unsafe_arena_release_start(); - - // .io.deephaven.proto.backplane.script.grpc.Position end = 2; - bool has_end() const; + void clear_range(); + const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& range() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::DocumentRange* release_range(); + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* mutable_range(); + void set_allocated_range(::io::deephaven::proto::backplane::script::grpc::DocumentRange* range); private: - bool _internal_has_end() const; + const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& _internal_range() const; + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* _internal_mutable_range(); public: - void clear_end(); - const ::io::deephaven::proto::backplane::script::grpc::Position& end() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::Position* release_end(); - ::io::deephaven::proto::backplane::script::grpc::Position* mutable_end(); - void set_allocated_end(::io::deephaven::proto::backplane::script::grpc::Position* end); + void unsafe_arena_set_allocated_range( + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range); + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* unsafe_arena_release_range(); + + // int32 range_length = 2; + void clear_range_length(); + int32_t range_length() const; + void set_range_length(int32_t value); private: - const ::io::deephaven::proto::backplane::script::grpc::Position& _internal_end() const; - ::io::deephaven::proto::backplane::script::grpc::Position* _internal_mutable_end(); + int32_t _internal_range_length() const; + void _internal_set_range_length(int32_t value); public: - void unsafe_arena_set_allocated_end( - ::io::deephaven::proto::backplane::script::grpc::Position* end); - ::io::deephaven::proto::backplane::script::grpc::Position* unsafe_arena_release_end(); - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.DocumentRange) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::io::deephaven::proto::backplane::script::grpc::Position* start_; - ::io::deephaven::proto::backplane::script::grpc::Position* end_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr text_; + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range_; + int32_t range_length_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class VersionedTextDocumentIdentifier final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) */ { +class ChangeDocumentRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) */ { public: - inline VersionedTextDocumentIdentifier() : VersionedTextDocumentIdentifier(nullptr) {} - ~VersionedTextDocumentIdentifier() override; - explicit PROTOBUF_CONSTEXPR VersionedTextDocumentIdentifier(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ChangeDocumentRequest() : ChangeDocumentRequest(nullptr) {} + ~ChangeDocumentRequest() override; + explicit PROTOBUF_CONSTEXPR ChangeDocumentRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - VersionedTextDocumentIdentifier(const VersionedTextDocumentIdentifier& from); - VersionedTextDocumentIdentifier(VersionedTextDocumentIdentifier&& from) noexcept - : VersionedTextDocumentIdentifier() { + ChangeDocumentRequest(const ChangeDocumentRequest& from); + ChangeDocumentRequest(ChangeDocumentRequest&& from) noexcept + : ChangeDocumentRequest() { *this = ::std::move(from); } - inline VersionedTextDocumentIdentifier& operator=(const VersionedTextDocumentIdentifier& from) { + inline ChangeDocumentRequest& operator=(const ChangeDocumentRequest& from) { CopyFrom(from); return *this; } - inline VersionedTextDocumentIdentifier& operator=(VersionedTextDocumentIdentifier&& from) noexcept { + inline ChangeDocumentRequest& operator=(ChangeDocumentRequest&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -4257,20 +4491,20 @@ class VersionedTextDocumentIdentifier final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const VersionedTextDocumentIdentifier& default_instance() { + static const ChangeDocumentRequest& default_instance() { return *internal_default_instance(); } - static inline const VersionedTextDocumentIdentifier* internal_default_instance() { - return reinterpret_cast( - &_VersionedTextDocumentIdentifier_default_instance_); + static inline const ChangeDocumentRequest* internal_default_instance() { + return reinterpret_cast( + &_ChangeDocumentRequest_default_instance_); } static constexpr int kIndexInFileMessages = 23; - friend void swap(VersionedTextDocumentIdentifier& a, VersionedTextDocumentIdentifier& b) { + friend void swap(ChangeDocumentRequest& a, ChangeDocumentRequest& b) { a.Swap(&b); } - inline void Swap(VersionedTextDocumentIdentifier* other) { + inline void Swap(ChangeDocumentRequest* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -4283,7 +4517,7 @@ class VersionedTextDocumentIdentifier final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(VersionedTextDocumentIdentifier* other) { + void UnsafeArenaSwap(ChangeDocumentRequest* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -4291,13 +4525,13 @@ class VersionedTextDocumentIdentifier final : // implements Message ---------------------------------------------- - VersionedTextDocumentIdentifier* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ChangeDocumentRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const VersionedTextDocumentIdentifier& from); + void CopyFrom(const ChangeDocumentRequest& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const VersionedTextDocumentIdentifier& from); + void MergeFrom(const ChangeDocumentRequest& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -4314,15 +4548,15 @@ class VersionedTextDocumentIdentifier final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(VersionedTextDocumentIdentifier* other); + void InternalSwap(ChangeDocumentRequest* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier"; + return "io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest"; } protected: - explicit VersionedTextDocumentIdentifier(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit ChangeDocumentRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -4333,67 +4567,102 @@ class VersionedTextDocumentIdentifier final : // nested types ---------------------------------------------------- + typedef ChangeDocumentRequest_TextDocumentContentChangeEvent TextDocumentContentChangeEvent; + // accessors ------------------------------------------------------- enum : int { - kUriFieldNumber = 1, - kVersionFieldNumber = 2, + kContentChangesFieldNumber = 3, + kConsoleIdFieldNumber = 1, + kTextDocumentFieldNumber = 2, }; - // string uri = 1; - void clear_uri(); - const std::string& uri() const; - template - void set_uri(ArgT0&& arg0, ArgT... args); - std::string* mutable_uri(); - PROTOBUF_NODISCARD std::string* release_uri(); - void set_allocated_uri(std::string* uri); + // repeated .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent content_changes = 3; + int content_changes_size() const; private: - const std::string& _internal_uri() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_uri(const std::string& value); - std::string* _internal_mutable_uri(); + int _internal_content_changes_size() const; public: + void clear_content_changes(); + ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent* mutable_content_changes(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent >* + mutable_content_changes(); + private: + const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent& _internal_content_changes(int index) const; + ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent* _internal_add_content_changes(); + public: + const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent& content_changes(int index) const; + ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent* add_content_changes(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent >& + content_changes() const; - // int32 version = 2; - void clear_version(); - int32_t version() const; - void set_version(int32_t value); + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_console_id() const; private: - int32_t _internal_version() const; - void _internal_set_version(int32_t value); + bool _internal_has_console_id() const; + public: + PROTOBUF_DEPRECATED void clear_console_id(); + PROTOBUF_DEPRECATED const ::io::deephaven::proto::backplane::grpc::Ticket& console_id() const; + PROTOBUF_NODISCARD PROTOBUF_DEPRECATED ::io::deephaven::proto::backplane::grpc::Ticket* release_console_id(); + PROTOBUF_DEPRECATED ::io::deephaven::proto::backplane::grpc::Ticket* mutable_console_id(); + PROTOBUF_DEPRECATED void set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id); + private: + const ::io::deephaven::proto::backplane::grpc::Ticket& _internal_console_id() const; + ::io::deephaven::proto::backplane::grpc::Ticket* _internal_mutable_console_id(); public: + PROTOBUF_DEPRECATED void unsafe_arena_set_allocated_console_id( + ::io::deephaven::proto::backplane::grpc::Ticket* console_id); + PROTOBUF_DEPRECATED ::io::deephaven::proto::backplane::grpc::Ticket* unsafe_arena_release_console_id(); - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; + bool has_text_document() const; + private: + bool _internal_has_text_document() const; + public: + void clear_text_document(); + const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& text_document() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* release_text_document(); + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* mutable_text_document(); + void set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document); + private: + const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& _internal_text_document() const; + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* _internal_mutable_text_document(); + public: + void unsafe_arena_set_allocated_text_document( + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document); + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* unsafe_arena_release_text_document(); + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr uri_; - int32_t version_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent > content_changes_; + ::io::deephaven::proto::backplane::grpc::Ticket* console_id_; + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class Position final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.Position) */ { +class DocumentRange final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.DocumentRange) */ { public: - inline Position() : Position(nullptr) {} - ~Position() override; - explicit PROTOBUF_CONSTEXPR Position(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline DocumentRange() : DocumentRange(nullptr) {} + ~DocumentRange() override; + explicit PROTOBUF_CONSTEXPR DocumentRange(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - Position(const Position& from); - Position(Position&& from) noexcept - : Position() { - *this = ::std::move(from); - } + DocumentRange(const DocumentRange& from); + DocumentRange(DocumentRange&& from) noexcept + : DocumentRange() { + *this = ::std::move(from); + } - inline Position& operator=(const Position& from) { + inline DocumentRange& operator=(const DocumentRange& from) { CopyFrom(from); return *this; } - inline Position& operator=(Position&& from) noexcept { + inline DocumentRange& operator=(DocumentRange&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -4416,20 +4685,20 @@ class Position final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Position& default_instance() { + static const DocumentRange& default_instance() { return *internal_default_instance(); } - static inline const Position* internal_default_instance() { - return reinterpret_cast( - &_Position_default_instance_); + static inline const DocumentRange* internal_default_instance() { + return reinterpret_cast( + &_DocumentRange_default_instance_); } static constexpr int kIndexInFileMessages = 24; - friend void swap(Position& a, Position& b) { + friend void swap(DocumentRange& a, DocumentRange& b) { a.Swap(&b); } - inline void Swap(Position* other) { + inline void Swap(DocumentRange* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -4442,7 +4711,7 @@ class Position final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Position* other) { + void UnsafeArenaSwap(DocumentRange* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -4450,13 +4719,13 @@ class Position final : // implements Message ---------------------------------------------- - Position* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + DocumentRange* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Position& from); + void CopyFrom(const DocumentRange& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const Position& from); + void MergeFrom(const DocumentRange& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -4473,15 +4742,15 @@ class Position final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(Position* other); + void InternalSwap(DocumentRange* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.Position"; + return "io.deephaven.proto.backplane.script.grpc.DocumentRange"; } protected: - explicit Position(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit DocumentRange(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -4495,59 +4764,77 @@ class Position final : // accessors ------------------------------------------------------- enum : int { - kLineFieldNumber = 1, - kCharacterFieldNumber = 2, + kStartFieldNumber = 1, + kEndFieldNumber = 2, }; - // int32 line = 1; - void clear_line(); - int32_t line() const; - void set_line(int32_t value); + // .io.deephaven.proto.backplane.script.grpc.Position start = 1; + bool has_start() const; private: - int32_t _internal_line() const; - void _internal_set_line(int32_t value); + bool _internal_has_start() const; + public: + void clear_start(); + const ::io::deephaven::proto::backplane::script::grpc::Position& start() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::Position* release_start(); + ::io::deephaven::proto::backplane::script::grpc::Position* mutable_start(); + void set_allocated_start(::io::deephaven::proto::backplane::script::grpc::Position* start); + private: + const ::io::deephaven::proto::backplane::script::grpc::Position& _internal_start() const; + ::io::deephaven::proto::backplane::script::grpc::Position* _internal_mutable_start(); public: + void unsafe_arena_set_allocated_start( + ::io::deephaven::proto::backplane::script::grpc::Position* start); + ::io::deephaven::proto::backplane::script::grpc::Position* unsafe_arena_release_start(); - // int32 character = 2; - void clear_character(); - int32_t character() const; - void set_character(int32_t value); + // .io.deephaven.proto.backplane.script.grpc.Position end = 2; + bool has_end() const; private: - int32_t _internal_character() const; - void _internal_set_character(int32_t value); + bool _internal_has_end() const; + public: + void clear_end(); + const ::io::deephaven::proto::backplane::script::grpc::Position& end() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::Position* release_end(); + ::io::deephaven::proto::backplane::script::grpc::Position* mutable_end(); + void set_allocated_end(::io::deephaven::proto::backplane::script::grpc::Position* end); + private: + const ::io::deephaven::proto::backplane::script::grpc::Position& _internal_end() const; + ::io::deephaven::proto::backplane::script::grpc::Position* _internal_mutable_end(); public: + void unsafe_arena_set_allocated_end( + ::io::deephaven::proto::backplane::script::grpc::Position* end); + ::io::deephaven::proto::backplane::script::grpc::Position* unsafe_arena_release_end(); - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.Position) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.DocumentRange) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - int32_t line_; - int32_t character_; + ::io::deephaven::proto::backplane::script::grpc::Position* start_; + ::io::deephaven::proto::backplane::script::grpc::Position* end_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class GetCompletionItemsRequest final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) */ { +class VersionedTextDocumentIdentifier final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) */ { public: - inline GetCompletionItemsRequest() : GetCompletionItemsRequest(nullptr) {} - ~GetCompletionItemsRequest() override; - explicit PROTOBUF_CONSTEXPR GetCompletionItemsRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline VersionedTextDocumentIdentifier() : VersionedTextDocumentIdentifier(nullptr) {} + ~VersionedTextDocumentIdentifier() override; + explicit PROTOBUF_CONSTEXPR VersionedTextDocumentIdentifier(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - GetCompletionItemsRequest(const GetCompletionItemsRequest& from); - GetCompletionItemsRequest(GetCompletionItemsRequest&& from) noexcept - : GetCompletionItemsRequest() { + VersionedTextDocumentIdentifier(const VersionedTextDocumentIdentifier& from); + VersionedTextDocumentIdentifier(VersionedTextDocumentIdentifier&& from) noexcept + : VersionedTextDocumentIdentifier() { *this = ::std::move(from); } - inline GetCompletionItemsRequest& operator=(const GetCompletionItemsRequest& from) { + inline VersionedTextDocumentIdentifier& operator=(const VersionedTextDocumentIdentifier& from) { CopyFrom(from); return *this; } - inline GetCompletionItemsRequest& operator=(GetCompletionItemsRequest&& from) noexcept { + inline VersionedTextDocumentIdentifier& operator=(VersionedTextDocumentIdentifier&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -4570,20 +4857,20 @@ class GetCompletionItemsRequest final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const GetCompletionItemsRequest& default_instance() { + static const VersionedTextDocumentIdentifier& default_instance() { return *internal_default_instance(); } - static inline const GetCompletionItemsRequest* internal_default_instance() { - return reinterpret_cast( - &_GetCompletionItemsRequest_default_instance_); + static inline const VersionedTextDocumentIdentifier* internal_default_instance() { + return reinterpret_cast( + &_VersionedTextDocumentIdentifier_default_instance_); } static constexpr int kIndexInFileMessages = 25; - friend void swap(GetCompletionItemsRequest& a, GetCompletionItemsRequest& b) { + friend void swap(VersionedTextDocumentIdentifier& a, VersionedTextDocumentIdentifier& b) { a.Swap(&b); } - inline void Swap(GetCompletionItemsRequest* other) { + inline void Swap(VersionedTextDocumentIdentifier* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -4596,7 +4883,7 @@ class GetCompletionItemsRequest final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(GetCompletionItemsRequest* other) { + void UnsafeArenaSwap(VersionedTextDocumentIdentifier* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -4604,13 +4891,13 @@ class GetCompletionItemsRequest final : // implements Message ---------------------------------------------- - GetCompletionItemsRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + VersionedTextDocumentIdentifier* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const GetCompletionItemsRequest& from); + void CopyFrom(const VersionedTextDocumentIdentifier& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const GetCompletionItemsRequest& from); + void MergeFrom(const VersionedTextDocumentIdentifier& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -4627,15 +4914,15 @@ class GetCompletionItemsRequest final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(GetCompletionItemsRequest* other); + void InternalSwap(VersionedTextDocumentIdentifier* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest"; + return "io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier"; } protected: - explicit GetCompletionItemsRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit VersionedTextDocumentIdentifier(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -4649,128 +4936,64 @@ class GetCompletionItemsRequest final : // accessors ------------------------------------------------------- enum : int { - kConsoleIdFieldNumber = 1, - kContextFieldNumber = 2, - kTextDocumentFieldNumber = 3, - kPositionFieldNumber = 4, - kRequestIdFieldNumber = 5, + kUriFieldNumber = 1, + kVersionFieldNumber = 2, }; - // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; - bool has_console_id() const; - private: - bool _internal_has_console_id() const; - public: - void clear_console_id(); - const ::io::deephaven::proto::backplane::grpc::Ticket& console_id() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::grpc::Ticket* release_console_id(); - ::io::deephaven::proto::backplane::grpc::Ticket* mutable_console_id(); - void set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id); - private: - const ::io::deephaven::proto::backplane::grpc::Ticket& _internal_console_id() const; - ::io::deephaven::proto::backplane::grpc::Ticket* _internal_mutable_console_id(); - public: - void unsafe_arena_set_allocated_console_id( - ::io::deephaven::proto::backplane::grpc::Ticket* console_id); - ::io::deephaven::proto::backplane::grpc::Ticket* unsafe_arena_release_console_id(); - - // .io.deephaven.proto.backplane.script.grpc.CompletionContext context = 2; - bool has_context() const; - private: - bool _internal_has_context() const; - public: - void clear_context(); - const ::io::deephaven::proto::backplane::script::grpc::CompletionContext& context() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::CompletionContext* release_context(); - ::io::deephaven::proto::backplane::script::grpc::CompletionContext* mutable_context(); - void set_allocated_context(::io::deephaven::proto::backplane::script::grpc::CompletionContext* context); - private: - const ::io::deephaven::proto::backplane::script::grpc::CompletionContext& _internal_context() const; - ::io::deephaven::proto::backplane::script::grpc::CompletionContext* _internal_mutable_context(); - public: - void unsafe_arena_set_allocated_context( - ::io::deephaven::proto::backplane::script::grpc::CompletionContext* context); - ::io::deephaven::proto::backplane::script::grpc::CompletionContext* unsafe_arena_release_context(); - - // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 3; - bool has_text_document() const; - private: - bool _internal_has_text_document() const; - public: - void clear_text_document(); - const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& text_document() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* release_text_document(); - ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* mutable_text_document(); - void set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document); - private: - const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& _internal_text_document() const; - ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* _internal_mutable_text_document(); - public: - void unsafe_arena_set_allocated_text_document( - ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document); - ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* unsafe_arena_release_text_document(); - - // .io.deephaven.proto.backplane.script.grpc.Position position = 4; - bool has_position() const; - private: - bool _internal_has_position() const; - public: - void clear_position(); - const ::io::deephaven::proto::backplane::script::grpc::Position& position() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::Position* release_position(); - ::io::deephaven::proto::backplane::script::grpc::Position* mutable_position(); - void set_allocated_position(::io::deephaven::proto::backplane::script::grpc::Position* position); + // string uri = 1; + void clear_uri(); + const std::string& uri() const; + template + void set_uri(ArgT0&& arg0, ArgT... args); + std::string* mutable_uri(); + PROTOBUF_NODISCARD std::string* release_uri(); + void set_allocated_uri(std::string* uri); private: - const ::io::deephaven::proto::backplane::script::grpc::Position& _internal_position() const; - ::io::deephaven::proto::backplane::script::grpc::Position* _internal_mutable_position(); + const std::string& _internal_uri() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_uri(const std::string& value); + std::string* _internal_mutable_uri(); public: - void unsafe_arena_set_allocated_position( - ::io::deephaven::proto::backplane::script::grpc::Position* position); - ::io::deephaven::proto::backplane::script::grpc::Position* unsafe_arena_release_position(); - // int32 request_id = 5; - void clear_request_id(); - int32_t request_id() const; - void set_request_id(int32_t value); + // int32 version = 2; + void clear_version(); + int32_t version() const; + void set_version(int32_t value); private: - int32_t _internal_request_id() const; - void _internal_set_request_id(int32_t value); + int32_t _internal_version() const; + void _internal_set_version(int32_t value); public: - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::io::deephaven::proto::backplane::grpc::Ticket* console_id_; - ::io::deephaven::proto::backplane::script::grpc::CompletionContext* context_; - ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document_; - ::io::deephaven::proto::backplane::script::grpc::Position* position_; - int32_t request_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr uri_; + int32_t version_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class CompletionContext final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.CompletionContext) */ { +class Position final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.Position) */ { public: - inline CompletionContext() : CompletionContext(nullptr) {} - ~CompletionContext() override; - explicit PROTOBUF_CONSTEXPR CompletionContext(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline Position() : Position(nullptr) {} + ~Position() override; + explicit PROTOBUF_CONSTEXPR Position(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - CompletionContext(const CompletionContext& from); - CompletionContext(CompletionContext&& from) noexcept - : CompletionContext() { + Position(const Position& from); + Position(Position&& from) noexcept + : Position() { *this = ::std::move(from); } - inline CompletionContext& operator=(const CompletionContext& from) { + inline Position& operator=(const Position& from) { CopyFrom(from); return *this; } - inline CompletionContext& operator=(CompletionContext&& from) noexcept { + inline Position& operator=(Position&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -4793,20 +5016,20 @@ class CompletionContext final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CompletionContext& default_instance() { + static const Position& default_instance() { return *internal_default_instance(); } - static inline const CompletionContext* internal_default_instance() { - return reinterpret_cast( - &_CompletionContext_default_instance_); + static inline const Position* internal_default_instance() { + return reinterpret_cast( + &_Position_default_instance_); } static constexpr int kIndexInFileMessages = 26; - friend void swap(CompletionContext& a, CompletionContext& b) { + friend void swap(Position& a, Position& b) { a.Swap(&b); } - inline void Swap(CompletionContext* other) { + inline void Swap(Position* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -4819,7 +5042,7 @@ class CompletionContext final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CompletionContext* other) { + void UnsafeArenaSwap(Position* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -4827,13 +5050,13 @@ class CompletionContext final : // implements Message ---------------------------------------------- - CompletionContext* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + Position* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CompletionContext& from); + void CopyFrom(const Position& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const CompletionContext& from); + void MergeFrom(const Position& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -4850,15 +5073,15 @@ class CompletionContext final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(CompletionContext* other); + void InternalSwap(Position* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.CompletionContext"; + return "io.deephaven.proto.backplane.script.grpc.Position"; } protected: - explicit CompletionContext(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit Position(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -4872,64 +5095,59 @@ class CompletionContext final : // accessors ------------------------------------------------------- enum : int { - kTriggerCharacterFieldNumber = 2, - kTriggerKindFieldNumber = 1, + kLineFieldNumber = 1, + kCharacterFieldNumber = 2, }; - // string trigger_character = 2; - void clear_trigger_character(); - const std::string& trigger_character() const; - template - void set_trigger_character(ArgT0&& arg0, ArgT... args); - std::string* mutable_trigger_character(); - PROTOBUF_NODISCARD std::string* release_trigger_character(); - void set_allocated_trigger_character(std::string* trigger_character); + // int32 line = 1; + void clear_line(); + int32_t line() const; + void set_line(int32_t value); private: - const std::string& _internal_trigger_character() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_trigger_character(const std::string& value); - std::string* _internal_mutable_trigger_character(); + int32_t _internal_line() const; + void _internal_set_line(int32_t value); public: - // int32 trigger_kind = 1; - void clear_trigger_kind(); - int32_t trigger_kind() const; - void set_trigger_kind(int32_t value); + // int32 character = 2; + void clear_character(); + int32_t character() const; + void set_character(int32_t value); private: - int32_t _internal_trigger_kind() const; - void _internal_set_trigger_kind(int32_t value); + int32_t _internal_character() const; + void _internal_set_character(int32_t value); public: - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.CompletionContext) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.Position) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr trigger_character_; - int32_t trigger_kind_; + int32_t line_; + int32_t character_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class GetCompletionItemsResponse final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) */ { +class MarkupContent final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.MarkupContent) */ { public: - inline GetCompletionItemsResponse() : GetCompletionItemsResponse(nullptr) {} - ~GetCompletionItemsResponse() override; - explicit PROTOBUF_CONSTEXPR GetCompletionItemsResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline MarkupContent() : MarkupContent(nullptr) {} + ~MarkupContent() override; + explicit PROTOBUF_CONSTEXPR MarkupContent(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - GetCompletionItemsResponse(const GetCompletionItemsResponse& from); - GetCompletionItemsResponse(GetCompletionItemsResponse&& from) noexcept - : GetCompletionItemsResponse() { + MarkupContent(const MarkupContent& from); + MarkupContent(MarkupContent&& from) noexcept + : MarkupContent() { *this = ::std::move(from); } - inline GetCompletionItemsResponse& operator=(const GetCompletionItemsResponse& from) { + inline MarkupContent& operator=(const MarkupContent& from) { CopyFrom(from); return *this; } - inline GetCompletionItemsResponse& operator=(GetCompletionItemsResponse&& from) noexcept { + inline MarkupContent& operator=(MarkupContent&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -4952,20 +5170,20 @@ class GetCompletionItemsResponse final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const GetCompletionItemsResponse& default_instance() { + static const MarkupContent& default_instance() { return *internal_default_instance(); } - static inline const GetCompletionItemsResponse* internal_default_instance() { - return reinterpret_cast( - &_GetCompletionItemsResponse_default_instance_); + static inline const MarkupContent* internal_default_instance() { + return reinterpret_cast( + &_MarkupContent_default_instance_); } static constexpr int kIndexInFileMessages = 27; - friend void swap(GetCompletionItemsResponse& a, GetCompletionItemsResponse& b) { + friend void swap(MarkupContent& a, MarkupContent& b) { a.Swap(&b); } - inline void Swap(GetCompletionItemsResponse* other) { + inline void Swap(MarkupContent* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -4978,7 +5196,7 @@ class GetCompletionItemsResponse final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(GetCompletionItemsResponse* other) { + void UnsafeArenaSwap(MarkupContent* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -4986,13 +5204,13 @@ class GetCompletionItemsResponse final : // implements Message ---------------------------------------------- - GetCompletionItemsResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + MarkupContent* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const GetCompletionItemsResponse& from); + void CopyFrom(const MarkupContent& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const GetCompletionItemsResponse& from); + void MergeFrom(const MarkupContent& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -5009,15 +5227,15 @@ class GetCompletionItemsResponse final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(GetCompletionItemsResponse* other); + void InternalSwap(MarkupContent* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse"; + return "io.deephaven.proto.backplane.script.grpc.MarkupContent"; } protected: - explicit GetCompletionItemsResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit MarkupContent(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -5031,79 +5249,69 @@ class GetCompletionItemsResponse final : // accessors ------------------------------------------------------- enum : int { - kItemsFieldNumber = 1, - kRequestIdFieldNumber = 2, - kSuccessFieldNumber = 3, + kKindFieldNumber = 1, + kValueFieldNumber = 2, }; - // repeated .io.deephaven.proto.backplane.script.grpc.CompletionItem items = 1; - int items_size() const; - private: - int _internal_items_size() const; - public: - void clear_items(); - ::io::deephaven::proto::backplane::script::grpc::CompletionItem* mutable_items(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::CompletionItem >* - mutable_items(); - private: - const ::io::deephaven::proto::backplane::script::grpc::CompletionItem& _internal_items(int index) const; - ::io::deephaven::proto::backplane::script::grpc::CompletionItem* _internal_add_items(); - public: - const ::io::deephaven::proto::backplane::script::grpc::CompletionItem& items(int index) const; - ::io::deephaven::proto::backplane::script::grpc::CompletionItem* add_items(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::CompletionItem >& - items() const; - - // int32 request_id = 2; - void clear_request_id(); - int32_t request_id() const; - void set_request_id(int32_t value); + // string kind = 1; + void clear_kind(); + const std::string& kind() const; + template + void set_kind(ArgT0&& arg0, ArgT... args); + std::string* mutable_kind(); + PROTOBUF_NODISCARD std::string* release_kind(); + void set_allocated_kind(std::string* kind); private: - int32_t _internal_request_id() const; - void _internal_set_request_id(int32_t value); + const std::string& _internal_kind() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_kind(const std::string& value); + std::string* _internal_mutable_kind(); public: - // bool success = 3; - void clear_success(); - bool success() const; - void set_success(bool value); + // string value = 2; + void clear_value(); + const std::string& value() const; + template + void set_value(ArgT0&& arg0, ArgT... args); + std::string* mutable_value(); + PROTOBUF_NODISCARD std::string* release_value(); + void set_allocated_value(std::string* value); private: - bool _internal_success() const; - void _internal_set_success(bool value); + const std::string& _internal_value() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_value(const std::string& value); + std::string* _internal_mutable_value(); public: - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.MarkupContent) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::CompletionItem > items_; - int32_t request_id_; - bool success_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr kind_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr value_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class CompletionItem final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.CompletionItem) */ { +class GetCompletionItemsRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) */ { public: - inline CompletionItem() : CompletionItem(nullptr) {} - ~CompletionItem() override; - explicit PROTOBUF_CONSTEXPR CompletionItem(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline GetCompletionItemsRequest() : GetCompletionItemsRequest(nullptr) {} + ~GetCompletionItemsRequest() override; + explicit PROTOBUF_CONSTEXPR GetCompletionItemsRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - CompletionItem(const CompletionItem& from); - CompletionItem(CompletionItem&& from) noexcept - : CompletionItem() { + GetCompletionItemsRequest(const GetCompletionItemsRequest& from); + GetCompletionItemsRequest(GetCompletionItemsRequest&& from) noexcept + : GetCompletionItemsRequest() { *this = ::std::move(from); } - inline CompletionItem& operator=(const CompletionItem& from) { + inline GetCompletionItemsRequest& operator=(const GetCompletionItemsRequest& from) { CopyFrom(from); return *this; } - inline CompletionItem& operator=(CompletionItem&& from) noexcept { + inline GetCompletionItemsRequest& operator=(GetCompletionItemsRequest&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -5126,20 +5334,20 @@ class CompletionItem final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CompletionItem& default_instance() { + static const GetCompletionItemsRequest& default_instance() { return *internal_default_instance(); } - static inline const CompletionItem* internal_default_instance() { - return reinterpret_cast( - &_CompletionItem_default_instance_); + static inline const GetCompletionItemsRequest* internal_default_instance() { + return reinterpret_cast( + &_GetCompletionItemsRequest_default_instance_); } static constexpr int kIndexInFileMessages = 28; - friend void swap(CompletionItem& a, CompletionItem& b) { + friend void swap(GetCompletionItemsRequest& a, GetCompletionItemsRequest& b) { a.Swap(&b); } - inline void Swap(CompletionItem* other) { + inline void Swap(GetCompletionItemsRequest* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -5152,7 +5360,7 @@ class CompletionItem final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CompletionItem* other) { + void UnsafeArenaSwap(GetCompletionItemsRequest* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -5160,13 +5368,13 @@ class CompletionItem final : // implements Message ---------------------------------------------- - CompletionItem* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + GetCompletionItemsRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CompletionItem& from); + void CopyFrom(const GetCompletionItemsRequest& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const CompletionItem& from); + void MergeFrom(const GetCompletionItemsRequest& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -5183,15 +5391,15 @@ class CompletionItem final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(CompletionItem* other); + void InternalSwap(GetCompletionItemsRequest* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.CompletionItem"; + return "io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest"; } protected: - explicit CompletionItem(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit GetCompletionItemsRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -5205,249 +5413,128 @@ class CompletionItem final : // accessors ------------------------------------------------------- enum : int { - kAdditionalTextEditsFieldNumber = 13, - kCommitCharactersFieldNumber = 14, - kLabelFieldNumber = 3, - kDetailFieldNumber = 5, - kDocumentationFieldNumber = 6, - kSortTextFieldNumber = 10, - kFilterTextFieldNumber = 11, - kTextEditFieldNumber = 9, - kStartFieldNumber = 1, - kLengthFieldNumber = 2, - kKindFieldNumber = 4, - kDeprecatedFieldNumber = 7, - kPreselectFieldNumber = 8, - kInsertTextFormatFieldNumber = 12, + kConsoleIdFieldNumber = 1, + kContextFieldNumber = 2, + kTextDocumentFieldNumber = 3, + kPositionFieldNumber = 4, + kRequestIdFieldNumber = 5, }; - // repeated .io.deephaven.proto.backplane.script.grpc.TextEdit additional_text_edits = 13; - int additional_text_edits_size() const; + // .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; + PROTOBUF_DEPRECATED bool has_console_id() const; private: - int _internal_additional_text_edits_size() const; + bool _internal_has_console_id() const; public: - void clear_additional_text_edits(); - ::io::deephaven::proto::backplane::script::grpc::TextEdit* mutable_additional_text_edits(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::TextEdit >* - mutable_additional_text_edits(); + PROTOBUF_DEPRECATED void clear_console_id(); + PROTOBUF_DEPRECATED const ::io::deephaven::proto::backplane::grpc::Ticket& console_id() const; + PROTOBUF_NODISCARD PROTOBUF_DEPRECATED ::io::deephaven::proto::backplane::grpc::Ticket* release_console_id(); + PROTOBUF_DEPRECATED ::io::deephaven::proto::backplane::grpc::Ticket* mutable_console_id(); + PROTOBUF_DEPRECATED void set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id); private: - const ::io::deephaven::proto::backplane::script::grpc::TextEdit& _internal_additional_text_edits(int index) const; - ::io::deephaven::proto::backplane::script::grpc::TextEdit* _internal_add_additional_text_edits(); + const ::io::deephaven::proto::backplane::grpc::Ticket& _internal_console_id() const; + ::io::deephaven::proto::backplane::grpc::Ticket* _internal_mutable_console_id(); public: - const ::io::deephaven::proto::backplane::script::grpc::TextEdit& additional_text_edits(int index) const; - ::io::deephaven::proto::backplane::script::grpc::TextEdit* add_additional_text_edits(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::TextEdit >& - additional_text_edits() const; + PROTOBUF_DEPRECATED void unsafe_arena_set_allocated_console_id( + ::io::deephaven::proto::backplane::grpc::Ticket* console_id); + PROTOBUF_DEPRECATED ::io::deephaven::proto::backplane::grpc::Ticket* unsafe_arena_release_console_id(); - // repeated string commit_characters = 14; - int commit_characters_size() const; + // .io.deephaven.proto.backplane.script.grpc.CompletionContext context = 2; + bool has_context() const; private: - int _internal_commit_characters_size() const; + bool _internal_has_context() const; public: - void clear_commit_characters(); - const std::string& commit_characters(int index) const; - std::string* mutable_commit_characters(int index); - void set_commit_characters(int index, const std::string& value); - void set_commit_characters(int index, std::string&& value); - void set_commit_characters(int index, const char* value); - void set_commit_characters(int index, const char* value, size_t size); - std::string* add_commit_characters(); - void add_commit_characters(const std::string& value); - void add_commit_characters(std::string&& value); - void add_commit_characters(const char* value); - void add_commit_characters(const char* value, size_t size); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& commit_characters() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_commit_characters(); + void clear_context(); + const ::io::deephaven::proto::backplane::script::grpc::CompletionContext& context() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::CompletionContext* release_context(); + ::io::deephaven::proto::backplane::script::grpc::CompletionContext* mutable_context(); + void set_allocated_context(::io::deephaven::proto::backplane::script::grpc::CompletionContext* context); private: - const std::string& _internal_commit_characters(int index) const; - std::string* _internal_add_commit_characters(); + const ::io::deephaven::proto::backplane::script::grpc::CompletionContext& _internal_context() const; + ::io::deephaven::proto::backplane::script::grpc::CompletionContext* _internal_mutable_context(); public: + void unsafe_arena_set_allocated_context( + ::io::deephaven::proto::backplane::script::grpc::CompletionContext* context); + ::io::deephaven::proto::backplane::script::grpc::CompletionContext* unsafe_arena_release_context(); - // string label = 3; - void clear_label(); - const std::string& label() const; - template - void set_label(ArgT0&& arg0, ArgT... args); - std::string* mutable_label(); - PROTOBUF_NODISCARD std::string* release_label(); - void set_allocated_label(std::string* label); - private: - const std::string& _internal_label() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_label(const std::string& value); - std::string* _internal_mutable_label(); - public: - - // string detail = 5; - void clear_detail(); - const std::string& detail() const; - template - void set_detail(ArgT0&& arg0, ArgT... args); - std::string* mutable_detail(); - PROTOBUF_NODISCARD std::string* release_detail(); - void set_allocated_detail(std::string* detail); - private: - const std::string& _internal_detail() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_detail(const std::string& value); - std::string* _internal_mutable_detail(); - public: - - // string documentation = 6; - void clear_documentation(); - const std::string& documentation() const; - template - void set_documentation(ArgT0&& arg0, ArgT... args); - std::string* mutable_documentation(); - PROTOBUF_NODISCARD std::string* release_documentation(); - void set_allocated_documentation(std::string* documentation); - private: - const std::string& _internal_documentation() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_documentation(const std::string& value); - std::string* _internal_mutable_documentation(); - public: - - // string sort_text = 10; - void clear_sort_text(); - const std::string& sort_text() const; - template - void set_sort_text(ArgT0&& arg0, ArgT... args); - std::string* mutable_sort_text(); - PROTOBUF_NODISCARD std::string* release_sort_text(); - void set_allocated_sort_text(std::string* sort_text); - private: - const std::string& _internal_sort_text() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_sort_text(const std::string& value); - std::string* _internal_mutable_sort_text(); - public: - - // string filter_text = 11; - void clear_filter_text(); - const std::string& filter_text() const; - template - void set_filter_text(ArgT0&& arg0, ArgT... args); - std::string* mutable_filter_text(); - PROTOBUF_NODISCARD std::string* release_filter_text(); - void set_allocated_filter_text(std::string* filter_text); - private: - const std::string& _internal_filter_text() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_filter_text(const std::string& value); - std::string* _internal_mutable_filter_text(); - public: - - // .io.deephaven.proto.backplane.script.grpc.TextEdit text_edit = 9; - bool has_text_edit() const; - private: - bool _internal_has_text_edit() const; - public: - void clear_text_edit(); - const ::io::deephaven::proto::backplane::script::grpc::TextEdit& text_edit() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::TextEdit* release_text_edit(); - ::io::deephaven::proto::backplane::script::grpc::TextEdit* mutable_text_edit(); - void set_allocated_text_edit(::io::deephaven::proto::backplane::script::grpc::TextEdit* text_edit); - private: - const ::io::deephaven::proto::backplane::script::grpc::TextEdit& _internal_text_edit() const; - ::io::deephaven::proto::backplane::script::grpc::TextEdit* _internal_mutable_text_edit(); - public: - void unsafe_arena_set_allocated_text_edit( - ::io::deephaven::proto::backplane::script::grpc::TextEdit* text_edit); - ::io::deephaven::proto::backplane::script::grpc::TextEdit* unsafe_arena_release_text_edit(); - - // int32 start = 1; - void clear_start(); - int32_t start() const; - void set_start(int32_t value); - private: - int32_t _internal_start() const; - void _internal_set_start(int32_t value); - public: - - // int32 length = 2; - void clear_length(); - int32_t length() const; - void set_length(int32_t value); + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 3; + bool has_text_document() const; private: - int32_t _internal_length() const; - void _internal_set_length(int32_t value); + bool _internal_has_text_document() const; public: - - // int32 kind = 4; - void clear_kind(); - int32_t kind() const; - void set_kind(int32_t value); + void clear_text_document(); + const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& text_document() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* release_text_document(); + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* mutable_text_document(); + void set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document); private: - int32_t _internal_kind() const; - void _internal_set_kind(int32_t value); + const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& _internal_text_document() const; + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* _internal_mutable_text_document(); public: + void unsafe_arena_set_allocated_text_document( + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document); + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* unsafe_arena_release_text_document(); - // bool deprecated = 7; - void clear_deprecated(); - bool deprecated() const; - void set_deprecated(bool value); + // .io.deephaven.proto.backplane.script.grpc.Position position = 4; + bool has_position() const; private: - bool _internal_deprecated() const; - void _internal_set_deprecated(bool value); + bool _internal_has_position() const; public: - - // bool preselect = 8; - void clear_preselect(); - bool preselect() const; - void set_preselect(bool value); + void clear_position(); + const ::io::deephaven::proto::backplane::script::grpc::Position& position() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::Position* release_position(); + ::io::deephaven::proto::backplane::script::grpc::Position* mutable_position(); + void set_allocated_position(::io::deephaven::proto::backplane::script::grpc::Position* position); private: - bool _internal_preselect() const; - void _internal_set_preselect(bool value); + const ::io::deephaven::proto::backplane::script::grpc::Position& _internal_position() const; + ::io::deephaven::proto::backplane::script::grpc::Position* _internal_mutable_position(); public: + void unsafe_arena_set_allocated_position( + ::io::deephaven::proto::backplane::script::grpc::Position* position); + ::io::deephaven::proto::backplane::script::grpc::Position* unsafe_arena_release_position(); - // int32 insert_text_format = 12; - void clear_insert_text_format(); - int32_t insert_text_format() const; - void set_insert_text_format(int32_t value); + // int32 request_id = 5 [deprecated = true]; + PROTOBUF_DEPRECATED void clear_request_id(); + PROTOBUF_DEPRECATED int32_t request_id() const; + PROTOBUF_DEPRECATED void set_request_id(int32_t value); private: - int32_t _internal_insert_text_format() const; - void _internal_set_insert_text_format(int32_t value); + int32_t _internal_request_id() const; + void _internal_set_request_id(int32_t value); public: - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.CompletionItem) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::TextEdit > additional_text_edits_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField commit_characters_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr label_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr detail_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr documentation_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sort_text_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr filter_text_; - ::io::deephaven::proto::backplane::script::grpc::TextEdit* text_edit_; - int32_t start_; - int32_t length_; - int32_t kind_; - bool deprecated_; - bool preselect_; - int32_t insert_text_format_; + ::io::deephaven::proto::backplane::grpc::Ticket* console_id_; + ::io::deephaven::proto::backplane::script::grpc::CompletionContext* context_; + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document_; + ::io::deephaven::proto::backplane::script::grpc::Position* position_; + int32_t request_id_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class TextEdit final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.TextEdit) */ { +class CompletionContext final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.CompletionContext) */ { public: - inline TextEdit() : TextEdit(nullptr) {} - ~TextEdit() override; - explicit PROTOBUF_CONSTEXPR TextEdit(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CompletionContext() : CompletionContext(nullptr) {} + ~CompletionContext() override; + explicit PROTOBUF_CONSTEXPR CompletionContext(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - TextEdit(const TextEdit& from); - TextEdit(TextEdit&& from) noexcept - : TextEdit() { + CompletionContext(const CompletionContext& from); + CompletionContext(CompletionContext&& from) noexcept + : CompletionContext() { *this = ::std::move(from); } - inline TextEdit& operator=(const TextEdit& from) { + inline CompletionContext& operator=(const CompletionContext& from) { CopyFrom(from); return *this; } - inline TextEdit& operator=(TextEdit&& from) noexcept { + inline CompletionContext& operator=(CompletionContext&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -5470,20 +5557,20 @@ class TextEdit final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TextEdit& default_instance() { + static const CompletionContext& default_instance() { return *internal_default_instance(); } - static inline const TextEdit* internal_default_instance() { - return reinterpret_cast( - &_TextEdit_default_instance_); + static inline const CompletionContext* internal_default_instance() { + return reinterpret_cast( + &_CompletionContext_default_instance_); } static constexpr int kIndexInFileMessages = 29; - friend void swap(TextEdit& a, TextEdit& b) { + friend void swap(CompletionContext& a, CompletionContext& b) { a.Swap(&b); } - inline void Swap(TextEdit* other) { + inline void Swap(CompletionContext* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -5496,7 +5583,7 @@ class TextEdit final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TextEdit* other) { + void UnsafeArenaSwap(CompletionContext* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -5504,13 +5591,13 @@ class TextEdit final : // implements Message ---------------------------------------------- - TextEdit* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CompletionContext* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const TextEdit& from); + void CopyFrom(const CompletionContext& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const TextEdit& from); + void MergeFrom(const CompletionContext& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -5527,15 +5614,15 @@ class TextEdit final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(TextEdit* other); + void InternalSwap(CompletionContext* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.TextEdit"; + return "io.deephaven.proto.backplane.script.grpc.CompletionContext"; } protected: - explicit TextEdit(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit CompletionContext(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -5549,73 +5636,64 @@ class TextEdit final : // accessors ------------------------------------------------------- enum : int { - kTextFieldNumber = 2, - kRangeFieldNumber = 1, + kTriggerCharacterFieldNumber = 2, + kTriggerKindFieldNumber = 1, }; - // string text = 2; - void clear_text(); - const std::string& text() const; + // string trigger_character = 2; + void clear_trigger_character(); + const std::string& trigger_character() const; template - void set_text(ArgT0&& arg0, ArgT... args); - std::string* mutable_text(); - PROTOBUF_NODISCARD std::string* release_text(); - void set_allocated_text(std::string* text); + void set_trigger_character(ArgT0&& arg0, ArgT... args); + std::string* mutable_trigger_character(); + PROTOBUF_NODISCARD std::string* release_trigger_character(); + void set_allocated_trigger_character(std::string* trigger_character); private: - const std::string& _internal_text() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_text(const std::string& value); - std::string* _internal_mutable_text(); + const std::string& _internal_trigger_character() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_trigger_character(const std::string& value); + std::string* _internal_mutable_trigger_character(); public: - // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; - bool has_range() const; - private: - bool _internal_has_range() const; - public: - void clear_range(); - const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& range() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::DocumentRange* release_range(); - ::io::deephaven::proto::backplane::script::grpc::DocumentRange* mutable_range(); - void set_allocated_range(::io::deephaven::proto::backplane::script::grpc::DocumentRange* range); + // int32 trigger_kind = 1; + void clear_trigger_kind(); + int32_t trigger_kind() const; + void set_trigger_kind(int32_t value); private: - const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& _internal_range() const; - ::io::deephaven::proto::backplane::script::grpc::DocumentRange* _internal_mutable_range(); + int32_t _internal_trigger_kind() const; + void _internal_set_trigger_kind(int32_t value); public: - void unsafe_arena_set_allocated_range( - ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range); - ::io::deephaven::proto::backplane::script::grpc::DocumentRange* unsafe_arena_release_range(); - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.TextEdit) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.CompletionContext) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr text_; - ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr trigger_character_; + int32_t trigger_kind_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class FigureDescriptor_ChartDescriptor final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor) */ { +class GetCompletionItemsResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) */ { public: - inline FigureDescriptor_ChartDescriptor() : FigureDescriptor_ChartDescriptor(nullptr) {} - ~FigureDescriptor_ChartDescriptor() override; - explicit PROTOBUF_CONSTEXPR FigureDescriptor_ChartDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline GetCompletionItemsResponse() : GetCompletionItemsResponse(nullptr) {} + ~GetCompletionItemsResponse() override; + explicit PROTOBUF_CONSTEXPR GetCompletionItemsResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - FigureDescriptor_ChartDescriptor(const FigureDescriptor_ChartDescriptor& from); - FigureDescriptor_ChartDescriptor(FigureDescriptor_ChartDescriptor&& from) noexcept - : FigureDescriptor_ChartDescriptor() { + GetCompletionItemsResponse(const GetCompletionItemsResponse& from); + GetCompletionItemsResponse(GetCompletionItemsResponse&& from) noexcept + : GetCompletionItemsResponse() { *this = ::std::move(from); } - inline FigureDescriptor_ChartDescriptor& operator=(const FigureDescriptor_ChartDescriptor& from) { + inline GetCompletionItemsResponse& operator=(const GetCompletionItemsResponse& from) { CopyFrom(from); return *this; } - inline FigureDescriptor_ChartDescriptor& operator=(FigureDescriptor_ChartDescriptor&& from) noexcept { + inline GetCompletionItemsResponse& operator=(GetCompletionItemsResponse&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -5638,20 +5716,20 @@ class FigureDescriptor_ChartDescriptor final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FigureDescriptor_ChartDescriptor& default_instance() { + static const GetCompletionItemsResponse& default_instance() { return *internal_default_instance(); } - static inline const FigureDescriptor_ChartDescriptor* internal_default_instance() { - return reinterpret_cast( - &_FigureDescriptor_ChartDescriptor_default_instance_); + static inline const GetCompletionItemsResponse* internal_default_instance() { + return reinterpret_cast( + &_GetCompletionItemsResponse_default_instance_); } static constexpr int kIndexInFileMessages = 30; - friend void swap(FigureDescriptor_ChartDescriptor& a, FigureDescriptor_ChartDescriptor& b) { + friend void swap(GetCompletionItemsResponse& a, GetCompletionItemsResponse& b) { a.Swap(&b); } - inline void Swap(FigureDescriptor_ChartDescriptor* other) { + inline void Swap(GetCompletionItemsResponse* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -5664,7 +5742,7 @@ class FigureDescriptor_ChartDescriptor final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FigureDescriptor_ChartDescriptor* other) { + void UnsafeArenaSwap(GetCompletionItemsResponse* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -5672,13 +5750,13 @@ class FigureDescriptor_ChartDescriptor final : // implements Message ---------------------------------------------- - FigureDescriptor_ChartDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + GetCompletionItemsResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FigureDescriptor_ChartDescriptor& from); + void CopyFrom(const GetCompletionItemsResponse& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const FigureDescriptor_ChartDescriptor& from); + void MergeFrom(const GetCompletionItemsResponse& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -5695,15 +5773,15 @@ class FigureDescriptor_ChartDescriptor final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(FigureDescriptor_ChartDescriptor* other); + void InternalSwap(GetCompletionItemsResponse* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor"; + return "io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse"; } protected: - explicit FigureDescriptor_ChartDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit GetCompletionItemsResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -5714,302 +5792,82 @@ class FigureDescriptor_ChartDescriptor final : // nested types ---------------------------------------------------- - typedef FigureDescriptor_ChartDescriptor_ChartType ChartType; - static constexpr ChartType XY = - FigureDescriptor_ChartDescriptor_ChartType_XY; - static constexpr ChartType PIE = - FigureDescriptor_ChartDescriptor_ChartType_PIE; - PROTOBUF_DEPRECATED_ENUM static constexpr ChartType OHLC = - FigureDescriptor_ChartDescriptor_ChartType_OHLC; - static constexpr ChartType CATEGORY = - FigureDescriptor_ChartDescriptor_ChartType_CATEGORY; - static constexpr ChartType XYZ = - FigureDescriptor_ChartDescriptor_ChartType_XYZ; - static constexpr ChartType CATEGORY_3D = - FigureDescriptor_ChartDescriptor_ChartType_CATEGORY_3D; - static constexpr ChartType TREEMAP = - FigureDescriptor_ChartDescriptor_ChartType_TREEMAP; - static inline bool ChartType_IsValid(int value) { - return FigureDescriptor_ChartDescriptor_ChartType_IsValid(value); - } - static constexpr ChartType ChartType_MIN = - FigureDescriptor_ChartDescriptor_ChartType_ChartType_MIN; - static constexpr ChartType ChartType_MAX = - FigureDescriptor_ChartDescriptor_ChartType_ChartType_MAX; - static constexpr int ChartType_ARRAYSIZE = - FigureDescriptor_ChartDescriptor_ChartType_ChartType_ARRAYSIZE; - static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* - ChartType_descriptor() { - return FigureDescriptor_ChartDescriptor_ChartType_descriptor(); - } - template - static inline const std::string& ChartType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function ChartType_Name."); - return FigureDescriptor_ChartDescriptor_ChartType_Name(enum_t_value); - } - static inline bool ChartType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, - ChartType* value) { - return FigureDescriptor_ChartDescriptor_ChartType_Parse(name, value); - } - // accessors ------------------------------------------------------- enum : int { - kSeriesFieldNumber = 3, - kMultiSeriesFieldNumber = 4, - kAxesFieldNumber = 5, - kTitleFieldNumber = 7, - kTitleFontFieldNumber = 8, - kTitleColorFieldNumber = 9, - kLegendFontFieldNumber = 11, - kLegendColorFieldNumber = 12, - kColspanFieldNumber = 1, - kRowspanFieldNumber = 2, - kChartTypeFieldNumber = 6, - kShowLegendFieldNumber = 10, - kIs3DFieldNumber = 13, - kColumnFieldNumber = 14, - kRowFieldNumber = 15, + kItemsFieldNumber = 1, + kRequestIdFieldNumber = 2, + kSuccessFieldNumber = 3, }; - // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor series = 3; - int series_size() const; + // repeated .io.deephaven.proto.backplane.script.grpc.CompletionItem items = 1; + int items_size() const; private: - int _internal_series_size() const; + int _internal_items_size() const; public: - void clear_series(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor* mutable_series(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor >* - mutable_series(); + void clear_items(); + ::io::deephaven::proto::backplane::script::grpc::CompletionItem* mutable_items(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::CompletionItem >* + mutable_items(); private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor& _internal_series(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor* _internal_add_series(); + const ::io::deephaven::proto::backplane::script::grpc::CompletionItem& _internal_items(int index) const; + ::io::deephaven::proto::backplane::script::grpc::CompletionItem* _internal_add_items(); public: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor& series(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor* add_series(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor >& - series() const; + const ::io::deephaven::proto::backplane::script::grpc::CompletionItem& items(int index) const; + ::io::deephaven::proto::backplane::script::grpc::CompletionItem* add_items(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::CompletionItem >& + items() const; - // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor multi_series = 4; - int multi_series_size() const; - private: - int _internal_multi_series_size() const; - public: - void clear_multi_series(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor* mutable_multi_series(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor >* - mutable_multi_series(); + // int32 request_id = 2 [deprecated = true]; + PROTOBUF_DEPRECATED void clear_request_id(); + PROTOBUF_DEPRECATED int32_t request_id() const; + PROTOBUF_DEPRECATED void set_request_id(int32_t value); private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor& _internal_multi_series(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor* _internal_add_multi_series(); + int32_t _internal_request_id() const; + void _internal_set_request_id(int32_t value); public: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor& multi_series(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor* add_multi_series(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor >& - multi_series() const; - // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor axes = 5; - int axes_size() const; + // bool success = 3 [deprecated = true]; + PROTOBUF_DEPRECATED void clear_success(); + PROTOBUF_DEPRECATED bool success() const; + PROTOBUF_DEPRECATED void set_success(bool value); private: - int _internal_axes_size() const; - public: - void clear_axes(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor* mutable_axes(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor >* - mutable_axes(); - private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor& _internal_axes(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor* _internal_add_axes(); + bool _internal_success() const; + void _internal_set_success(bool value); public: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor& axes(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor* add_axes(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor >& - axes() const; - // optional string title = 7; - bool has_title() const; - private: - bool _internal_has_title() const; - public: - void clear_title(); - const std::string& title() const; - template - void set_title(ArgT0&& arg0, ArgT... args); - std::string* mutable_title(); - PROTOBUF_NODISCARD std::string* release_title(); - void set_allocated_title(std::string* title); - private: - const std::string& _internal_title() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_title(const std::string& value); - std::string* _internal_mutable_title(); - public: + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse) + private: + class _Internal; - // string title_font = 8; - void clear_title_font(); - const std::string& title_font() const; - template - void set_title_font(ArgT0&& arg0, ArgT... args); - std::string* mutable_title_font(); - PROTOBUF_NODISCARD std::string* release_title_font(); - void set_allocated_title_font(std::string* title_font); - private: - const std::string& _internal_title_font() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_title_font(const std::string& value); - std::string* _internal_mutable_title_font(); - public: + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::CompletionItem > items_; + int32_t request_id_; + bool success_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; +}; +// ------------------------------------------------------------------- - // string title_color = 9; - void clear_title_color(); - const std::string& title_color() const; - template - void set_title_color(ArgT0&& arg0, ArgT... args); - std::string* mutable_title_color(); - PROTOBUF_NODISCARD std::string* release_title_color(); - void set_allocated_title_color(std::string* title_color); - private: - const std::string& _internal_title_color() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_title_color(const std::string& value); - std::string* _internal_mutable_title_color(); - public: +class CompletionItem final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.CompletionItem) */ { + public: + inline CompletionItem() : CompletionItem(nullptr) {} + ~CompletionItem() override; + explicit PROTOBUF_CONSTEXPR CompletionItem(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - // string legend_font = 11; - void clear_legend_font(); - const std::string& legend_font() const; - template - void set_legend_font(ArgT0&& arg0, ArgT... args); - std::string* mutable_legend_font(); - PROTOBUF_NODISCARD std::string* release_legend_font(); - void set_allocated_legend_font(std::string* legend_font); - private: - const std::string& _internal_legend_font() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_legend_font(const std::string& value); - std::string* _internal_mutable_legend_font(); - public: + CompletionItem(const CompletionItem& from); + CompletionItem(CompletionItem&& from) noexcept + : CompletionItem() { + *this = ::std::move(from); + } - // string legend_color = 12; - void clear_legend_color(); - const std::string& legend_color() const; - template - void set_legend_color(ArgT0&& arg0, ArgT... args); - std::string* mutable_legend_color(); - PROTOBUF_NODISCARD std::string* release_legend_color(); - void set_allocated_legend_color(std::string* legend_color); - private: - const std::string& _internal_legend_color() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_legend_color(const std::string& value); - std::string* _internal_mutable_legend_color(); - public: - - // int32 colspan = 1; - void clear_colspan(); - int32_t colspan() const; - void set_colspan(int32_t value); - private: - int32_t _internal_colspan() const; - void _internal_set_colspan(int32_t value); - public: - - // int32 rowspan = 2; - void clear_rowspan(); - int32_t rowspan() const; - void set_rowspan(int32_t value); - private: - int32_t _internal_rowspan() const; - void _internal_set_rowspan(int32_t value); - public: - - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor.ChartType chart_type = 6; - void clear_chart_type(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor_ChartType chart_type() const; - void set_chart_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor_ChartType value); - private: - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor_ChartType _internal_chart_type() const; - void _internal_set_chart_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor_ChartType value); - public: - - // bool show_legend = 10; - void clear_show_legend(); - bool show_legend() const; - void set_show_legend(bool value); - private: - bool _internal_show_legend() const; - void _internal_set_show_legend(bool value); - public: - - // bool is3d = 13; - void clear_is3d(); - bool is3d() const; - void set_is3d(bool value); - private: - bool _internal_is3d() const; - void _internal_set_is3d(bool value); - public: - - // int32 column = 14; - void clear_column(); - int32_t column() const; - void set_column(int32_t value); - private: - int32_t _internal_column() const; - void _internal_set_column(int32_t value); - public: - - // int32 row = 15; - void clear_row(); - int32_t row() const; - void set_row(int32_t value); - private: - int32_t _internal_row() const; - void _internal_set_row(int32_t value); - public: - - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor > series_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor > multi_series_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor > axes_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_font_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_color_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr legend_font_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr legend_color_; - int32_t colspan_; - int32_t rowspan_; - int chart_type_; - bool show_legend_; - bool is3d_; - int32_t column_; - int32_t row_; - friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; -}; -// ------------------------------------------------------------------- - -class FigureDescriptor_SeriesDescriptor final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor) */ { - public: - inline FigureDescriptor_SeriesDescriptor() : FigureDescriptor_SeriesDescriptor(nullptr) {} - ~FigureDescriptor_SeriesDescriptor() override; - explicit PROTOBUF_CONSTEXPR FigureDescriptor_SeriesDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - FigureDescriptor_SeriesDescriptor(const FigureDescriptor_SeriesDescriptor& from); - FigureDescriptor_SeriesDescriptor(FigureDescriptor_SeriesDescriptor&& from) noexcept - : FigureDescriptor_SeriesDescriptor() { - *this = ::std::move(from); - } - - inline FigureDescriptor_SeriesDescriptor& operator=(const FigureDescriptor_SeriesDescriptor& from) { + inline CompletionItem& operator=(const CompletionItem& from) { CopyFrom(from); return *this; } - inline FigureDescriptor_SeriesDescriptor& operator=(FigureDescriptor_SeriesDescriptor&& from) noexcept { + inline CompletionItem& operator=(CompletionItem&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -6032,20 +5890,20 @@ class FigureDescriptor_SeriesDescriptor final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FigureDescriptor_SeriesDescriptor& default_instance() { + static const CompletionItem& default_instance() { return *internal_default_instance(); } - static inline const FigureDescriptor_SeriesDescriptor* internal_default_instance() { - return reinterpret_cast( - &_FigureDescriptor_SeriesDescriptor_default_instance_); + static inline const CompletionItem* internal_default_instance() { + return reinterpret_cast( + &_CompletionItem_default_instance_); } static constexpr int kIndexInFileMessages = 31; - friend void swap(FigureDescriptor_SeriesDescriptor& a, FigureDescriptor_SeriesDescriptor& b) { + friend void swap(CompletionItem& a, CompletionItem& b) { a.Swap(&b); } - inline void Swap(FigureDescriptor_SeriesDescriptor* other) { + inline void Swap(CompletionItem* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -6058,7 +5916,7 @@ class FigureDescriptor_SeriesDescriptor final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FigureDescriptor_SeriesDescriptor* other) { + void UnsafeArenaSwap(CompletionItem* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -6066,13 +5924,13 @@ class FigureDescriptor_SeriesDescriptor final : // implements Message ---------------------------------------------- - FigureDescriptor_SeriesDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CompletionItem* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FigureDescriptor_SeriesDescriptor& from); + void CopyFrom(const CompletionItem& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const FigureDescriptor_SeriesDescriptor& from); + void MergeFrom(const CompletionItem& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -6089,15 +5947,15 @@ class FigureDescriptor_SeriesDescriptor final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(FigureDescriptor_SeriesDescriptor* other); + void InternalSwap(CompletionItem* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor"; + return "io.deephaven.proto.backplane.script.grpc.CompletionItem"; } protected: - explicit FigureDescriptor_SeriesDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit CompletionItem(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -6111,265 +5969,253 @@ class FigureDescriptor_SeriesDescriptor final : // accessors ------------------------------------------------------- enum : int { - kDataSourcesFieldNumber = 15, - kNameFieldNumber = 2, - kLineColorFieldNumber = 6, - kPointLabelFormatFieldNumber = 8, - kXToolTipPatternFieldNumber = 9, - kYToolTipPatternFieldNumber = 10, - kShapeLabelFieldNumber = 11, - kShapeColorFieldNumber = 13, - kShapeFieldNumber = 14, - kPlotStyleFieldNumber = 1, - kLinesVisibleFieldNumber = 3, - kShapesVisibleFieldNumber = 4, - kGradientVisibleFieldNumber = 5, - kShapeSizeFieldNumber = 12, + kAdditionalTextEditsFieldNumber = 13, + kCommitCharactersFieldNumber = 14, + kLabelFieldNumber = 3, + kDetailFieldNumber = 5, + kSortTextFieldNumber = 10, + kFilterTextFieldNumber = 11, + kTextEditFieldNumber = 9, + kDocumentationFieldNumber = 15, + kStartFieldNumber = 1, + kLengthFieldNumber = 2, + kKindFieldNumber = 4, + kDeprecatedFieldNumber = 7, + kPreselectFieldNumber = 8, + kInsertTextFormatFieldNumber = 12, }; - // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptor data_sources = 15; - int data_sources_size() const; + // repeated .io.deephaven.proto.backplane.script.grpc.TextEdit additional_text_edits = 13; + int additional_text_edits_size() const; private: - int _internal_data_sources_size() const; + int _internal_additional_text_edits_size() const; public: - void clear_data_sources(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor* mutable_data_sources(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor >* - mutable_data_sources(); + void clear_additional_text_edits(); + ::io::deephaven::proto::backplane::script::grpc::TextEdit* mutable_additional_text_edits(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::TextEdit >* + mutable_additional_text_edits(); private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor& _internal_data_sources(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor* _internal_add_data_sources(); + const ::io::deephaven::proto::backplane::script::grpc::TextEdit& _internal_additional_text_edits(int index) const; + ::io::deephaven::proto::backplane::script::grpc::TextEdit* _internal_add_additional_text_edits(); public: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor& data_sources(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor* add_data_sources(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor >& - data_sources() const; + const ::io::deephaven::proto::backplane::script::grpc::TextEdit& additional_text_edits(int index) const; + ::io::deephaven::proto::backplane::script::grpc::TextEdit* add_additional_text_edits(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::TextEdit >& + additional_text_edits() const; - // string name = 2; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); + // repeated string commit_characters = 14; + int commit_characters_size() const; private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + int _internal_commit_characters_size() const; + public: + void clear_commit_characters(); + const std::string& commit_characters(int index) const; + std::string* mutable_commit_characters(int index); + void set_commit_characters(int index, const std::string& value); + void set_commit_characters(int index, std::string&& value); + void set_commit_characters(int index, const char* value); + void set_commit_characters(int index, const char* value, size_t size); + std::string* add_commit_characters(); + void add_commit_characters(const std::string& value); + void add_commit_characters(std::string&& value); + void add_commit_characters(const char* value); + void add_commit_characters(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& commit_characters() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_commit_characters(); + private: + const std::string& _internal_commit_characters(int index) const; + std::string* _internal_add_commit_characters(); public: - // string line_color = 6; - void clear_line_color(); - const std::string& line_color() const; + // string label = 3; + void clear_label(); + const std::string& label() const; template - void set_line_color(ArgT0&& arg0, ArgT... args); - std::string* mutable_line_color(); - PROTOBUF_NODISCARD std::string* release_line_color(); - void set_allocated_line_color(std::string* line_color); + void set_label(ArgT0&& arg0, ArgT... args); + std::string* mutable_label(); + PROTOBUF_NODISCARD std::string* release_label(); + void set_allocated_label(std::string* label); private: - const std::string& _internal_line_color() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_line_color(const std::string& value); - std::string* _internal_mutable_line_color(); + const std::string& _internal_label() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_label(const std::string& value); + std::string* _internal_mutable_label(); public: - // optional string point_label_format = 8; - bool has_point_label_format() const; - private: - bool _internal_has_point_label_format() const; - public: - void clear_point_label_format(); - const std::string& point_label_format() const; + // string detail = 5; + void clear_detail(); + const std::string& detail() const; template - void set_point_label_format(ArgT0&& arg0, ArgT... args); - std::string* mutable_point_label_format(); - PROTOBUF_NODISCARD std::string* release_point_label_format(); - void set_allocated_point_label_format(std::string* point_label_format); + void set_detail(ArgT0&& arg0, ArgT... args); + std::string* mutable_detail(); + PROTOBUF_NODISCARD std::string* release_detail(); + void set_allocated_detail(std::string* detail); private: - const std::string& _internal_point_label_format() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_point_label_format(const std::string& value); - std::string* _internal_mutable_point_label_format(); + const std::string& _internal_detail() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_detail(const std::string& value); + std::string* _internal_mutable_detail(); public: - // optional string x_tool_tip_pattern = 9; - bool has_x_tool_tip_pattern() const; - private: - bool _internal_has_x_tool_tip_pattern() const; - public: - void clear_x_tool_tip_pattern(); - const std::string& x_tool_tip_pattern() const; + // string sort_text = 10; + void clear_sort_text(); + const std::string& sort_text() const; template - void set_x_tool_tip_pattern(ArgT0&& arg0, ArgT... args); - std::string* mutable_x_tool_tip_pattern(); - PROTOBUF_NODISCARD std::string* release_x_tool_tip_pattern(); - void set_allocated_x_tool_tip_pattern(std::string* x_tool_tip_pattern); + void set_sort_text(ArgT0&& arg0, ArgT... args); + std::string* mutable_sort_text(); + PROTOBUF_NODISCARD std::string* release_sort_text(); + void set_allocated_sort_text(std::string* sort_text); private: - const std::string& _internal_x_tool_tip_pattern() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_x_tool_tip_pattern(const std::string& value); - std::string* _internal_mutable_x_tool_tip_pattern(); + const std::string& _internal_sort_text() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_sort_text(const std::string& value); + std::string* _internal_mutable_sort_text(); public: - // optional string y_tool_tip_pattern = 10; - bool has_y_tool_tip_pattern() const; - private: - bool _internal_has_y_tool_tip_pattern() const; - public: - void clear_y_tool_tip_pattern(); - const std::string& y_tool_tip_pattern() const; + // string filter_text = 11; + void clear_filter_text(); + const std::string& filter_text() const; template - void set_y_tool_tip_pattern(ArgT0&& arg0, ArgT... args); - std::string* mutable_y_tool_tip_pattern(); - PROTOBUF_NODISCARD std::string* release_y_tool_tip_pattern(); - void set_allocated_y_tool_tip_pattern(std::string* y_tool_tip_pattern); + void set_filter_text(ArgT0&& arg0, ArgT... args); + std::string* mutable_filter_text(); + PROTOBUF_NODISCARD std::string* release_filter_text(); + void set_allocated_filter_text(std::string* filter_text); private: - const std::string& _internal_y_tool_tip_pattern() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_y_tool_tip_pattern(const std::string& value); - std::string* _internal_mutable_y_tool_tip_pattern(); + const std::string& _internal_filter_text() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_filter_text(const std::string& value); + std::string* _internal_mutable_filter_text(); public: - // string shape_label = 11; - void clear_shape_label(); - const std::string& shape_label() const; - template - void set_shape_label(ArgT0&& arg0, ArgT... args); - std::string* mutable_shape_label(); - PROTOBUF_NODISCARD std::string* release_shape_label(); - void set_allocated_shape_label(std::string* shape_label); + // .io.deephaven.proto.backplane.script.grpc.TextEdit text_edit = 9; + bool has_text_edit() const; private: - const std::string& _internal_shape_label() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_shape_label(const std::string& value); - std::string* _internal_mutable_shape_label(); + bool _internal_has_text_edit() const; public: - - // string shape_color = 13; - void clear_shape_color(); - const std::string& shape_color() const; - template - void set_shape_color(ArgT0&& arg0, ArgT... args); - std::string* mutable_shape_color(); - PROTOBUF_NODISCARD std::string* release_shape_color(); - void set_allocated_shape_color(std::string* shape_color); + void clear_text_edit(); + const ::io::deephaven::proto::backplane::script::grpc::TextEdit& text_edit() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::TextEdit* release_text_edit(); + ::io::deephaven::proto::backplane::script::grpc::TextEdit* mutable_text_edit(); + void set_allocated_text_edit(::io::deephaven::proto::backplane::script::grpc::TextEdit* text_edit); private: - const std::string& _internal_shape_color() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_shape_color(const std::string& value); - std::string* _internal_mutable_shape_color(); + const ::io::deephaven::proto::backplane::script::grpc::TextEdit& _internal_text_edit() const; + ::io::deephaven::proto::backplane::script::grpc::TextEdit* _internal_mutable_text_edit(); public: + void unsafe_arena_set_allocated_text_edit( + ::io::deephaven::proto::backplane::script::grpc::TextEdit* text_edit); + ::io::deephaven::proto::backplane::script::grpc::TextEdit* unsafe_arena_release_text_edit(); - // string shape = 14; - void clear_shape(); - const std::string& shape() const; - template - void set_shape(ArgT0&& arg0, ArgT... args); - std::string* mutable_shape(); - PROTOBUF_NODISCARD std::string* release_shape(); - void set_allocated_shape(std::string* shape); + // .io.deephaven.proto.backplane.script.grpc.MarkupContent documentation = 15; + bool has_documentation() const; private: - const std::string& _internal_shape() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_shape(const std::string& value); - std::string* _internal_mutable_shape(); + bool _internal_has_documentation() const; public: - - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesPlotStyle plot_style = 1; - void clear_plot_style(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesPlotStyle plot_style() const; - void set_plot_style(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesPlotStyle value); + void clear_documentation(); + const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& documentation() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::MarkupContent* release_documentation(); + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* mutable_documentation(); + void set_allocated_documentation(::io::deephaven::proto::backplane::script::grpc::MarkupContent* documentation); private: - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesPlotStyle _internal_plot_style() const; - void _internal_set_plot_style(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesPlotStyle value); + const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& _internal_documentation() const; + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* _internal_mutable_documentation(); public: + void unsafe_arena_set_allocated_documentation( + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* documentation); + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* unsafe_arena_release_documentation(); - // optional bool lines_visible = 3; - bool has_lines_visible() const; - private: - bool _internal_has_lines_visible() const; - public: - void clear_lines_visible(); - bool lines_visible() const; - void set_lines_visible(bool value); + // int32 start = 1; + void clear_start(); + int32_t start() const; + void set_start(int32_t value); private: - bool _internal_lines_visible() const; - void _internal_set_lines_visible(bool value); + int32_t _internal_start() const; + void _internal_set_start(int32_t value); public: - // optional bool shapes_visible = 4; - bool has_shapes_visible() const; + // int32 length = 2; + void clear_length(); + int32_t length() const; + void set_length(int32_t value); private: - bool _internal_has_shapes_visible() const; + int32_t _internal_length() const; + void _internal_set_length(int32_t value); public: - void clear_shapes_visible(); - bool shapes_visible() const; - void set_shapes_visible(bool value); + + // int32 kind = 4; + void clear_kind(); + int32_t kind() const; + void set_kind(int32_t value); private: - bool _internal_shapes_visible() const; - void _internal_set_shapes_visible(bool value); + int32_t _internal_kind() const; + void _internal_set_kind(int32_t value); public: - // bool gradient_visible = 5; - void clear_gradient_visible(); - bool gradient_visible() const; - void set_gradient_visible(bool value); + // bool deprecated = 7; + void clear_deprecated(); + bool deprecated() const; + void set_deprecated(bool value); private: - bool _internal_gradient_visible() const; - void _internal_set_gradient_visible(bool value); + bool _internal_deprecated() const; + void _internal_set_deprecated(bool value); public: - // optional double shape_size = 12; - bool has_shape_size() const; + // bool preselect = 8; + void clear_preselect(); + bool preselect() const; + void set_preselect(bool value); private: - bool _internal_has_shape_size() const; + bool _internal_preselect() const; + void _internal_set_preselect(bool value); public: - void clear_shape_size(); - double shape_size() const; - void set_shape_size(double value); + + // int32 insert_text_format = 12; + void clear_insert_text_format(); + int32_t insert_text_format() const; + void set_insert_text_format(int32_t value); private: - double _internal_shape_size() const; - void _internal_set_shape_size(double value); + int32_t _internal_insert_text_format() const; + void _internal_set_insert_text_format(int32_t value); public: - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.CompletionItem) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::TextEdit > additional_text_edits_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField commit_characters_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr label_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr detail_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sort_text_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr filter_text_; + ::io::deephaven::proto::backplane::script::grpc::TextEdit* text_edit_; + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* documentation_; + int32_t start_; + int32_t length_; + int32_t kind_; + bool deprecated_; + bool preselect_; + int32_t insert_text_format_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor > data_sources_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr line_color_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr point_label_format_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr x_tool_tip_pattern_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr y_tool_tip_pattern_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr shape_label_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr shape_color_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr shape_; - int plot_style_; - bool lines_visible_; - bool shapes_visible_; - bool gradient_visible_; - double shape_size_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class FigureDescriptor_MultiSeriesDescriptor final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor) */ { +class TextEdit final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.TextEdit) */ { public: - inline FigureDescriptor_MultiSeriesDescriptor() : FigureDescriptor_MultiSeriesDescriptor(nullptr) {} - ~FigureDescriptor_MultiSeriesDescriptor() override; - explicit PROTOBUF_CONSTEXPR FigureDescriptor_MultiSeriesDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline TextEdit() : TextEdit(nullptr) {} + ~TextEdit() override; + explicit PROTOBUF_CONSTEXPR TextEdit(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - FigureDescriptor_MultiSeriesDescriptor(const FigureDescriptor_MultiSeriesDescriptor& from); - FigureDescriptor_MultiSeriesDescriptor(FigureDescriptor_MultiSeriesDescriptor&& from) noexcept - : FigureDescriptor_MultiSeriesDescriptor() { + TextEdit(const TextEdit& from); + TextEdit(TextEdit&& from) noexcept + : TextEdit() { *this = ::std::move(from); } - inline FigureDescriptor_MultiSeriesDescriptor& operator=(const FigureDescriptor_MultiSeriesDescriptor& from) { + inline TextEdit& operator=(const TextEdit& from) { CopyFrom(from); return *this; } - inline FigureDescriptor_MultiSeriesDescriptor& operator=(FigureDescriptor_MultiSeriesDescriptor&& from) noexcept { + inline TextEdit& operator=(TextEdit&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -6392,20 +6238,20 @@ class FigureDescriptor_MultiSeriesDescriptor final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FigureDescriptor_MultiSeriesDescriptor& default_instance() { + static const TextEdit& default_instance() { return *internal_default_instance(); } - static inline const FigureDescriptor_MultiSeriesDescriptor* internal_default_instance() { - return reinterpret_cast( - &_FigureDescriptor_MultiSeriesDescriptor_default_instance_); + static inline const TextEdit* internal_default_instance() { + return reinterpret_cast( + &_TextEdit_default_instance_); } static constexpr int kIndexInFileMessages = 32; - friend void swap(FigureDescriptor_MultiSeriesDescriptor& a, FigureDescriptor_MultiSeriesDescriptor& b) { + friend void swap(TextEdit& a, TextEdit& b) { a.Swap(&b); } - inline void Swap(FigureDescriptor_MultiSeriesDescriptor* other) { + inline void Swap(TextEdit* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -6418,7 +6264,7 @@ class FigureDescriptor_MultiSeriesDescriptor final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FigureDescriptor_MultiSeriesDescriptor* other) { + void UnsafeArenaSwap(TextEdit* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -6426,13 +6272,13 @@ class FigureDescriptor_MultiSeriesDescriptor final : // implements Message ---------------------------------------------- - FigureDescriptor_MultiSeriesDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TextEdit* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FigureDescriptor_MultiSeriesDescriptor& from); + void CopyFrom(const TextEdit& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const FigureDescriptor_MultiSeriesDescriptor& from); + void MergeFrom(const TextEdit& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -6449,15 +6295,15 @@ class FigureDescriptor_MultiSeriesDescriptor final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(FigureDescriptor_MultiSeriesDescriptor* other); + void InternalSwap(TextEdit* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor"; + return "io.deephaven.proto.backplane.script.grpc.TextEdit"; } protected: - explicit FigureDescriptor_MultiSeriesDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit TextEdit(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -6471,304 +6317,265 @@ class FigureDescriptor_MultiSeriesDescriptor final : // accessors ------------------------------------------------------- enum : int { - kDataSourcesFieldNumber = 14, - kNameFieldNumber = 2, - kLineColorFieldNumber = 3, - kPointColorFieldNumber = 4, - kLinesVisibleFieldNumber = 5, - kPointsVisibleFieldNumber = 6, - kGradientVisibleFieldNumber = 7, - kPointLabelFormatFieldNumber = 8, - kXToolTipPatternFieldNumber = 9, - kYToolTipPatternFieldNumber = 10, - kPointLabelFieldNumber = 11, - kPointSizeFieldNumber = 12, - kPointShapeFieldNumber = 13, - kPlotStyleFieldNumber = 1, + kTextFieldNumber = 2, + kRangeFieldNumber = 1, }; - // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesSourceDescriptor data_sources = 14; - int data_sources_size() const; + // string text = 2; + void clear_text(); + const std::string& text() const; + template + void set_text(ArgT0&& arg0, ArgT... args); + std::string* mutable_text(); + PROTOBUF_NODISCARD std::string* release_text(); + void set_allocated_text(std::string* text); private: - int _internal_data_sources_size() const; + const std::string& _internal_text() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_text(const std::string& value); + std::string* _internal_mutable_text(); public: - void clear_data_sources(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor* mutable_data_sources(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor >* - mutable_data_sources(); + + // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; + bool has_range() const; private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor& _internal_data_sources(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor* _internal_add_data_sources(); + bool _internal_has_range() const; public: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor& data_sources(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor* add_data_sources(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor >& - data_sources() const; - - // string name = 2; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); + void clear_range(); + const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& range() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::DocumentRange* release_range(); + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* mutable_range(); + void set_allocated_range(::io::deephaven::proto::backplane::script::grpc::DocumentRange* range); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& _internal_range() const; + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* _internal_mutable_range(); public: + void unsafe_arena_set_allocated_range( + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range); + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* unsafe_arena_release_range(); - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault line_color = 3; - bool has_line_color() const; + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.TextEdit) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr text_; + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; +}; +// ------------------------------------------------------------------- + +class GetSignatureHelpRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest) */ { + public: + inline GetSignatureHelpRequest() : GetSignatureHelpRequest(nullptr) {} + ~GetSignatureHelpRequest() override; + explicit PROTOBUF_CONSTEXPR GetSignatureHelpRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GetSignatureHelpRequest(const GetSignatureHelpRequest& from); + GetSignatureHelpRequest(GetSignatureHelpRequest&& from) noexcept + : GetSignatureHelpRequest() { + *this = ::std::move(from); + } + + inline GetSignatureHelpRequest& operator=(const GetSignatureHelpRequest& from) { + CopyFrom(from); + return *this; + } + inline GetSignatureHelpRequest& operator=(GetSignatureHelpRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const GetSignatureHelpRequest& default_instance() { + return *internal_default_instance(); + } + static inline const GetSignatureHelpRequest* internal_default_instance() { + return reinterpret_cast( + &_GetSignatureHelpRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 33; + + friend void swap(GetSignatureHelpRequest& a, GetSignatureHelpRequest& b) { + a.Swap(&b); + } + inline void Swap(GetSignatureHelpRequest* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetSignatureHelpRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + GetSignatureHelpRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetSignatureHelpRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const GetSignatureHelpRequest& from); private: - bool _internal_has_line_color() const; + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: - void clear_line_color(); - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& line_color() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* release_line_color(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* mutable_line_color(); - void set_allocated_line_color(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* line_color); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& _internal_line_color() const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* _internal_mutable_line_color(); + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetSignatureHelpRequest* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest"; + } + protected: + explicit GetSignatureHelpRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); public: - void unsafe_arena_set_allocated_line_color( - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* line_color); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* unsafe_arena_release_line_color(); - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault point_color = 4; - bool has_point_color() const; + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kContextFieldNumber = 1, + kTextDocumentFieldNumber = 2, + kPositionFieldNumber = 3, + }; + // .io.deephaven.proto.backplane.script.grpc.SignatureHelpContext context = 1; + bool has_context() const; private: - bool _internal_has_point_color() const; + bool _internal_has_context() const; public: - void clear_point_color(); - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& point_color() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* release_point_color(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* mutable_point_color(); - void set_allocated_point_color(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_color); + void clear_context(); + const ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext& context() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* release_context(); + ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* mutable_context(); + void set_allocated_context(::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* context); private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& _internal_point_color() const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* _internal_mutable_point_color(); + const ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext& _internal_context() const; + ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* _internal_mutable_context(); public: - void unsafe_arena_set_allocated_point_color( - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_color); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* unsafe_arena_release_point_color(); + void unsafe_arena_set_allocated_context( + ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* context); + ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* unsafe_arena_release_context(); - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault lines_visible = 5; - bool has_lines_visible() const; + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; + bool has_text_document() const; private: - bool _internal_has_lines_visible() const; + bool _internal_has_text_document() const; public: - void clear_lines_visible(); - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault& lines_visible() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* release_lines_visible(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* mutable_lines_visible(); - void set_allocated_lines_visible(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* lines_visible); + void clear_text_document(); + const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& text_document() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* release_text_document(); + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* mutable_text_document(); + void set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document); private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault& _internal_lines_visible() const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* _internal_mutable_lines_visible(); + const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& _internal_text_document() const; + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* _internal_mutable_text_document(); public: - void unsafe_arena_set_allocated_lines_visible( - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* lines_visible); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* unsafe_arena_release_lines_visible(); + void unsafe_arena_set_allocated_text_document( + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document); + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* unsafe_arena_release_text_document(); - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault points_visible = 6; - bool has_points_visible() const; + // .io.deephaven.proto.backplane.script.grpc.Position position = 3; + bool has_position() const; private: - bool _internal_has_points_visible() const; + bool _internal_has_position() const; public: - void clear_points_visible(); - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault& points_visible() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* release_points_visible(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* mutable_points_visible(); - void set_allocated_points_visible(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* points_visible); - private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault& _internal_points_visible() const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* _internal_mutable_points_visible(); - public: - void unsafe_arena_set_allocated_points_visible( - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* points_visible); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* unsafe_arena_release_points_visible(); - - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault gradient_visible = 7; - bool has_gradient_visible() const; - private: - bool _internal_has_gradient_visible() const; - public: - void clear_gradient_visible(); - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault& gradient_visible() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* release_gradient_visible(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* mutable_gradient_visible(); - void set_allocated_gradient_visible(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* gradient_visible); - private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault& _internal_gradient_visible() const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* _internal_mutable_gradient_visible(); - public: - void unsafe_arena_set_allocated_gradient_visible( - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* gradient_visible); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* unsafe_arena_release_gradient_visible(); - - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault point_label_format = 8; - bool has_point_label_format() const; - private: - bool _internal_has_point_label_format() const; - public: - void clear_point_label_format(); - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& point_label_format() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* release_point_label_format(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* mutable_point_label_format(); - void set_allocated_point_label_format(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_label_format); - private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& _internal_point_label_format() const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* _internal_mutable_point_label_format(); - public: - void unsafe_arena_set_allocated_point_label_format( - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_label_format); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* unsafe_arena_release_point_label_format(); - - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault x_tool_tip_pattern = 9; - bool has_x_tool_tip_pattern() const; - private: - bool _internal_has_x_tool_tip_pattern() const; - public: - void clear_x_tool_tip_pattern(); - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& x_tool_tip_pattern() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* release_x_tool_tip_pattern(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* mutable_x_tool_tip_pattern(); - void set_allocated_x_tool_tip_pattern(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* x_tool_tip_pattern); - private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& _internal_x_tool_tip_pattern() const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* _internal_mutable_x_tool_tip_pattern(); - public: - void unsafe_arena_set_allocated_x_tool_tip_pattern( - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* x_tool_tip_pattern); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* unsafe_arena_release_x_tool_tip_pattern(); - - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault y_tool_tip_pattern = 10; - bool has_y_tool_tip_pattern() const; - private: - bool _internal_has_y_tool_tip_pattern() const; - public: - void clear_y_tool_tip_pattern(); - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& y_tool_tip_pattern() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* release_y_tool_tip_pattern(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* mutable_y_tool_tip_pattern(); - void set_allocated_y_tool_tip_pattern(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* y_tool_tip_pattern); - private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& _internal_y_tool_tip_pattern() const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* _internal_mutable_y_tool_tip_pattern(); - public: - void unsafe_arena_set_allocated_y_tool_tip_pattern( - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* y_tool_tip_pattern); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* unsafe_arena_release_y_tool_tip_pattern(); - - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault point_label = 11; - bool has_point_label() const; - private: - bool _internal_has_point_label() const; - public: - void clear_point_label(); - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& point_label() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* release_point_label(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* mutable_point_label(); - void set_allocated_point_label(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_label); - private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& _internal_point_label() const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* _internal_mutable_point_label(); - public: - void unsafe_arena_set_allocated_point_label( - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_label); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* unsafe_arena_release_point_label(); - - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.DoubleMapWithDefault point_size = 12; - bool has_point_size() const; - private: - bool _internal_has_point_size() const; - public: - void clear_point_size(); - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault& point_size() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault* release_point_size(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault* mutable_point_size(); - void set_allocated_point_size(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault* point_size); - private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault& _internal_point_size() const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault* _internal_mutable_point_size(); - public: - void unsafe_arena_set_allocated_point_size( - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault* point_size); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault* unsafe_arena_release_point_size(); - - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault point_shape = 13; - bool has_point_shape() const; - private: - bool _internal_has_point_shape() const; - public: - void clear_point_shape(); - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& point_shape() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* release_point_shape(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* mutable_point_shape(); - void set_allocated_point_shape(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_shape); - private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& _internal_point_shape() const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* _internal_mutable_point_shape(); - public: - void unsafe_arena_set_allocated_point_shape( - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_shape); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* unsafe_arena_release_point_shape(); - - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesPlotStyle plot_style = 1; - void clear_plot_style(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesPlotStyle plot_style() const; - void set_plot_style(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesPlotStyle value); + void clear_position(); + const ::io::deephaven::proto::backplane::script::grpc::Position& position() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::Position* release_position(); + ::io::deephaven::proto::backplane::script::grpc::Position* mutable_position(); + void set_allocated_position(::io::deephaven::proto::backplane::script::grpc::Position* position); private: - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesPlotStyle _internal_plot_style() const; - void _internal_set_plot_style(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesPlotStyle value); + const ::io::deephaven::proto::backplane::script::grpc::Position& _internal_position() const; + ::io::deephaven::proto::backplane::script::grpc::Position* _internal_mutable_position(); public: + void unsafe_arena_set_allocated_position( + ::io::deephaven::proto::backplane::script::grpc::Position* position); + ::io::deephaven::proto::backplane::script::grpc::Position* unsafe_arena_release_position(); - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor > data_sources_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* line_color_; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_color_; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* lines_visible_; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* points_visible_; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* gradient_visible_; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_label_format_; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* x_tool_tip_pattern_; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* y_tool_tip_pattern_; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_label_; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault* point_size_; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_shape_; - int plot_style_; + ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* context_; + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document_; + ::io::deephaven::proto::backplane::script::grpc::Position* position_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class FigureDescriptor_StringMapWithDefault final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault) */ { +class SignatureHelpContext final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext) */ { public: - inline FigureDescriptor_StringMapWithDefault() : FigureDescriptor_StringMapWithDefault(nullptr) {} - ~FigureDescriptor_StringMapWithDefault() override; - explicit PROTOBUF_CONSTEXPR FigureDescriptor_StringMapWithDefault(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SignatureHelpContext() : SignatureHelpContext(nullptr) {} + ~SignatureHelpContext() override; + explicit PROTOBUF_CONSTEXPR SignatureHelpContext(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - FigureDescriptor_StringMapWithDefault(const FigureDescriptor_StringMapWithDefault& from); - FigureDescriptor_StringMapWithDefault(FigureDescriptor_StringMapWithDefault&& from) noexcept - : FigureDescriptor_StringMapWithDefault() { + SignatureHelpContext(const SignatureHelpContext& from); + SignatureHelpContext(SignatureHelpContext&& from) noexcept + : SignatureHelpContext() { *this = ::std::move(from); } - inline FigureDescriptor_StringMapWithDefault& operator=(const FigureDescriptor_StringMapWithDefault& from) { + inline SignatureHelpContext& operator=(const SignatureHelpContext& from) { CopyFrom(from); return *this; } - inline FigureDescriptor_StringMapWithDefault& operator=(FigureDescriptor_StringMapWithDefault&& from) noexcept { + inline SignatureHelpContext& operator=(SignatureHelpContext&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -6791,20 +6598,20 @@ class FigureDescriptor_StringMapWithDefault final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FigureDescriptor_StringMapWithDefault& default_instance() { + static const SignatureHelpContext& default_instance() { return *internal_default_instance(); } - static inline const FigureDescriptor_StringMapWithDefault* internal_default_instance() { - return reinterpret_cast( - &_FigureDescriptor_StringMapWithDefault_default_instance_); + static inline const SignatureHelpContext* internal_default_instance() { + return reinterpret_cast( + &_SignatureHelpContext_default_instance_); } static constexpr int kIndexInFileMessages = - 33; + 34; - friend void swap(FigureDescriptor_StringMapWithDefault& a, FigureDescriptor_StringMapWithDefault& b) { + friend void swap(SignatureHelpContext& a, SignatureHelpContext& b) { a.Swap(&b); } - inline void Swap(FigureDescriptor_StringMapWithDefault* other) { + inline void Swap(SignatureHelpContext* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -6817,7 +6624,7 @@ class FigureDescriptor_StringMapWithDefault final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FigureDescriptor_StringMapWithDefault* other) { + void UnsafeArenaSwap(SignatureHelpContext* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -6825,13 +6632,13 @@ class FigureDescriptor_StringMapWithDefault final : // implements Message ---------------------------------------------- - FigureDescriptor_StringMapWithDefault* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SignatureHelpContext* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FigureDescriptor_StringMapWithDefault& from); + void CopyFrom(const SignatureHelpContext& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const FigureDescriptor_StringMapWithDefault& from); + void MergeFrom(const SignatureHelpContext& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -6848,15 +6655,15 @@ class FigureDescriptor_StringMapWithDefault final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(FigureDescriptor_StringMapWithDefault* other); + void InternalSwap(SignatureHelpContext* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault"; + return "io.deephaven.proto.backplane.script.grpc.SignatureHelpContext"; } protected: - explicit FigureDescriptor_StringMapWithDefault(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SignatureHelpContext(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -6870,77 +6677,66 @@ class FigureDescriptor_StringMapWithDefault final : // accessors ------------------------------------------------------- enum : int { - kKeysFieldNumber = 2, - kValuesFieldNumber = 3, - kDefaultStringFieldNumber = 1, + kTriggerCharacterFieldNumber = 2, + kActiveSignatureHelpFieldNumber = 4, + kTriggerKindFieldNumber = 1, + kIsRetriggerFieldNumber = 3, }; - // repeated string keys = 2; - int keys_size() const; + // optional string trigger_character = 2; + bool has_trigger_character() const; private: - int _internal_keys_size() const; + bool _internal_has_trigger_character() const; public: - void clear_keys(); - const std::string& keys(int index) const; - std::string* mutable_keys(int index); - void set_keys(int index, const std::string& value); - void set_keys(int index, std::string&& value); - void set_keys(int index, const char* value); - void set_keys(int index, const char* value, size_t size); - std::string* add_keys(); - void add_keys(const std::string& value); - void add_keys(std::string&& value); - void add_keys(const char* value); - void add_keys(const char* value, size_t size); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& keys() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_keys(); + void clear_trigger_character(); + const std::string& trigger_character() const; + template + void set_trigger_character(ArgT0&& arg0, ArgT... args); + std::string* mutable_trigger_character(); + PROTOBUF_NODISCARD std::string* release_trigger_character(); + void set_allocated_trigger_character(std::string* trigger_character); private: - const std::string& _internal_keys(int index) const; - std::string* _internal_add_keys(); + const std::string& _internal_trigger_character() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_trigger_character(const std::string& value); + std::string* _internal_mutable_trigger_character(); public: - // repeated string values = 3; - int values_size() const; + // .io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse active_signature_help = 4; + bool has_active_signature_help() const; private: - int _internal_values_size() const; + bool _internal_has_active_signature_help() const; public: - void clear_values(); - const std::string& values(int index) const; - std::string* mutable_values(int index); - void set_values(int index, const std::string& value); - void set_values(int index, std::string&& value); - void set_values(int index, const char* value); - void set_values(int index, const char* value, size_t size); - std::string* add_values(); - void add_values(const std::string& value); - void add_values(std::string&& value); - void add_values(const char* value); - void add_values(const char* value, size_t size); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& values() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_values(); + void clear_active_signature_help(); + const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse& active_signature_help() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* release_active_signature_help(); + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* mutable_active_signature_help(); + void set_allocated_active_signature_help(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* active_signature_help); private: - const std::string& _internal_values(int index) const; - std::string* _internal_add_values(); + const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse& _internal_active_signature_help() const; + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* _internal_mutable_active_signature_help(); public: + void unsafe_arena_set_allocated_active_signature_help( + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* active_signature_help); + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* unsafe_arena_release_active_signature_help(); - // optional string default_string = 1; - bool has_default_string() const; + // int32 trigger_kind = 1; + void clear_trigger_kind(); + int32_t trigger_kind() const; + void set_trigger_kind(int32_t value); private: - bool _internal_has_default_string() const; + int32_t _internal_trigger_kind() const; + void _internal_set_trigger_kind(int32_t value); public: - void clear_default_string(); - const std::string& default_string() const; - template - void set_default_string(ArgT0&& arg0, ArgT... args); - std::string* mutable_default_string(); - PROTOBUF_NODISCARD std::string* release_default_string(); - void set_allocated_default_string(std::string* default_string); + + // bool is_retrigger = 3; + void clear_is_retrigger(); + bool is_retrigger() const; + void set_is_retrigger(bool value); private: - const std::string& _internal_default_string() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_default_string(const std::string& value); - std::string* _internal_mutable_default_string(); + bool _internal_is_retrigger() const; + void _internal_set_is_retrigger(bool value); public: - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext) private: class _Internal; @@ -6949,31 +6745,32 @@ class FigureDescriptor_StringMapWithDefault final : typedef void DestructorSkippable_; ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField keys_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField values_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_string_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr trigger_character_; + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* active_signature_help_; + int32_t trigger_kind_; + bool is_retrigger_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class FigureDescriptor_DoubleMapWithDefault final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.DoubleMapWithDefault) */ { +class GetSignatureHelpResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse) */ { public: - inline FigureDescriptor_DoubleMapWithDefault() : FigureDescriptor_DoubleMapWithDefault(nullptr) {} - ~FigureDescriptor_DoubleMapWithDefault() override; - explicit PROTOBUF_CONSTEXPR FigureDescriptor_DoubleMapWithDefault(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline GetSignatureHelpResponse() : GetSignatureHelpResponse(nullptr) {} + ~GetSignatureHelpResponse() override; + explicit PROTOBUF_CONSTEXPR GetSignatureHelpResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - FigureDescriptor_DoubleMapWithDefault(const FigureDescriptor_DoubleMapWithDefault& from); - FigureDescriptor_DoubleMapWithDefault(FigureDescriptor_DoubleMapWithDefault&& from) noexcept - : FigureDescriptor_DoubleMapWithDefault() { + GetSignatureHelpResponse(const GetSignatureHelpResponse& from); + GetSignatureHelpResponse(GetSignatureHelpResponse&& from) noexcept + : GetSignatureHelpResponse() { *this = ::std::move(from); } - inline FigureDescriptor_DoubleMapWithDefault& operator=(const FigureDescriptor_DoubleMapWithDefault& from) { + inline GetSignatureHelpResponse& operator=(const GetSignatureHelpResponse& from) { CopyFrom(from); return *this; } - inline FigureDescriptor_DoubleMapWithDefault& operator=(FigureDescriptor_DoubleMapWithDefault&& from) noexcept { + inline GetSignatureHelpResponse& operator=(GetSignatureHelpResponse&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -6996,20 +6793,20 @@ class FigureDescriptor_DoubleMapWithDefault final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FigureDescriptor_DoubleMapWithDefault& default_instance() { + static const GetSignatureHelpResponse& default_instance() { return *internal_default_instance(); } - static inline const FigureDescriptor_DoubleMapWithDefault* internal_default_instance() { - return reinterpret_cast( - &_FigureDescriptor_DoubleMapWithDefault_default_instance_); + static inline const GetSignatureHelpResponse* internal_default_instance() { + return reinterpret_cast( + &_GetSignatureHelpResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 34; + 35; - friend void swap(FigureDescriptor_DoubleMapWithDefault& a, FigureDescriptor_DoubleMapWithDefault& b) { + friend void swap(GetSignatureHelpResponse& a, GetSignatureHelpResponse& b) { a.Swap(&b); } - inline void Swap(FigureDescriptor_DoubleMapWithDefault* other) { + inline void Swap(GetSignatureHelpResponse* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -7022,7 +6819,7 @@ class FigureDescriptor_DoubleMapWithDefault final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FigureDescriptor_DoubleMapWithDefault* other) { + void UnsafeArenaSwap(GetSignatureHelpResponse* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -7030,13 +6827,13 @@ class FigureDescriptor_DoubleMapWithDefault final : // implements Message ---------------------------------------------- - FigureDescriptor_DoubleMapWithDefault* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + GetSignatureHelpResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FigureDescriptor_DoubleMapWithDefault& from); + void CopyFrom(const GetSignatureHelpResponse& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const FigureDescriptor_DoubleMapWithDefault& from); + void MergeFrom(const GetSignatureHelpResponse& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -7053,15 +6850,15 @@ class FigureDescriptor_DoubleMapWithDefault final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(FigureDescriptor_DoubleMapWithDefault* other); + void InternalSwap(GetSignatureHelpResponse* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.DoubleMapWithDefault"; + return "io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse"; } protected: - explicit FigureDescriptor_DoubleMapWithDefault(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit GetSignatureHelpResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -7075,70 +6872,55 @@ class FigureDescriptor_DoubleMapWithDefault final : // accessors ------------------------------------------------------- enum : int { - kKeysFieldNumber = 2, - kValuesFieldNumber = 3, - kDefaultDoubleFieldNumber = 1, + kSignaturesFieldNumber = 1, + kActiveSignatureFieldNumber = 2, + kActiveParameterFieldNumber = 3, }; - // repeated string keys = 2; - int keys_size() const; + // repeated .io.deephaven.proto.backplane.script.grpc.SignatureInformation signatures = 1; + int signatures_size() const; private: - int _internal_keys_size() const; + int _internal_signatures_size() const; public: - void clear_keys(); - const std::string& keys(int index) const; - std::string* mutable_keys(int index); - void set_keys(int index, const std::string& value); - void set_keys(int index, std::string&& value); - void set_keys(int index, const char* value); - void set_keys(int index, const char* value, size_t size); - std::string* add_keys(); - void add_keys(const std::string& value); - void add_keys(std::string&& value); - void add_keys(const char* value); - void add_keys(const char* value, size_t size); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& keys() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_keys(); + void clear_signatures(); + ::io::deephaven::proto::backplane::script::grpc::SignatureInformation* mutable_signatures(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::SignatureInformation >* + mutable_signatures(); private: - const std::string& _internal_keys(int index) const; - std::string* _internal_add_keys(); + const ::io::deephaven::proto::backplane::script::grpc::SignatureInformation& _internal_signatures(int index) const; + ::io::deephaven::proto::backplane::script::grpc::SignatureInformation* _internal_add_signatures(); public: + const ::io::deephaven::proto::backplane::script::grpc::SignatureInformation& signatures(int index) const; + ::io::deephaven::proto::backplane::script::grpc::SignatureInformation* add_signatures(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::SignatureInformation >& + signatures() const; - // repeated double values = 3; - int values_size() const; + // optional int32 active_signature = 2; + bool has_active_signature() const; private: - int _internal_values_size() const; + bool _internal_has_active_signature() const; public: - void clear_values(); + void clear_active_signature(); + int32_t active_signature() const; + void set_active_signature(int32_t value); private: - double _internal_values(int index) const; - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >& - _internal_values() const; - void _internal_add_values(double value); - ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >* - _internal_mutable_values(); + int32_t _internal_active_signature() const; + void _internal_set_active_signature(int32_t value); public: - double values(int index) const; - void set_values(int index, double value); - void add_values(double value); - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >& - values() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >* - mutable_values(); - // optional double default_double = 1; - bool has_default_double() const; + // optional int32 active_parameter = 3; + bool has_active_parameter() const; private: - bool _internal_has_default_double() const; + bool _internal_has_active_parameter() const; public: - void clear_default_double(); - double default_double() const; - void set_default_double(double value); + void clear_active_parameter(); + int32_t active_parameter() const; + void set_active_parameter(int32_t value); private: - double _internal_default_double() const; - void _internal_set_default_double(double value); + int32_t _internal_active_parameter() const; + void _internal_set_active_parameter(int32_t value); public: - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.DoubleMapWithDefault) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse) private: class _Internal; @@ -7147,31 +6929,31 @@ class FigureDescriptor_DoubleMapWithDefault final : typedef void DestructorSkippable_; ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField keys_; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > values_; - double default_double_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::SignatureInformation > signatures_; + int32_t active_signature_; + int32_t active_parameter_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class FigureDescriptor_BoolMapWithDefault final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault) */ { +class SignatureInformation final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.SignatureInformation) */ { public: - inline FigureDescriptor_BoolMapWithDefault() : FigureDescriptor_BoolMapWithDefault(nullptr) {} - ~FigureDescriptor_BoolMapWithDefault() override; - explicit PROTOBUF_CONSTEXPR FigureDescriptor_BoolMapWithDefault(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SignatureInformation() : SignatureInformation(nullptr) {} + ~SignatureInformation() override; + explicit PROTOBUF_CONSTEXPR SignatureInformation(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - FigureDescriptor_BoolMapWithDefault(const FigureDescriptor_BoolMapWithDefault& from); - FigureDescriptor_BoolMapWithDefault(FigureDescriptor_BoolMapWithDefault&& from) noexcept - : FigureDescriptor_BoolMapWithDefault() { + SignatureInformation(const SignatureInformation& from); + SignatureInformation(SignatureInformation&& from) noexcept + : SignatureInformation() { *this = ::std::move(from); } - inline FigureDescriptor_BoolMapWithDefault& operator=(const FigureDescriptor_BoolMapWithDefault& from) { + inline SignatureInformation& operator=(const SignatureInformation& from) { CopyFrom(from); return *this; } - inline FigureDescriptor_BoolMapWithDefault& operator=(FigureDescriptor_BoolMapWithDefault&& from) noexcept { + inline SignatureInformation& operator=(SignatureInformation&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -7194,20 +6976,20 @@ class FigureDescriptor_BoolMapWithDefault final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FigureDescriptor_BoolMapWithDefault& default_instance() { + static const SignatureInformation& default_instance() { return *internal_default_instance(); } - static inline const FigureDescriptor_BoolMapWithDefault* internal_default_instance() { - return reinterpret_cast( - &_FigureDescriptor_BoolMapWithDefault_default_instance_); + static inline const SignatureInformation* internal_default_instance() { + return reinterpret_cast( + &_SignatureInformation_default_instance_); } static constexpr int kIndexInFileMessages = - 35; + 36; - friend void swap(FigureDescriptor_BoolMapWithDefault& a, FigureDescriptor_BoolMapWithDefault& b) { + friend void swap(SignatureInformation& a, SignatureInformation& b) { a.Swap(&b); } - inline void Swap(FigureDescriptor_BoolMapWithDefault* other) { + inline void Swap(SignatureInformation* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -7220,7 +7002,7 @@ class FigureDescriptor_BoolMapWithDefault final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FigureDescriptor_BoolMapWithDefault* other) { + void UnsafeArenaSwap(SignatureInformation* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -7228,13 +7010,13 @@ class FigureDescriptor_BoolMapWithDefault final : // implements Message ---------------------------------------------- - FigureDescriptor_BoolMapWithDefault* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SignatureInformation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FigureDescriptor_BoolMapWithDefault& from); + void CopyFrom(const SignatureInformation& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const FigureDescriptor_BoolMapWithDefault& from); + void MergeFrom(const SignatureInformation& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -7251,15 +7033,15 @@ class FigureDescriptor_BoolMapWithDefault final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(FigureDescriptor_BoolMapWithDefault* other); + void InternalSwap(SignatureInformation* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault"; + return "io.deephaven.proto.backplane.script.grpc.SignatureInformation"; } protected: - explicit FigureDescriptor_BoolMapWithDefault(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit SignatureInformation(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -7273,70 +7055,75 @@ class FigureDescriptor_BoolMapWithDefault final : // accessors ------------------------------------------------------- enum : int { - kKeysFieldNumber = 2, - kValuesFieldNumber = 3, - kDefaultBoolFieldNumber = 1, + kParametersFieldNumber = 3, + kLabelFieldNumber = 1, + kDocumentationFieldNumber = 2, + kActiveParameterFieldNumber = 4, }; - // repeated string keys = 2; - int keys_size() const; + // repeated .io.deephaven.proto.backplane.script.grpc.ParameterInformation parameters = 3; + int parameters_size() const; private: - int _internal_keys_size() const; + int _internal_parameters_size() const; public: - void clear_keys(); - const std::string& keys(int index) const; - std::string* mutable_keys(int index); - void set_keys(int index, const std::string& value); - void set_keys(int index, std::string&& value); - void set_keys(int index, const char* value); - void set_keys(int index, const char* value, size_t size); - std::string* add_keys(); - void add_keys(const std::string& value); - void add_keys(std::string&& value); - void add_keys(const char* value); - void add_keys(const char* value, size_t size); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& keys() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_keys(); + void clear_parameters(); + ::io::deephaven::proto::backplane::script::grpc::ParameterInformation* mutable_parameters(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::ParameterInformation >* + mutable_parameters(); private: - const std::string& _internal_keys(int index) const; - std::string* _internal_add_keys(); + const ::io::deephaven::proto::backplane::script::grpc::ParameterInformation& _internal_parameters(int index) const; + ::io::deephaven::proto::backplane::script::grpc::ParameterInformation* _internal_add_parameters(); public: + const ::io::deephaven::proto::backplane::script::grpc::ParameterInformation& parameters(int index) const; + ::io::deephaven::proto::backplane::script::grpc::ParameterInformation* add_parameters(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::ParameterInformation >& + parameters() const; - // repeated bool values = 3; - int values_size() const; + // string label = 1; + void clear_label(); + const std::string& label() const; + template + void set_label(ArgT0&& arg0, ArgT... args); + std::string* mutable_label(); + PROTOBUF_NODISCARD std::string* release_label(); + void set_allocated_label(std::string* label); private: - int _internal_values_size() const; + const std::string& _internal_label() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_label(const std::string& value); + std::string* _internal_mutable_label(); public: - void clear_values(); + + // .io.deephaven.proto.backplane.script.grpc.MarkupContent documentation = 2; + bool has_documentation() const; private: - bool _internal_values(int index) const; - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< bool >& - _internal_values() const; - void _internal_add_values(bool value); - ::PROTOBUF_NAMESPACE_ID::RepeatedField< bool >* - _internal_mutable_values(); + bool _internal_has_documentation() const; public: - bool values(int index) const; - void set_values(int index, bool value); - void add_values(bool value); - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< bool >& - values() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< bool >* - mutable_values(); + void clear_documentation(); + const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& documentation() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::MarkupContent* release_documentation(); + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* mutable_documentation(); + void set_allocated_documentation(::io::deephaven::proto::backplane::script::grpc::MarkupContent* documentation); + private: + const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& _internal_documentation() const; + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* _internal_mutable_documentation(); + public: + void unsafe_arena_set_allocated_documentation( + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* documentation); + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* unsafe_arena_release_documentation(); - // optional bool default_bool = 1; - bool has_default_bool() const; + // optional int32 active_parameter = 4; + bool has_active_parameter() const; private: - bool _internal_has_default_bool() const; + bool _internal_has_active_parameter() const; public: - void clear_default_bool(); - bool default_bool() const; - void set_default_bool(bool value); + void clear_active_parameter(); + int32_t active_parameter() const; + void set_active_parameter(int32_t value); private: - bool _internal_default_bool() const; - void _internal_set_default_bool(bool value); + int32_t _internal_active_parameter() const; + void _internal_set_active_parameter(int32_t value); public: - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.SignatureInformation) private: class _Internal; @@ -7345,31 +7132,32 @@ class FigureDescriptor_BoolMapWithDefault final : typedef void DestructorSkippable_; ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField keys_; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< bool > values_; - bool default_bool_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::ParameterInformation > parameters_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr label_; + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* documentation_; + int32_t active_parameter_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class FigureDescriptor_AxisDescriptor final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor) */ { +class ParameterInformation final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.ParameterInformation) */ { public: - inline FigureDescriptor_AxisDescriptor() : FigureDescriptor_AxisDescriptor(nullptr) {} - ~FigureDescriptor_AxisDescriptor() override; - explicit PROTOBUF_CONSTEXPR FigureDescriptor_AxisDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ParameterInformation() : ParameterInformation(nullptr) {} + ~ParameterInformation() override; + explicit PROTOBUF_CONSTEXPR ParameterInformation(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - FigureDescriptor_AxisDescriptor(const FigureDescriptor_AxisDescriptor& from); - FigureDescriptor_AxisDescriptor(FigureDescriptor_AxisDescriptor&& from) noexcept - : FigureDescriptor_AxisDescriptor() { + ParameterInformation(const ParameterInformation& from); + ParameterInformation(ParameterInformation&& from) noexcept + : ParameterInformation() { *this = ::std::move(from); } - inline FigureDescriptor_AxisDescriptor& operator=(const FigureDescriptor_AxisDescriptor& from) { + inline ParameterInformation& operator=(const ParameterInformation& from) { CopyFrom(from); return *this; } - inline FigureDescriptor_AxisDescriptor& operator=(FigureDescriptor_AxisDescriptor&& from) noexcept { + inline ParameterInformation& operator=(ParameterInformation&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -7392,20 +7180,20 @@ class FigureDescriptor_AxisDescriptor final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FigureDescriptor_AxisDescriptor& default_instance() { + static const ParameterInformation& default_instance() { return *internal_default_instance(); } - static inline const FigureDescriptor_AxisDescriptor* internal_default_instance() { - return reinterpret_cast( - &_FigureDescriptor_AxisDescriptor_default_instance_); + static inline const ParameterInformation* internal_default_instance() { + return reinterpret_cast( + &_ParameterInformation_default_instance_); } static constexpr int kIndexInFileMessages = - 36; + 37; - friend void swap(FigureDescriptor_AxisDescriptor& a, FigureDescriptor_AxisDescriptor& b) { + friend void swap(ParameterInformation& a, ParameterInformation& b) { a.Swap(&b); } - inline void Swap(FigureDescriptor_AxisDescriptor* other) { + inline void Swap(ParameterInformation* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -7418,7 +7206,7 @@ class FigureDescriptor_AxisDescriptor final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FigureDescriptor_AxisDescriptor* other) { + void UnsafeArenaSwap(ParameterInformation* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -7426,13 +7214,13 @@ class FigureDescriptor_AxisDescriptor final : // implements Message ---------------------------------------------- - FigureDescriptor_AxisDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ParameterInformation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FigureDescriptor_AxisDescriptor& from); + void CopyFrom(const ParameterInformation& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const FigureDescriptor_AxisDescriptor& from); + void MergeFrom(const ParameterInformation& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -7449,15 +7237,15 @@ class FigureDescriptor_AxisDescriptor final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(FigureDescriptor_AxisDescriptor* other); + void InternalSwap(ParameterInformation* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor"; + return "io.deephaven.proto.backplane.script.grpc.ParameterInformation"; } protected: - explicit FigureDescriptor_AxisDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit ParameterInformation(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -7468,172 +7256,13 @@ class FigureDescriptor_AxisDescriptor final : // nested types ---------------------------------------------------- - typedef FigureDescriptor_AxisDescriptor_AxisFormatType AxisFormatType; - static constexpr AxisFormatType CATEGORY = - FigureDescriptor_AxisDescriptor_AxisFormatType_CATEGORY; - static constexpr AxisFormatType NUMBER = - FigureDescriptor_AxisDescriptor_AxisFormatType_NUMBER; - static inline bool AxisFormatType_IsValid(int value) { - return FigureDescriptor_AxisDescriptor_AxisFormatType_IsValid(value); - } - static constexpr AxisFormatType AxisFormatType_MIN = - FigureDescriptor_AxisDescriptor_AxisFormatType_AxisFormatType_MIN; - static constexpr AxisFormatType AxisFormatType_MAX = - FigureDescriptor_AxisDescriptor_AxisFormatType_AxisFormatType_MAX; - static constexpr int AxisFormatType_ARRAYSIZE = - FigureDescriptor_AxisDescriptor_AxisFormatType_AxisFormatType_ARRAYSIZE; - static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* - AxisFormatType_descriptor() { - return FigureDescriptor_AxisDescriptor_AxisFormatType_descriptor(); - } - template - static inline const std::string& AxisFormatType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function AxisFormatType_Name."); - return FigureDescriptor_AxisDescriptor_AxisFormatType_Name(enum_t_value); - } - static inline bool AxisFormatType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, - AxisFormatType* value) { - return FigureDescriptor_AxisDescriptor_AxisFormatType_Parse(name, value); - } - - typedef FigureDescriptor_AxisDescriptor_AxisType AxisType; - static constexpr AxisType X = - FigureDescriptor_AxisDescriptor_AxisType_X; - static constexpr AxisType Y = - FigureDescriptor_AxisDescriptor_AxisType_Y; - static constexpr AxisType SHAPE = - FigureDescriptor_AxisDescriptor_AxisType_SHAPE; - static constexpr AxisType SIZE = - FigureDescriptor_AxisDescriptor_AxisType_SIZE; - static constexpr AxisType LABEL = - FigureDescriptor_AxisDescriptor_AxisType_LABEL; - static constexpr AxisType COLOR = - FigureDescriptor_AxisDescriptor_AxisType_COLOR; - static inline bool AxisType_IsValid(int value) { - return FigureDescriptor_AxisDescriptor_AxisType_IsValid(value); - } - static constexpr AxisType AxisType_MIN = - FigureDescriptor_AxisDescriptor_AxisType_AxisType_MIN; - static constexpr AxisType AxisType_MAX = - FigureDescriptor_AxisDescriptor_AxisType_AxisType_MAX; - static constexpr int AxisType_ARRAYSIZE = - FigureDescriptor_AxisDescriptor_AxisType_AxisType_ARRAYSIZE; - static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* - AxisType_descriptor() { - return FigureDescriptor_AxisDescriptor_AxisType_descriptor(); - } - template - static inline const std::string& AxisType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function AxisType_Name."); - return FigureDescriptor_AxisDescriptor_AxisType_Name(enum_t_value); - } - static inline bool AxisType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, - AxisType* value) { - return FigureDescriptor_AxisDescriptor_AxisType_Parse(name, value); - } - - typedef FigureDescriptor_AxisDescriptor_AxisPosition AxisPosition; - static constexpr AxisPosition TOP = - FigureDescriptor_AxisDescriptor_AxisPosition_TOP; - static constexpr AxisPosition BOTTOM = - FigureDescriptor_AxisDescriptor_AxisPosition_BOTTOM; - static constexpr AxisPosition LEFT = - FigureDescriptor_AxisDescriptor_AxisPosition_LEFT; - static constexpr AxisPosition RIGHT = - FigureDescriptor_AxisDescriptor_AxisPosition_RIGHT; - static constexpr AxisPosition NONE = - FigureDescriptor_AxisDescriptor_AxisPosition_NONE; - static inline bool AxisPosition_IsValid(int value) { - return FigureDescriptor_AxisDescriptor_AxisPosition_IsValid(value); - } - static constexpr AxisPosition AxisPosition_MIN = - FigureDescriptor_AxisDescriptor_AxisPosition_AxisPosition_MIN; - static constexpr AxisPosition AxisPosition_MAX = - FigureDescriptor_AxisDescriptor_AxisPosition_AxisPosition_MAX; - static constexpr int AxisPosition_ARRAYSIZE = - FigureDescriptor_AxisDescriptor_AxisPosition_AxisPosition_ARRAYSIZE; - static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* - AxisPosition_descriptor() { - return FigureDescriptor_AxisDescriptor_AxisPosition_descriptor(); - } - template - static inline const std::string& AxisPosition_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function AxisPosition_Name."); - return FigureDescriptor_AxisDescriptor_AxisPosition_Name(enum_t_value); - } - static inline bool AxisPosition_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, - AxisPosition* value) { - return FigureDescriptor_AxisDescriptor_AxisPosition_Parse(name, value); - } - - // accessors ------------------------------------------------------- + // accessors ------------------------------------------------------- enum : int { - kMajorTickLocationsFieldNumber = 17, - kIdFieldNumber = 1, - kLabelFieldNumber = 6, - kLabelFontFieldNumber = 7, - kTicksFontFieldNumber = 8, - kFormatPatternFieldNumber = 9, - kColorFieldNumber = 10, - kBusinessCalendarDescriptorFieldNumber = 21, - kFormatTypeFieldNumber = 2, - kTypeFieldNumber = 3, - kMinRangeFieldNumber = 11, - kPositionFieldNumber = 4, - kLogFieldNumber = 5, - kMinorTicksVisibleFieldNumber = 13, - kMajorTicksVisibleFieldNumber = 14, - kInvertFieldNumber = 19, - kMaxRangeFieldNumber = 12, - kGapBetweenMajorTicksFieldNumber = 16, - kMinorTickCountFieldNumber = 15, - kIsTimeAxisFieldNumber = 20, - kTickLabelAngleFieldNumber = 18, + kLabelFieldNumber = 1, + kDocumentationFieldNumber = 2, }; - // repeated double major_tick_locations = 17; - int major_tick_locations_size() const; - private: - int _internal_major_tick_locations_size() const; - public: - void clear_major_tick_locations(); - private: - double _internal_major_tick_locations(int index) const; - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >& - _internal_major_tick_locations() const; - void _internal_add_major_tick_locations(double value); - ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >* - _internal_mutable_major_tick_locations(); - public: - double major_tick_locations(int index) const; - void set_major_tick_locations(int index, double value); - void add_major_tick_locations(double value); - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >& - major_tick_locations() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >* - mutable_major_tick_locations(); - - // string id = 1; - void clear_id(); - const std::string& id() const; - template - void set_id(ArgT0&& arg0, ArgT... args); - std::string* mutable_id(); - PROTOBUF_NODISCARD std::string* release_id(); - void set_allocated_id(std::string* id); - private: - const std::string& _internal_id() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_id(const std::string& value); - std::string* _internal_mutable_id(); - public: - - // string label = 6; + // string label = 1; void clear_label(); const std::string& label() const; template @@ -7647,257 +7276,228 @@ class FigureDescriptor_AxisDescriptor final : std::string* _internal_mutable_label(); public: - // string label_font = 7; - void clear_label_font(); - const std::string& label_font() const; - template - void set_label_font(ArgT0&& arg0, ArgT... args); - std::string* mutable_label_font(); - PROTOBUF_NODISCARD std::string* release_label_font(); - void set_allocated_label_font(std::string* label_font); + // .io.deephaven.proto.backplane.script.grpc.MarkupContent documentation = 2; + bool has_documentation() const; private: - const std::string& _internal_label_font() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_label_font(const std::string& value); - std::string* _internal_mutable_label_font(); + bool _internal_has_documentation() const; public: - - // string ticks_font = 8; - void clear_ticks_font(); - const std::string& ticks_font() const; - template - void set_ticks_font(ArgT0&& arg0, ArgT... args); - std::string* mutable_ticks_font(); - PROTOBUF_NODISCARD std::string* release_ticks_font(); - void set_allocated_ticks_font(std::string* ticks_font); + void clear_documentation(); + const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& documentation() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::MarkupContent* release_documentation(); + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* mutable_documentation(); + void set_allocated_documentation(::io::deephaven::proto::backplane::script::grpc::MarkupContent* documentation); private: - const std::string& _internal_ticks_font() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_ticks_font(const std::string& value); - std::string* _internal_mutable_ticks_font(); + const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& _internal_documentation() const; + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* _internal_mutable_documentation(); public: + void unsafe_arena_set_allocated_documentation( + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* documentation); + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* unsafe_arena_release_documentation(); - // optional string format_pattern = 9; - bool has_format_pattern() const; - private: - bool _internal_has_format_pattern() const; - public: - void clear_format_pattern(); - const std::string& format_pattern() const; - template - void set_format_pattern(ArgT0&& arg0, ArgT... args); - std::string* mutable_format_pattern(); - PROTOBUF_NODISCARD std::string* release_format_pattern(); - void set_allocated_format_pattern(std::string* format_pattern); - private: - const std::string& _internal_format_pattern() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_format_pattern(const std::string& value); - std::string* _internal_mutable_format_pattern(); - public: + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.ParameterInformation) + private: + class _Internal; - // string color = 10; - void clear_color(); - const std::string& color() const; - template - void set_color(ArgT0&& arg0, ArgT... args); - std::string* mutable_color(); - PROTOBUF_NODISCARD std::string* release_color(); - void set_allocated_color(std::string* color); - private: - const std::string& _internal_color() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_color(const std::string& value); - std::string* _internal_mutable_color(); - public: + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr label_; + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* documentation_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; +}; +// ------------------------------------------------------------------- - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor business_calendar_descriptor = 21; - bool has_business_calendar_descriptor() const; - private: - bool _internal_has_business_calendar_descriptor() const; - public: - void clear_business_calendar_descriptor(); - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor& business_calendar_descriptor() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor* release_business_calendar_descriptor(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor* mutable_business_calendar_descriptor(); - void set_allocated_business_calendar_descriptor(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor* business_calendar_descriptor); - private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor& _internal_business_calendar_descriptor() const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor* _internal_mutable_business_calendar_descriptor(); - public: - void unsafe_arena_set_allocated_business_calendar_descriptor( - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor* business_calendar_descriptor); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor* unsafe_arena_release_business_calendar_descriptor(); +class GetHoverRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.GetHoverRequest) */ { + public: + inline GetHoverRequest() : GetHoverRequest(nullptr) {} + ~GetHoverRequest() override; + explicit PROTOBUF_CONSTEXPR GetHoverRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisFormatType format_type = 2; - void clear_format_type(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisFormatType format_type() const; - void set_format_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisFormatType value); - private: - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisFormatType _internal_format_type() const; - void _internal_set_format_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisFormatType value); - public: + GetHoverRequest(const GetHoverRequest& from); + GetHoverRequest(GetHoverRequest&& from) noexcept + : GetHoverRequest() { + *this = ::std::move(from); + } - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisType type = 3; - void clear_type(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisType type() const; - void set_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisType value); - private: - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisType _internal_type() const; - void _internal_set_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisType value); - public: + inline GetHoverRequest& operator=(const GetHoverRequest& from) { + CopyFrom(from); + return *this; + } + inline GetHoverRequest& operator=(GetHoverRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - // double min_range = 11; - void clear_min_range(); - double min_range() const; - void set_min_range(double value); - private: - double _internal_min_range() const; - void _internal_set_min_range(double value); - public: + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const GetHoverRequest& default_instance() { + return *internal_default_instance(); + } + static inline const GetHoverRequest* internal_default_instance() { + return reinterpret_cast( + &_GetHoverRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 38; - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisPosition position = 4; - void clear_position(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisPosition position() const; - void set_position(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisPosition value); - private: - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisPosition _internal_position() const; - void _internal_set_position(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisPosition value); - public: + friend void swap(GetHoverRequest& a, GetHoverRequest& b) { + a.Swap(&b); + } + inline void Swap(GetHoverRequest* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetHoverRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } - // bool log = 5; - void clear_log(); - bool log() const; - void set_log(bool value); - private: - bool _internal_log() const; - void _internal_set_log(bool value); - public: + // implements Message ---------------------------------------------- - // bool minor_ticks_visible = 13; - void clear_minor_ticks_visible(); - bool minor_ticks_visible() const; - void set_minor_ticks_visible(bool value); + GetHoverRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GetHoverRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const GetHoverRequest& from); private: - bool _internal_minor_ticks_visible() const; - void _internal_set_minor_ticks_visible(bool value); + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; - // bool major_ticks_visible = 14; - void clear_major_ticks_visible(); - bool major_ticks_visible() const; - void set_major_ticks_visible(bool value); - private: - bool _internal_major_ticks_visible() const; - void _internal_set_major_ticks_visible(bool value); - public: + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } - // bool invert = 19; - void clear_invert(); - bool invert() const; - void set_invert(bool value); private: - bool _internal_invert() const; - void _internal_set_invert(bool value); - public: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GetHoverRequest* other); - // double max_range = 12; - void clear_max_range(); - double max_range() const; - void set_max_range(double value); private: - double _internal_max_range() const; - void _internal_set_max_range(double value); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.script.grpc.GetHoverRequest"; + } + protected: + explicit GetHoverRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); public: - // optional double gap_between_major_ticks = 16; - bool has_gap_between_major_ticks() const; - private: - bool _internal_has_gap_between_major_ticks() const; - public: - void clear_gap_between_major_ticks(); - double gap_between_major_ticks() const; - void set_gap_between_major_ticks(double value); + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kTextDocumentFieldNumber = 1, + kPositionFieldNumber = 2, + }; + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 1; + bool has_text_document() const; private: - double _internal_gap_between_major_ticks() const; - void _internal_set_gap_between_major_ticks(double value); + bool _internal_has_text_document() const; public: - - // int32 minor_tick_count = 15; - void clear_minor_tick_count(); - int32_t minor_tick_count() const; - void set_minor_tick_count(int32_t value); + void clear_text_document(); + const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& text_document() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* release_text_document(); + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* mutable_text_document(); + void set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document); private: - int32_t _internal_minor_tick_count() const; - void _internal_set_minor_tick_count(int32_t value); + const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& _internal_text_document() const; + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* _internal_mutable_text_document(); public: + void unsafe_arena_set_allocated_text_document( + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document); + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* unsafe_arena_release_text_document(); - // bool is_time_axis = 20; - void clear_is_time_axis(); - bool is_time_axis() const; - void set_is_time_axis(bool value); + // .io.deephaven.proto.backplane.script.grpc.Position position = 2; + bool has_position() const; private: - bool _internal_is_time_axis() const; - void _internal_set_is_time_axis(bool value); + bool _internal_has_position() const; public: - - // double tick_label_angle = 18; - void clear_tick_label_angle(); - double tick_label_angle() const; - void set_tick_label_angle(double value); + void clear_position(); + const ::io::deephaven::proto::backplane::script::grpc::Position& position() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::Position* release_position(); + ::io::deephaven::proto::backplane::script::grpc::Position* mutable_position(); + void set_allocated_position(::io::deephaven::proto::backplane::script::grpc::Position* position); private: - double _internal_tick_label_angle() const; - void _internal_set_tick_label_angle(double value); + const ::io::deephaven::proto::backplane::script::grpc::Position& _internal_position() const; + ::io::deephaven::proto::backplane::script::grpc::Position* _internal_mutable_position(); public: + void unsafe_arena_set_allocated_position( + ::io::deephaven::proto::backplane::script::grpc::Position* position); + ::io::deephaven::proto::backplane::script::grpc::Position* unsafe_arena_release_position(); - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.GetHoverRequest) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document_; + ::io::deephaven::proto::backplane::script::grpc::Position* position_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > major_tick_locations_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr label_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr label_font_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ticks_font_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr format_pattern_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr color_; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor* business_calendar_descriptor_; - int format_type_; - int type_; - double min_range_; - int position_; - bool log_; - bool minor_ticks_visible_; - bool major_ticks_visible_; - bool invert_; - double max_range_; - double gap_between_major_ticks_; - int32_t minor_tick_count_; - bool is_time_axis_; - double tick_label_angle_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod) */ { +class GetHoverResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.GetHoverResponse) */ { public: - inline FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod() : FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod(nullptr) {} - ~FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod() override; - explicit PROTOBUF_CONSTEXPR FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline GetHoverResponse() : GetHoverResponse(nullptr) {} + ~GetHoverResponse() override; + explicit PROTOBUF_CONSTEXPR GetHoverResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod(const FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& from); - FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod(FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod&& from) noexcept - : FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod() { + GetHoverResponse(const GetHoverResponse& from); + GetHoverResponse(GetHoverResponse&& from) noexcept + : GetHoverResponse() { *this = ::std::move(from); } - inline FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& operator=(const FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& from) { + inline GetHoverResponse& operator=(const GetHoverResponse& from) { CopyFrom(from); return *this; } - inline FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& operator=(FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod&& from) noexcept { + inline GetHoverResponse& operator=(GetHoverResponse&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -7920,20 +7520,20 @@ class FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& default_instance() { + static const GetHoverResponse& default_instance() { return *internal_default_instance(); } - static inline const FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* internal_default_instance() { - return reinterpret_cast( - &_FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod_default_instance_); + static inline const GetHoverResponse* internal_default_instance() { + return reinterpret_cast( + &_GetHoverResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 37; + 39; - friend void swap(FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& a, FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& b) { + friend void swap(GetHoverResponse& a, GetHoverResponse& b) { a.Swap(&b); } - inline void Swap(FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* other) { + inline void Swap(GetHoverResponse* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -7946,7 +7546,7 @@ class FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* other) { + void UnsafeArenaSwap(GetHoverResponse* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -7954,13 +7554,13 @@ class FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod final : // implements Message ---------------------------------------------- - FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + GetHoverResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& from); + void CopyFrom(const GetHoverResponse& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& from); + void MergeFrom(const GetHoverResponse& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -7977,15 +7577,15 @@ class FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* other); + void InternalSwap(GetHoverResponse* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod"; + return "io.deephaven.proto.backplane.script.grpc.GetHoverResponse"; } protected: - explicit FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit GetHoverResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -7999,69 +7599,77 @@ class FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod final : // accessors ------------------------------------------------------- enum : int { - kOpenFieldNumber = 1, - kCloseFieldNumber = 2, + kContentsFieldNumber = 1, + kRangeFieldNumber = 2, }; - // string open = 1; - void clear_open(); - const std::string& open() const; - template - void set_open(ArgT0&& arg0, ArgT... args); - std::string* mutable_open(); - PROTOBUF_NODISCARD std::string* release_open(); - void set_allocated_open(std::string* open); + // .io.deephaven.proto.backplane.script.grpc.MarkupContent contents = 1; + bool has_contents() const; private: - const std::string& _internal_open() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_open(const std::string& value); - std::string* _internal_mutable_open(); + bool _internal_has_contents() const; + public: + void clear_contents(); + const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& contents() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::MarkupContent* release_contents(); + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* mutable_contents(); + void set_allocated_contents(::io::deephaven::proto::backplane::script::grpc::MarkupContent* contents); + private: + const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& _internal_contents() const; + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* _internal_mutable_contents(); public: + void unsafe_arena_set_allocated_contents( + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* contents); + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* unsafe_arena_release_contents(); - // string close = 2; - void clear_close(); - const std::string& close() const; - template - void set_close(ArgT0&& arg0, ArgT... args); - std::string* mutable_close(); - PROTOBUF_NODISCARD std::string* release_close(); - void set_allocated_close(std::string* close); + // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 2; + bool has_range() const; private: - const std::string& _internal_close() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_close(const std::string& value); - std::string* _internal_mutable_close(); + bool _internal_has_range() const; public: + void clear_range(); + const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& range() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::DocumentRange* release_range(); + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* mutable_range(); + void set_allocated_range(::io::deephaven::proto::backplane::script::grpc::DocumentRange* range); + private: + const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& _internal_range() const; + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* _internal_mutable_range(); + public: + void unsafe_arena_set_allocated_range( + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range); + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* unsafe_arena_release_range(); - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.GetHoverResponse) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr open_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr close_; + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* contents_; + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class FigureDescriptor_BusinessCalendarDescriptor_Holiday final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday) */ { +class GetDiagnosticRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest) */ { public: - inline FigureDescriptor_BusinessCalendarDescriptor_Holiday() : FigureDescriptor_BusinessCalendarDescriptor_Holiday(nullptr) {} - ~FigureDescriptor_BusinessCalendarDescriptor_Holiday() override; - explicit PROTOBUF_CONSTEXPR FigureDescriptor_BusinessCalendarDescriptor_Holiday(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline GetDiagnosticRequest() : GetDiagnosticRequest(nullptr) {} + ~GetDiagnosticRequest() override; + explicit PROTOBUF_CONSTEXPR GetDiagnosticRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - FigureDescriptor_BusinessCalendarDescriptor_Holiday(const FigureDescriptor_BusinessCalendarDescriptor_Holiday& from); - FigureDescriptor_BusinessCalendarDescriptor_Holiday(FigureDescriptor_BusinessCalendarDescriptor_Holiday&& from) noexcept - : FigureDescriptor_BusinessCalendarDescriptor_Holiday() { + GetDiagnosticRequest(const GetDiagnosticRequest& from); + GetDiagnosticRequest(GetDiagnosticRequest&& from) noexcept + : GetDiagnosticRequest() { *this = ::std::move(from); } - inline FigureDescriptor_BusinessCalendarDescriptor_Holiday& operator=(const FigureDescriptor_BusinessCalendarDescriptor_Holiday& from) { + inline GetDiagnosticRequest& operator=(const GetDiagnosticRequest& from) { CopyFrom(from); return *this; } - inline FigureDescriptor_BusinessCalendarDescriptor_Holiday& operator=(FigureDescriptor_BusinessCalendarDescriptor_Holiday&& from) noexcept { + inline GetDiagnosticRequest& operator=(GetDiagnosticRequest&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -8084,20 +7692,20 @@ class FigureDescriptor_BusinessCalendarDescriptor_Holiday final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FigureDescriptor_BusinessCalendarDescriptor_Holiday& default_instance() { + static const GetDiagnosticRequest& default_instance() { return *internal_default_instance(); } - static inline const FigureDescriptor_BusinessCalendarDescriptor_Holiday* internal_default_instance() { - return reinterpret_cast( - &_FigureDescriptor_BusinessCalendarDescriptor_Holiday_default_instance_); + static inline const GetDiagnosticRequest* internal_default_instance() { + return reinterpret_cast( + &_GetDiagnosticRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 38; + 40; - friend void swap(FigureDescriptor_BusinessCalendarDescriptor_Holiday& a, FigureDescriptor_BusinessCalendarDescriptor_Holiday& b) { + friend void swap(GetDiagnosticRequest& a, GetDiagnosticRequest& b) { a.Swap(&b); } - inline void Swap(FigureDescriptor_BusinessCalendarDescriptor_Holiday* other) { + inline void Swap(GetDiagnosticRequest* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -8110,7 +7718,7 @@ class FigureDescriptor_BusinessCalendarDescriptor_Holiday final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FigureDescriptor_BusinessCalendarDescriptor_Holiday* other) { + void UnsafeArenaSwap(GetDiagnosticRequest* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -8118,13 +7726,13 @@ class FigureDescriptor_BusinessCalendarDescriptor_Holiday final : // implements Message ---------------------------------------------- - FigureDescriptor_BusinessCalendarDescriptor_Holiday* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + GetDiagnosticRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FigureDescriptor_BusinessCalendarDescriptor_Holiday& from); + void CopyFrom(const GetDiagnosticRequest& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const FigureDescriptor_BusinessCalendarDescriptor_Holiday& from); + void MergeFrom(const GetDiagnosticRequest& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -8141,15 +7749,15 @@ class FigureDescriptor_BusinessCalendarDescriptor_Holiday final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(FigureDescriptor_BusinessCalendarDescriptor_Holiday* other); + void InternalSwap(GetDiagnosticRequest* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday"; + return "io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest"; } protected: - explicit FigureDescriptor_BusinessCalendarDescriptor_Holiday(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit GetDiagnosticRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -8163,77 +7771,98 @@ class FigureDescriptor_BusinessCalendarDescriptor_Holiday final : // accessors ------------------------------------------------------- enum : int { - kBusinessPeriodsFieldNumber = 2, - kDateFieldNumber = 1, + kIdentifierFieldNumber = 2, + kPreviousResultIdFieldNumber = 3, + kTextDocumentFieldNumber = 1, }; - // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod business_periods = 2; - int business_periods_size() const; + // optional string identifier = 2; + bool has_identifier() const; private: - int _internal_business_periods_size() const; + bool _internal_has_identifier() const; public: - void clear_business_periods(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* mutable_business_periods(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod >* - mutable_business_periods(); + void clear_identifier(); + const std::string& identifier() const; + template + void set_identifier(ArgT0&& arg0, ArgT... args); + std::string* mutable_identifier(); + PROTOBUF_NODISCARD std::string* release_identifier(); + void set_allocated_identifier(std::string* identifier); private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& _internal_business_periods(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* _internal_add_business_periods(); + const std::string& _internal_identifier() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_identifier(const std::string& value); + std::string* _internal_mutable_identifier(); public: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& business_periods(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* add_business_periods(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod >& - business_periods() const; - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.LocalDate date = 1; - bool has_date() const; + // optional string previous_result_id = 3; + bool has_previous_result_id() const; private: - bool _internal_has_date() const; + bool _internal_has_previous_result_id() const; public: - void clear_date(); - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate& date() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate* release_date(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate* mutable_date(); - void set_allocated_date(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate* date); + void clear_previous_result_id(); + const std::string& previous_result_id() const; + template + void set_previous_result_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_previous_result_id(); + PROTOBUF_NODISCARD std::string* release_previous_result_id(); + void set_allocated_previous_result_id(std::string* previous_result_id); private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate& _internal_date() const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate* _internal_mutable_date(); + const std::string& _internal_previous_result_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_previous_result_id(const std::string& value); + std::string* _internal_mutable_previous_result_id(); public: - void unsafe_arena_set_allocated_date( - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate* date); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate* unsafe_arena_release_date(); - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday) + // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 1; + bool has_text_document() const; + private: + bool _internal_has_text_document() const; + public: + void clear_text_document(); + const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& text_document() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* release_text_document(); + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* mutable_text_document(); + void set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document); + private: + const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& _internal_text_document() const; + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* _internal_mutable_text_document(); + public: + void unsafe_arena_set_allocated_text_document( + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document); + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* unsafe_arena_release_text_document(); + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod > business_periods_; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate* date_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr identifier_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr previous_result_id_; + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class FigureDescriptor_BusinessCalendarDescriptor_LocalDate final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.LocalDate) */ { +class GetPullDiagnosticResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse) */ { public: - inline FigureDescriptor_BusinessCalendarDescriptor_LocalDate() : FigureDescriptor_BusinessCalendarDescriptor_LocalDate(nullptr) {} - ~FigureDescriptor_BusinessCalendarDescriptor_LocalDate() override; - explicit PROTOBUF_CONSTEXPR FigureDescriptor_BusinessCalendarDescriptor_LocalDate(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline GetPullDiagnosticResponse() : GetPullDiagnosticResponse(nullptr) {} + ~GetPullDiagnosticResponse() override; + explicit PROTOBUF_CONSTEXPR GetPullDiagnosticResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - FigureDescriptor_BusinessCalendarDescriptor_LocalDate(const FigureDescriptor_BusinessCalendarDescriptor_LocalDate& from); - FigureDescriptor_BusinessCalendarDescriptor_LocalDate(FigureDescriptor_BusinessCalendarDescriptor_LocalDate&& from) noexcept - : FigureDescriptor_BusinessCalendarDescriptor_LocalDate() { + GetPullDiagnosticResponse(const GetPullDiagnosticResponse& from); + GetPullDiagnosticResponse(GetPullDiagnosticResponse&& from) noexcept + : GetPullDiagnosticResponse() { *this = ::std::move(from); } - inline FigureDescriptor_BusinessCalendarDescriptor_LocalDate& operator=(const FigureDescriptor_BusinessCalendarDescriptor_LocalDate& from) { + inline GetPullDiagnosticResponse& operator=(const GetPullDiagnosticResponse& from) { CopyFrom(from); return *this; } - inline FigureDescriptor_BusinessCalendarDescriptor_LocalDate& operator=(FigureDescriptor_BusinessCalendarDescriptor_LocalDate&& from) noexcept { + inline GetPullDiagnosticResponse& operator=(GetPullDiagnosticResponse&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -8256,20 +7885,20 @@ class FigureDescriptor_BusinessCalendarDescriptor_LocalDate final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FigureDescriptor_BusinessCalendarDescriptor_LocalDate& default_instance() { + static const GetPullDiagnosticResponse& default_instance() { return *internal_default_instance(); } - static inline const FigureDescriptor_BusinessCalendarDescriptor_LocalDate* internal_default_instance() { - return reinterpret_cast( - &_FigureDescriptor_BusinessCalendarDescriptor_LocalDate_default_instance_); + static inline const GetPullDiagnosticResponse* internal_default_instance() { + return reinterpret_cast( + &_GetPullDiagnosticResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 39; + 41; - friend void swap(FigureDescriptor_BusinessCalendarDescriptor_LocalDate& a, FigureDescriptor_BusinessCalendarDescriptor_LocalDate& b) { + friend void swap(GetPullDiagnosticResponse& a, GetPullDiagnosticResponse& b) { a.Swap(&b); } - inline void Swap(FigureDescriptor_BusinessCalendarDescriptor_LocalDate* other) { + inline void Swap(GetPullDiagnosticResponse* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -8282,7 +7911,7 @@ class FigureDescriptor_BusinessCalendarDescriptor_LocalDate final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FigureDescriptor_BusinessCalendarDescriptor_LocalDate* other) { + void UnsafeArenaSwap(GetPullDiagnosticResponse* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -8290,13 +7919,13 @@ class FigureDescriptor_BusinessCalendarDescriptor_LocalDate final : // implements Message ---------------------------------------------- - FigureDescriptor_BusinessCalendarDescriptor_LocalDate* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + GetPullDiagnosticResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FigureDescriptor_BusinessCalendarDescriptor_LocalDate& from); + void CopyFrom(const GetPullDiagnosticResponse& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const FigureDescriptor_BusinessCalendarDescriptor_LocalDate& from); + void MergeFrom(const GetPullDiagnosticResponse& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -8313,15 +7942,15 @@ class FigureDescriptor_BusinessCalendarDescriptor_LocalDate final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(FigureDescriptor_BusinessCalendarDescriptor_LocalDate* other); + void InternalSwap(GetPullDiagnosticResponse* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.LocalDate"; + return "io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse"; } protected: - explicit FigureDescriptor_BusinessCalendarDescriptor_LocalDate(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit GetPullDiagnosticResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -8335,70 +7964,94 @@ class FigureDescriptor_BusinessCalendarDescriptor_LocalDate final : // accessors ------------------------------------------------------- enum : int { - kYearFieldNumber = 1, - kMonthFieldNumber = 2, - kDayFieldNumber = 3, + kItemsFieldNumber = 3, + kKindFieldNumber = 1, + kResultIdFieldNumber = 2, }; - // int32 year = 1; - void clear_year(); - int32_t year() const; - void set_year(int32_t value); + // repeated .io.deephaven.proto.backplane.script.grpc.Diagnostic items = 3; + int items_size() const; private: - int32_t _internal_year() const; - void _internal_set_year(int32_t value); + int _internal_items_size() const; + public: + void clear_items(); + ::io::deephaven::proto::backplane::script::grpc::Diagnostic* mutable_items(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::Diagnostic >* + mutable_items(); + private: + const ::io::deephaven::proto::backplane::script::grpc::Diagnostic& _internal_items(int index) const; + ::io::deephaven::proto::backplane::script::grpc::Diagnostic* _internal_add_items(); public: + const ::io::deephaven::proto::backplane::script::grpc::Diagnostic& items(int index) const; + ::io::deephaven::proto::backplane::script::grpc::Diagnostic* add_items(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::Diagnostic >& + items() const; - // int32 month = 2; - void clear_month(); - int32_t month() const; - void set_month(int32_t value); + // string kind = 1; + void clear_kind(); + const std::string& kind() const; + template + void set_kind(ArgT0&& arg0, ArgT... args); + std::string* mutable_kind(); + PROTOBUF_NODISCARD std::string* release_kind(); + void set_allocated_kind(std::string* kind); private: - int32_t _internal_month() const; - void _internal_set_month(int32_t value); + const std::string& _internal_kind() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_kind(const std::string& value); + std::string* _internal_mutable_kind(); public: - // int32 day = 3; - void clear_day(); - int32_t day() const; - void set_day(int32_t value); + // optional string result_id = 2; + bool has_result_id() const; private: - int32_t _internal_day() const; - void _internal_set_day(int32_t value); + bool _internal_has_result_id() const; + public: + void clear_result_id(); + const std::string& result_id() const; + template + void set_result_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_result_id(); + PROTOBUF_NODISCARD std::string* release_result_id(); + void set_allocated_result_id(std::string* result_id); + private: + const std::string& _internal_result_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_result_id(const std::string& value); + std::string* _internal_mutable_result_id(); public: - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.LocalDate) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - int32_t year_; - int32_t month_; - int32_t day_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::Diagnostic > items_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr kind_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr result_id_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class FigureDescriptor_BusinessCalendarDescriptor final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor) */ { +class GetPublishDiagnosticResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse) */ { public: - inline FigureDescriptor_BusinessCalendarDescriptor() : FigureDescriptor_BusinessCalendarDescriptor(nullptr) {} - ~FigureDescriptor_BusinessCalendarDescriptor() override; - explicit PROTOBUF_CONSTEXPR FigureDescriptor_BusinessCalendarDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline GetPublishDiagnosticResponse() : GetPublishDiagnosticResponse(nullptr) {} + ~GetPublishDiagnosticResponse() override; + explicit PROTOBUF_CONSTEXPR GetPublishDiagnosticResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - FigureDescriptor_BusinessCalendarDescriptor(const FigureDescriptor_BusinessCalendarDescriptor& from); - FigureDescriptor_BusinessCalendarDescriptor(FigureDescriptor_BusinessCalendarDescriptor&& from) noexcept - : FigureDescriptor_BusinessCalendarDescriptor() { + GetPublishDiagnosticResponse(const GetPublishDiagnosticResponse& from); + GetPublishDiagnosticResponse(GetPublishDiagnosticResponse&& from) noexcept + : GetPublishDiagnosticResponse() { *this = ::std::move(from); } - inline FigureDescriptor_BusinessCalendarDescriptor& operator=(const FigureDescriptor_BusinessCalendarDescriptor& from) { + inline GetPublishDiagnosticResponse& operator=(const GetPublishDiagnosticResponse& from) { CopyFrom(from); return *this; } - inline FigureDescriptor_BusinessCalendarDescriptor& operator=(FigureDescriptor_BusinessCalendarDescriptor&& from) noexcept { + inline GetPublishDiagnosticResponse& operator=(GetPublishDiagnosticResponse&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -8421,20 +8074,20 @@ class FigureDescriptor_BusinessCalendarDescriptor final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FigureDescriptor_BusinessCalendarDescriptor& default_instance() { + static const GetPublishDiagnosticResponse& default_instance() { return *internal_default_instance(); } - static inline const FigureDescriptor_BusinessCalendarDescriptor* internal_default_instance() { - return reinterpret_cast( - &_FigureDescriptor_BusinessCalendarDescriptor_default_instance_); + static inline const GetPublishDiagnosticResponse* internal_default_instance() { + return reinterpret_cast( + &_GetPublishDiagnosticResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 40; + 42; - friend void swap(FigureDescriptor_BusinessCalendarDescriptor& a, FigureDescriptor_BusinessCalendarDescriptor& b) { + friend void swap(GetPublishDiagnosticResponse& a, GetPublishDiagnosticResponse& b) { a.Swap(&b); } - inline void Swap(FigureDescriptor_BusinessCalendarDescriptor* other) { + inline void Swap(GetPublishDiagnosticResponse* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -8447,7 +8100,7 @@ class FigureDescriptor_BusinessCalendarDescriptor final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FigureDescriptor_BusinessCalendarDescriptor* other) { + void UnsafeArenaSwap(GetPublishDiagnosticResponse* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -8455,13 +8108,13 @@ class FigureDescriptor_BusinessCalendarDescriptor final : // implements Message ---------------------------------------------- - FigureDescriptor_BusinessCalendarDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + GetPublishDiagnosticResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FigureDescriptor_BusinessCalendarDescriptor& from); + void CopyFrom(const GetPublishDiagnosticResponse& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const FigureDescriptor_BusinessCalendarDescriptor& from); + void MergeFrom(const GetPublishDiagnosticResponse& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -8478,15 +8131,15 @@ class FigureDescriptor_BusinessCalendarDescriptor final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(FigureDescriptor_BusinessCalendarDescriptor* other); + void InternalSwap(GetPublishDiagnosticResponse* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor"; + return "io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse"; } protected: - explicit FigureDescriptor_BusinessCalendarDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit GetPublishDiagnosticResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -8497,176 +8150,92 @@ class FigureDescriptor_BusinessCalendarDescriptor final : // nested types ---------------------------------------------------- - typedef FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod BusinessPeriod; - typedef FigureDescriptor_BusinessCalendarDescriptor_Holiday Holiday; - typedef FigureDescriptor_BusinessCalendarDescriptor_LocalDate LocalDate; - - typedef FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek DayOfWeek; - static constexpr DayOfWeek SUNDAY = - FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_SUNDAY; - static constexpr DayOfWeek MONDAY = - FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_MONDAY; - static constexpr DayOfWeek TUESDAY = - FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_TUESDAY; - static constexpr DayOfWeek WEDNESDAY = - FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_WEDNESDAY; - static constexpr DayOfWeek THURSDAY = - FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_THURSDAY; - static constexpr DayOfWeek FRIDAY = - FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_FRIDAY; - static constexpr DayOfWeek SATURDAY = - FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_SATURDAY; - static inline bool DayOfWeek_IsValid(int value) { - return FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_IsValid(value); - } - static constexpr DayOfWeek DayOfWeek_MIN = - FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_DayOfWeek_MIN; - static constexpr DayOfWeek DayOfWeek_MAX = - FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_DayOfWeek_MAX; - static constexpr int DayOfWeek_ARRAYSIZE = - FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_DayOfWeek_ARRAYSIZE; - static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* - DayOfWeek_descriptor() { - return FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_descriptor(); - } - template - static inline const std::string& DayOfWeek_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function DayOfWeek_Name."); - return FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_Name(enum_t_value); - } - static inline bool DayOfWeek_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, - DayOfWeek* value) { - return FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_Parse(name, value); - } - // accessors ------------------------------------------------------- enum : int { - kBusinessDaysFieldNumber = 3, - kBusinessPeriodsFieldNumber = 4, - kHolidaysFieldNumber = 5, - kNameFieldNumber = 1, - kTimeZoneFieldNumber = 2, + kDiagnosticsFieldNumber = 3, + kUriFieldNumber = 1, + kVersionFieldNumber = 2, }; - // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.DayOfWeek business_days = 3; - int business_days_size() const; + // repeated .io.deephaven.proto.backplane.script.grpc.Diagnostic diagnostics = 3; + int diagnostics_size() const; private: - int _internal_business_days_size() const; + int _internal_diagnostics_size() const; public: - void clear_business_days(); + void clear_diagnostics(); + ::io::deephaven::proto::backplane::script::grpc::Diagnostic* mutable_diagnostics(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::Diagnostic >* + mutable_diagnostics(); private: - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek _internal_business_days(int index) const; - void _internal_add_business_days(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek value); - ::PROTOBUF_NAMESPACE_ID::RepeatedField* _internal_mutable_business_days(); + const ::io::deephaven::proto::backplane::script::grpc::Diagnostic& _internal_diagnostics(int index) const; + ::io::deephaven::proto::backplane::script::grpc::Diagnostic* _internal_add_diagnostics(); public: - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek business_days(int index) const; - void set_business_days(int index, ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek value); - void add_business_days(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek value); - const ::PROTOBUF_NAMESPACE_ID::RepeatedField& business_days() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedField* mutable_business_days(); + const ::io::deephaven::proto::backplane::script::grpc::Diagnostic& diagnostics(int index) const; + ::io::deephaven::proto::backplane::script::grpc::Diagnostic* add_diagnostics(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::Diagnostic >& + diagnostics() const; - // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod business_periods = 4; - int business_periods_size() const; - private: - int _internal_business_periods_size() const; - public: - void clear_business_periods(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* mutable_business_periods(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod >* - mutable_business_periods(); + // string uri = 1; + void clear_uri(); + const std::string& uri() const; + template + void set_uri(ArgT0&& arg0, ArgT... args); + std::string* mutable_uri(); + PROTOBUF_NODISCARD std::string* release_uri(); + void set_allocated_uri(std::string* uri); private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& _internal_business_periods(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* _internal_add_business_periods(); + const std::string& _internal_uri() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_uri(const std::string& value); + std::string* _internal_mutable_uri(); public: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& business_periods(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* add_business_periods(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod >& - business_periods() const; - // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday holidays = 5; - int holidays_size() const; + // optional int32 version = 2; + bool has_version() const; private: - int _internal_holidays_size() const; + bool _internal_has_version() const; public: - void clear_holidays(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday* mutable_holidays(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday >* - mutable_holidays(); + void clear_version(); + int32_t version() const; + void set_version(int32_t value); private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday& _internal_holidays(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday* _internal_add_holidays(); - public: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday& holidays(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday* add_holidays(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday >& - holidays() const; - - // string name = 1; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); - private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); - public: - - // string time_zone = 2; - void clear_time_zone(); - const std::string& time_zone() const; - template - void set_time_zone(ArgT0&& arg0, ArgT... args); - std::string* mutable_time_zone(); - PROTOBUF_NODISCARD std::string* release_time_zone(); - void set_allocated_time_zone(std::string* time_zone); - private: - const std::string& _internal_time_zone() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_time_zone(const std::string& value); - std::string* _internal_mutable_time_zone(); + int32_t _internal_version() const; + void _internal_set_version(int32_t value); public: - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedField business_days_; - mutable std::atomic _business_days_cached_byte_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod > business_periods_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday > holidays_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr time_zone_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::Diagnostic > diagnostics_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr uri_; + int32_t version_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class FigureDescriptor_MultiSeriesSourceDescriptor final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesSourceDescriptor) */ { +class Diagnostic_CodeDescription final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription) */ { public: - inline FigureDescriptor_MultiSeriesSourceDescriptor() : FigureDescriptor_MultiSeriesSourceDescriptor(nullptr) {} - ~FigureDescriptor_MultiSeriesSourceDescriptor() override; - explicit PROTOBUF_CONSTEXPR FigureDescriptor_MultiSeriesSourceDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline Diagnostic_CodeDescription() : Diagnostic_CodeDescription(nullptr) {} + ~Diagnostic_CodeDescription() override; + explicit PROTOBUF_CONSTEXPR Diagnostic_CodeDescription(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - FigureDescriptor_MultiSeriesSourceDescriptor(const FigureDescriptor_MultiSeriesSourceDescriptor& from); - FigureDescriptor_MultiSeriesSourceDescriptor(FigureDescriptor_MultiSeriesSourceDescriptor&& from) noexcept - : FigureDescriptor_MultiSeriesSourceDescriptor() { + Diagnostic_CodeDescription(const Diagnostic_CodeDescription& from); + Diagnostic_CodeDescription(Diagnostic_CodeDescription&& from) noexcept + : Diagnostic_CodeDescription() { *this = ::std::move(from); } - inline FigureDescriptor_MultiSeriesSourceDescriptor& operator=(const FigureDescriptor_MultiSeriesSourceDescriptor& from) { + inline Diagnostic_CodeDescription& operator=(const Diagnostic_CodeDescription& from) { CopyFrom(from); return *this; } - inline FigureDescriptor_MultiSeriesSourceDescriptor& operator=(FigureDescriptor_MultiSeriesSourceDescriptor&& from) noexcept { + inline Diagnostic_CodeDescription& operator=(Diagnostic_CodeDescription&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -8689,20 +8258,20 @@ class FigureDescriptor_MultiSeriesSourceDescriptor final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FigureDescriptor_MultiSeriesSourceDescriptor& default_instance() { + static const Diagnostic_CodeDescription& default_instance() { return *internal_default_instance(); } - static inline const FigureDescriptor_MultiSeriesSourceDescriptor* internal_default_instance() { - return reinterpret_cast( - &_FigureDescriptor_MultiSeriesSourceDescriptor_default_instance_); + static inline const Diagnostic_CodeDescription* internal_default_instance() { + return reinterpret_cast( + &_Diagnostic_CodeDescription_default_instance_); } static constexpr int kIndexInFileMessages = - 41; + 43; - friend void swap(FigureDescriptor_MultiSeriesSourceDescriptor& a, FigureDescriptor_MultiSeriesSourceDescriptor& b) { + friend void swap(Diagnostic_CodeDescription& a, Diagnostic_CodeDescription& b) { a.Swap(&b); } - inline void Swap(FigureDescriptor_MultiSeriesSourceDescriptor* other) { + inline void Swap(Diagnostic_CodeDescription* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -8715,7 +8284,7 @@ class FigureDescriptor_MultiSeriesSourceDescriptor final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FigureDescriptor_MultiSeriesSourceDescriptor* other) { + void UnsafeArenaSwap(Diagnostic_CodeDescription* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -8723,13 +8292,13 @@ class FigureDescriptor_MultiSeriesSourceDescriptor final : // implements Message ---------------------------------------------- - FigureDescriptor_MultiSeriesSourceDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + Diagnostic_CodeDescription* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FigureDescriptor_MultiSeriesSourceDescriptor& from); + void CopyFrom(const Diagnostic_CodeDescription& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const FigureDescriptor_MultiSeriesSourceDescriptor& from); + void MergeFrom(const Diagnostic_CodeDescription& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -8746,15 +8315,15 @@ class FigureDescriptor_MultiSeriesSourceDescriptor final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(FigureDescriptor_MultiSeriesSourceDescriptor* other); + void InternalSwap(Diagnostic_CodeDescription* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesSourceDescriptor"; + return "io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription"; } protected: - explicit FigureDescriptor_MultiSeriesSourceDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit Diagnostic_CodeDescription(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -8768,91 +8337,53 @@ class FigureDescriptor_MultiSeriesSourceDescriptor final : // accessors ------------------------------------------------------- enum : int { - kAxisIdFieldNumber = 1, - kColumnNameFieldNumber = 4, - kTypeFieldNumber = 2, - kPartitionedTableIdFieldNumber = 3, + kHrefFieldNumber = 1, }; - // string axis_id = 1; - void clear_axis_id(); - const std::string& axis_id() const; - template - void set_axis_id(ArgT0&& arg0, ArgT... args); - std::string* mutable_axis_id(); - PROTOBUF_NODISCARD std::string* release_axis_id(); - void set_allocated_axis_id(std::string* axis_id); - private: - const std::string& _internal_axis_id() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_axis_id(const std::string& value); - std::string* _internal_mutable_axis_id(); - public: - - // string column_name = 4; - void clear_column_name(); - const std::string& column_name() const; + // string href = 1; + void clear_href(); + const std::string& href() const; template - void set_column_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_column_name(); - PROTOBUF_NODISCARD std::string* release_column_name(); - void set_allocated_column_name(std::string* column_name); - private: - const std::string& _internal_column_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_column_name(const std::string& value); - std::string* _internal_mutable_column_name(); - public: - - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceType type = 2; - void clear_type(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceType type() const; - void set_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceType value); - private: - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceType _internal_type() const; - void _internal_set_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceType value); - public: - - // int32 partitioned_table_id = 3; - void clear_partitioned_table_id(); - int32_t partitioned_table_id() const; - void set_partitioned_table_id(int32_t value); + void set_href(ArgT0&& arg0, ArgT... args); + std::string* mutable_href(); + PROTOBUF_NODISCARD std::string* release_href(); + void set_allocated_href(std::string* href); private: - int32_t _internal_partitioned_table_id() const; - void _internal_set_partitioned_table_id(int32_t value); + const std::string& _internal_href() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_href(const std::string& value); + std::string* _internal_mutable_href(); public: - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesSourceDescriptor) + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr axis_id_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr column_name_; - int type_; - int32_t partitioned_table_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr href_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class FigureDescriptor_SourceDescriptor final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptor) */ { +class Diagnostic final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.Diagnostic) */ { public: - inline FigureDescriptor_SourceDescriptor() : FigureDescriptor_SourceDescriptor(nullptr) {} - ~FigureDescriptor_SourceDescriptor() override; - explicit PROTOBUF_CONSTEXPR FigureDescriptor_SourceDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline Diagnostic() : Diagnostic(nullptr) {} + ~Diagnostic() override; + explicit PROTOBUF_CONSTEXPR Diagnostic(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - FigureDescriptor_SourceDescriptor(const FigureDescriptor_SourceDescriptor& from); - FigureDescriptor_SourceDescriptor(FigureDescriptor_SourceDescriptor&& from) noexcept - : FigureDescriptor_SourceDescriptor() { + Diagnostic(const Diagnostic& from); + Diagnostic(Diagnostic&& from) noexcept + : Diagnostic() { *this = ::std::move(from); } - inline FigureDescriptor_SourceDescriptor& operator=(const FigureDescriptor_SourceDescriptor& from) { + inline Diagnostic& operator=(const Diagnostic& from) { CopyFrom(from); return *this; } - inline FigureDescriptor_SourceDescriptor& operator=(FigureDescriptor_SourceDescriptor&& from) noexcept { + inline Diagnostic& operator=(Diagnostic&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -8875,20 +8406,20 @@ class FigureDescriptor_SourceDescriptor final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FigureDescriptor_SourceDescriptor& default_instance() { + static const Diagnostic& default_instance() { return *internal_default_instance(); } - static inline const FigureDescriptor_SourceDescriptor* internal_default_instance() { - return reinterpret_cast( - &_FigureDescriptor_SourceDescriptor_default_instance_); + static inline const Diagnostic* internal_default_instance() { + return reinterpret_cast( + &_Diagnostic_default_instance_); } static constexpr int kIndexInFileMessages = - 42; + 44; - friend void swap(FigureDescriptor_SourceDescriptor& a, FigureDescriptor_SourceDescriptor& b) { + friend void swap(Diagnostic& a, Diagnostic& b) { a.Swap(&b); } - inline void Swap(FigureDescriptor_SourceDescriptor* other) { + inline void Swap(Diagnostic* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -8901,7 +8432,7 @@ class FigureDescriptor_SourceDescriptor final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FigureDescriptor_SourceDescriptor* other) { + void UnsafeArenaSwap(Diagnostic* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -8909,13 +8440,13 @@ class FigureDescriptor_SourceDescriptor final : // implements Message ---------------------------------------------- - FigureDescriptor_SourceDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + Diagnostic* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FigureDescriptor_SourceDescriptor& from); + void CopyFrom(const Diagnostic& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const FigureDescriptor_SourceDescriptor& from); + void MergeFrom(const Diagnostic& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -8932,15 +8463,15 @@ class FigureDescriptor_SourceDescriptor final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(FigureDescriptor_SourceDescriptor* other); + void InternalSwap(Diagnostic* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptor"; + return "io.deephaven.proto.backplane.script.grpc.Diagnostic"; } protected: - explicit FigureDescriptor_SourceDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit Diagnostic(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -8951,141 +8482,258 @@ class FigureDescriptor_SourceDescriptor final : // nested types ---------------------------------------------------- + typedef Diagnostic_CodeDescription CodeDescription; + + typedef Diagnostic_DiagnosticSeverity DiagnosticSeverity; + static constexpr DiagnosticSeverity NOT_SET_SEVERITY = + Diagnostic_DiagnosticSeverity_NOT_SET_SEVERITY; + static constexpr DiagnosticSeverity ERROR = + Diagnostic_DiagnosticSeverity_ERROR; + static constexpr DiagnosticSeverity WARNING = + Diagnostic_DiagnosticSeverity_WARNING; + static constexpr DiagnosticSeverity INFORMATION = + Diagnostic_DiagnosticSeverity_INFORMATION; + static constexpr DiagnosticSeverity HINT = + Diagnostic_DiagnosticSeverity_HINT; + static inline bool DiagnosticSeverity_IsValid(int value) { + return Diagnostic_DiagnosticSeverity_IsValid(value); + } + static constexpr DiagnosticSeverity DiagnosticSeverity_MIN = + Diagnostic_DiagnosticSeverity_DiagnosticSeverity_MIN; + static constexpr DiagnosticSeverity DiagnosticSeverity_MAX = + Diagnostic_DiagnosticSeverity_DiagnosticSeverity_MAX; + static constexpr int DiagnosticSeverity_ARRAYSIZE = + Diagnostic_DiagnosticSeverity_DiagnosticSeverity_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + DiagnosticSeverity_descriptor() { + return Diagnostic_DiagnosticSeverity_descriptor(); + } + template + static inline const std::string& DiagnosticSeverity_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DiagnosticSeverity_Name."); + return Diagnostic_DiagnosticSeverity_Name(enum_t_value); + } + static inline bool DiagnosticSeverity_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + DiagnosticSeverity* value) { + return Diagnostic_DiagnosticSeverity_Parse(name, value); + } + + typedef Diagnostic_DiagnosticTag DiagnosticTag; + static constexpr DiagnosticTag NOT_SET_TAG = + Diagnostic_DiagnosticTag_NOT_SET_TAG; + static constexpr DiagnosticTag UNNECESSARY = + Diagnostic_DiagnosticTag_UNNECESSARY; + static constexpr DiagnosticTag DEPRECATED = + Diagnostic_DiagnosticTag_DEPRECATED; + static inline bool DiagnosticTag_IsValid(int value) { + return Diagnostic_DiagnosticTag_IsValid(value); + } + static constexpr DiagnosticTag DiagnosticTag_MIN = + Diagnostic_DiagnosticTag_DiagnosticTag_MIN; + static constexpr DiagnosticTag DiagnosticTag_MAX = + Diagnostic_DiagnosticTag_DiagnosticTag_MAX; + static constexpr int DiagnosticTag_ARRAYSIZE = + Diagnostic_DiagnosticTag_DiagnosticTag_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + DiagnosticTag_descriptor() { + return Diagnostic_DiagnosticTag_descriptor(); + } + template + static inline const std::string& DiagnosticTag_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DiagnosticTag_Name."); + return Diagnostic_DiagnosticTag_Name(enum_t_value); + } + static inline bool DiagnosticTag_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + DiagnosticTag* value) { + return Diagnostic_DiagnosticTag_Parse(name, value); + } + // accessors ------------------------------------------------------- enum : int { - kAxisIdFieldNumber = 1, - kColumnNameFieldNumber = 5, - kColumnTypeFieldNumber = 6, - kOneClickFieldNumber = 7, - kTypeFieldNumber = 2, - kTableIdFieldNumber = 3, - kPartitionedTableIdFieldNumber = 4, + kTagsFieldNumber = 7, + kCodeFieldNumber = 3, + kSourceFieldNumber = 5, + kMessageFieldNumber = 6, + kDataFieldNumber = 9, + kRangeFieldNumber = 1, + kCodeDescriptionFieldNumber = 4, + kSeverityFieldNumber = 2, }; - // string axis_id = 1; - void clear_axis_id(); - const std::string& axis_id() const; - template - void set_axis_id(ArgT0&& arg0, ArgT... args); - std::string* mutable_axis_id(); - PROTOBUF_NODISCARD std::string* release_axis_id(); - void set_allocated_axis_id(std::string* axis_id); + // repeated .io.deephaven.proto.backplane.script.grpc.Diagnostic.DiagnosticTag tags = 7; + int tags_size() const; private: - const std::string& _internal_axis_id() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_axis_id(const std::string& value); - std::string* _internal_mutable_axis_id(); + int _internal_tags_size() const; public: - - // string column_name = 5; - void clear_column_name(); - const std::string& column_name() const; - template - void set_column_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_column_name(); - PROTOBUF_NODISCARD std::string* release_column_name(); - void set_allocated_column_name(std::string* column_name); + void clear_tags(); private: - const std::string& _internal_column_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_column_name(const std::string& value); - std::string* _internal_mutable_column_name(); + ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticTag _internal_tags(int index) const; + void _internal_add_tags(::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticTag value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField* _internal_mutable_tags(); public: + ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticTag tags(int index) const; + void set_tags(int index, ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticTag value); + void add_tags(::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticTag value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField& tags() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField* mutable_tags(); - // string column_type = 6; - void clear_column_type(); - const std::string& column_type() const; + // optional string code = 3; + bool has_code() const; + private: + bool _internal_has_code() const; + public: + void clear_code(); + const std::string& code() const; template - void set_column_type(ArgT0&& arg0, ArgT... args); - std::string* mutable_column_type(); - PROTOBUF_NODISCARD std::string* release_column_type(); - void set_allocated_column_type(std::string* column_type); + void set_code(ArgT0&& arg0, ArgT... args); + std::string* mutable_code(); + PROTOBUF_NODISCARD std::string* release_code(); + void set_allocated_code(std::string* code); private: - const std::string& _internal_column_type() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_column_type(const std::string& value); - std::string* _internal_mutable_column_type(); + const std::string& _internal_code() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_code(const std::string& value); + std::string* _internal_mutable_code(); public: - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.OneClickDescriptor one_click = 7; - bool has_one_click() const; + // optional string source = 5; + bool has_source() const; private: - bool _internal_has_one_click() const; + bool _internal_has_source() const; public: - void clear_one_click(); - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor& one_click() const; - PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor* release_one_click(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor* mutable_one_click(); - void set_allocated_one_click(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor* one_click); + void clear_source(); + const std::string& source() const; + template + void set_source(ArgT0&& arg0, ArgT... args); + std::string* mutable_source(); + PROTOBUF_NODISCARD std::string* release_source(); + void set_allocated_source(std::string* source); private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor& _internal_one_click() const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor* _internal_mutable_one_click(); + const std::string& _internal_source() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_source(const std::string& value); + std::string* _internal_mutable_source(); public: - void unsafe_arena_set_allocated_one_click( - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor* one_click); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor* unsafe_arena_release_one_click(); - // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceType type = 2; - void clear_type(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceType type() const; - void set_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceType value); + // string message = 6; + void clear_message(); + const std::string& message() const; + template + void set_message(ArgT0&& arg0, ArgT... args); + std::string* mutable_message(); + PROTOBUF_NODISCARD std::string* release_message(); + void set_allocated_message(std::string* message); private: - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceType _internal_type() const; - void _internal_set_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceType value); + const std::string& _internal_message() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_message(const std::string& value); + std::string* _internal_mutable_message(); public: - // int32 table_id = 3; - void clear_table_id(); - int32_t table_id() const; - void set_table_id(int32_t value); + // optional bytes data = 9; + bool has_data() const; private: - int32_t _internal_table_id() const; - void _internal_set_table_id(int32_t value); + bool _internal_has_data() const; public: - - // int32 partitioned_table_id = 4; - void clear_partitioned_table_id(); - int32_t partitioned_table_id() const; - void set_partitioned_table_id(int32_t value); + void clear_data(); + const std::string& data() const; + template + void set_data(ArgT0&& arg0, ArgT... args); + std::string* mutable_data(); + PROTOBUF_NODISCARD std::string* release_data(); + void set_allocated_data(std::string* data); private: - int32_t _internal_partitioned_table_id() const; - void _internal_set_partitioned_table_id(int32_t value); + const std::string& _internal_data() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_data(const std::string& value); + std::string* _internal_mutable_data(); public: - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptor) + // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; + bool has_range() const; + private: + bool _internal_has_range() const; + public: + void clear_range(); + const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& range() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::DocumentRange* release_range(); + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* mutable_range(); + void set_allocated_range(::io::deephaven::proto::backplane::script::grpc::DocumentRange* range); + private: + const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& _internal_range() const; + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* _internal_mutable_range(); + public: + void unsafe_arena_set_allocated_range( + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range); + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* unsafe_arena_release_range(); + + // optional .io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription code_description = 4; + bool has_code_description() const; + private: + bool _internal_has_code_description() const; + public: + void clear_code_description(); + const ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription& code_description() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* release_code_description(); + ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* mutable_code_description(); + void set_allocated_code_description(::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* code_description); + private: + const ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription& _internal_code_description() const; + ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* _internal_mutable_code_description(); + public: + void unsafe_arena_set_allocated_code_description( + ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* code_description); + ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* unsafe_arena_release_code_description(); + + // .io.deephaven.proto.backplane.script.grpc.Diagnostic.DiagnosticSeverity severity = 2; + void clear_severity(); + ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticSeverity severity() const; + void set_severity(::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticSeverity value); + private: + ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticSeverity _internal_severity() const; + void _internal_set_severity(::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticSeverity value); + public: + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.Diagnostic) private: class _Internal; template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr axis_id_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr column_name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr column_type_; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor* one_click_; - int type_; - int32_t table_id_; - int32_t partitioned_table_id_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField tags_; + mutable std::atomic _tags_cached_byte_size_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr code_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr source_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr message_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr data_; + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range_; + ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* code_description_; + int severity_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class FigureDescriptor_OneClickDescriptor final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.OneClickDescriptor) */ { +class FigureDescriptor_ChartDescriptor final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor) */ { public: - inline FigureDescriptor_OneClickDescriptor() : FigureDescriptor_OneClickDescriptor(nullptr) {} - ~FigureDescriptor_OneClickDescriptor() override; - explicit PROTOBUF_CONSTEXPR FigureDescriptor_OneClickDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline FigureDescriptor_ChartDescriptor() : FigureDescriptor_ChartDescriptor(nullptr) {} + ~FigureDescriptor_ChartDescriptor() override; + explicit PROTOBUF_CONSTEXPR FigureDescriptor_ChartDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - FigureDescriptor_OneClickDescriptor(const FigureDescriptor_OneClickDescriptor& from); - FigureDescriptor_OneClickDescriptor(FigureDescriptor_OneClickDescriptor&& from) noexcept - : FigureDescriptor_OneClickDescriptor() { + FigureDescriptor_ChartDescriptor(const FigureDescriptor_ChartDescriptor& from); + FigureDescriptor_ChartDescriptor(FigureDescriptor_ChartDescriptor&& from) noexcept + : FigureDescriptor_ChartDescriptor() { *this = ::std::move(from); } - inline FigureDescriptor_OneClickDescriptor& operator=(const FigureDescriptor_OneClickDescriptor& from) { + inline FigureDescriptor_ChartDescriptor& operator=(const FigureDescriptor_ChartDescriptor& from) { CopyFrom(from); return *this; } - inline FigureDescriptor_OneClickDescriptor& operator=(FigureDescriptor_OneClickDescriptor&& from) noexcept { + inline FigureDescriptor_ChartDescriptor& operator=(FigureDescriptor_ChartDescriptor&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -9108,20 +8756,20 @@ class FigureDescriptor_OneClickDescriptor final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FigureDescriptor_OneClickDescriptor& default_instance() { + static const FigureDescriptor_ChartDescriptor& default_instance() { return *internal_default_instance(); } - static inline const FigureDescriptor_OneClickDescriptor* internal_default_instance() { - return reinterpret_cast( - &_FigureDescriptor_OneClickDescriptor_default_instance_); + static inline const FigureDescriptor_ChartDescriptor* internal_default_instance() { + return reinterpret_cast( + &_FigureDescriptor_ChartDescriptor_default_instance_); } static constexpr int kIndexInFileMessages = - 43; + 45; - friend void swap(FigureDescriptor_OneClickDescriptor& a, FigureDescriptor_OneClickDescriptor& b) { + friend void swap(FigureDescriptor_ChartDescriptor& a, FigureDescriptor_ChartDescriptor& b) { a.Swap(&b); } - inline void Swap(FigureDescriptor_OneClickDescriptor* other) { + inline void Swap(FigureDescriptor_ChartDescriptor* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -9134,7 +8782,7 @@ class FigureDescriptor_OneClickDescriptor final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FigureDescriptor_OneClickDescriptor* other) { + void UnsafeArenaSwap(FigureDescriptor_ChartDescriptor* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -9142,13 +8790,13 @@ class FigureDescriptor_OneClickDescriptor final : // implements Message ---------------------------------------------- - FigureDescriptor_OneClickDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + FigureDescriptor_ChartDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FigureDescriptor_OneClickDescriptor& from); + void CopyFrom(const FigureDescriptor_ChartDescriptor& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const FigureDescriptor_OneClickDescriptor& from); + void MergeFrom(const FigureDescriptor_ChartDescriptor& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -9165,15 +8813,15 @@ class FigureDescriptor_OneClickDescriptor final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(FigureDescriptor_OneClickDescriptor* other); + void InternalSwap(FigureDescriptor_ChartDescriptor* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.OneClickDescriptor"; + return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor"; } protected: - explicit FigureDescriptor_OneClickDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit FigureDescriptor_ChartDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -9184,103 +8832,302 @@ class FigureDescriptor_OneClickDescriptor final : // nested types ---------------------------------------------------- + typedef FigureDescriptor_ChartDescriptor_ChartType ChartType; + static constexpr ChartType XY = + FigureDescriptor_ChartDescriptor_ChartType_XY; + static constexpr ChartType PIE = + FigureDescriptor_ChartDescriptor_ChartType_PIE; + PROTOBUF_DEPRECATED_ENUM static constexpr ChartType OHLC = + FigureDescriptor_ChartDescriptor_ChartType_OHLC; + static constexpr ChartType CATEGORY = + FigureDescriptor_ChartDescriptor_ChartType_CATEGORY; + static constexpr ChartType XYZ = + FigureDescriptor_ChartDescriptor_ChartType_XYZ; + static constexpr ChartType CATEGORY_3D = + FigureDescriptor_ChartDescriptor_ChartType_CATEGORY_3D; + static constexpr ChartType TREEMAP = + FigureDescriptor_ChartDescriptor_ChartType_TREEMAP; + static inline bool ChartType_IsValid(int value) { + return FigureDescriptor_ChartDescriptor_ChartType_IsValid(value); + } + static constexpr ChartType ChartType_MIN = + FigureDescriptor_ChartDescriptor_ChartType_ChartType_MIN; + static constexpr ChartType ChartType_MAX = + FigureDescriptor_ChartDescriptor_ChartType_ChartType_MAX; + static constexpr int ChartType_ARRAYSIZE = + FigureDescriptor_ChartDescriptor_ChartType_ChartType_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + ChartType_descriptor() { + return FigureDescriptor_ChartDescriptor_ChartType_descriptor(); + } + template + static inline const std::string& ChartType_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function ChartType_Name."); + return FigureDescriptor_ChartDescriptor_ChartType_Name(enum_t_value); + } + static inline bool ChartType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + ChartType* value) { + return FigureDescriptor_ChartDescriptor_ChartType_Parse(name, value); + } + // accessors ------------------------------------------------------- enum : int { - kColumnsFieldNumber = 1, - kColumnTypesFieldNumber = 2, - kRequireAllFiltersToDisplayFieldNumber = 3, + kSeriesFieldNumber = 3, + kMultiSeriesFieldNumber = 4, + kAxesFieldNumber = 5, + kTitleFieldNumber = 7, + kTitleFontFieldNumber = 8, + kTitleColorFieldNumber = 9, + kLegendFontFieldNumber = 11, + kLegendColorFieldNumber = 12, + kColspanFieldNumber = 1, + kRowspanFieldNumber = 2, + kChartTypeFieldNumber = 6, + kShowLegendFieldNumber = 10, + kIs3DFieldNumber = 13, + kColumnFieldNumber = 14, + kRowFieldNumber = 15, }; - // repeated string columns = 1; - int columns_size() const; + // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor series = 3; + int series_size() const; private: - int _internal_columns_size() const; + int _internal_series_size() const; public: - void clear_columns(); - const std::string& columns(int index) const; - std::string* mutable_columns(int index); - void set_columns(int index, const std::string& value); - void set_columns(int index, std::string&& value); - void set_columns(int index, const char* value); - void set_columns(int index, const char* value, size_t size); - std::string* add_columns(); - void add_columns(const std::string& value); - void add_columns(std::string&& value); - void add_columns(const char* value); - void add_columns(const char* value, size_t size); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& columns() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_columns(); + void clear_series(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor* mutable_series(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor >* + mutable_series(); private: - const std::string& _internal_columns(int index) const; - std::string* _internal_add_columns(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor& _internal_series(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor* _internal_add_series(); public: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor& series(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor* add_series(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor >& + series() const; - // repeated string column_types = 2; - int column_types_size() const; + // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor multi_series = 4; + int multi_series_size() const; private: - int _internal_column_types_size() const; + int _internal_multi_series_size() const; public: - void clear_column_types(); - const std::string& column_types(int index) const; - std::string* mutable_column_types(int index); - void set_column_types(int index, const std::string& value); - void set_column_types(int index, std::string&& value); - void set_column_types(int index, const char* value); - void set_column_types(int index, const char* value, size_t size); - std::string* add_column_types(); - void add_column_types(const std::string& value); - void add_column_types(std::string&& value); - void add_column_types(const char* value); - void add_column_types(const char* value, size_t size); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& column_types() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_column_types(); + void clear_multi_series(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor* mutable_multi_series(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor >* + mutable_multi_series(); private: - const std::string& _internal_column_types(int index) const; - std::string* _internal_add_column_types(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor& _internal_multi_series(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor* _internal_add_multi_series(); public: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor& multi_series(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor* add_multi_series(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor >& + multi_series() const; - // bool require_all_filters_to_display = 3; - void clear_require_all_filters_to_display(); - bool require_all_filters_to_display() const; - void set_require_all_filters_to_display(bool value); + // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor axes = 5; + int axes_size() const; private: - bool _internal_require_all_filters_to_display() const; - void _internal_set_require_all_filters_to_display(bool value); + int _internal_axes_size() const; + public: + void clear_axes(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor* mutable_axes(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor >* + mutable_axes(); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor& _internal_axes(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor* _internal_add_axes(); public: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor& axes(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor* add_axes(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor >& + axes() const; - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.OneClickDescriptor) - private: - class _Internal; + // optional string title = 7; + bool has_title() const; + private: + bool _internal_has_title() const; + public: + void clear_title(); + const std::string& title() const; + template + void set_title(ArgT0&& arg0, ArgT... args); + std::string* mutable_title(); + PROTOBUF_NODISCARD std::string* release_title(); + void set_allocated_title(std::string* title); + private: + const std::string& _internal_title() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_title(const std::string& value); + std::string* _internal_mutable_title(); + public: - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField columns_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField column_types_; - bool require_all_filters_to_display_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + // string title_font = 8; + void clear_title_font(); + const std::string& title_font() const; + template + void set_title_font(ArgT0&& arg0, ArgT... args); + std::string* mutable_title_font(); + PROTOBUF_NODISCARD std::string* release_title_font(); + void set_allocated_title_font(std::string* title_font); + private: + const std::string& _internal_title_font() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_title_font(const std::string& value); + std::string* _internal_mutable_title_font(); + public: + + // string title_color = 9; + void clear_title_color(); + const std::string& title_color() const; + template + void set_title_color(ArgT0&& arg0, ArgT... args); + std::string* mutable_title_color(); + PROTOBUF_NODISCARD std::string* release_title_color(); + void set_allocated_title_color(std::string* title_color); + private: + const std::string& _internal_title_color() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_title_color(const std::string& value); + std::string* _internal_mutable_title_color(); + public: + + // string legend_font = 11; + void clear_legend_font(); + const std::string& legend_font() const; + template + void set_legend_font(ArgT0&& arg0, ArgT... args); + std::string* mutable_legend_font(); + PROTOBUF_NODISCARD std::string* release_legend_font(); + void set_allocated_legend_font(std::string* legend_font); + private: + const std::string& _internal_legend_font() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_legend_font(const std::string& value); + std::string* _internal_mutable_legend_font(); + public: + + // string legend_color = 12; + void clear_legend_color(); + const std::string& legend_color() const; + template + void set_legend_color(ArgT0&& arg0, ArgT... args); + std::string* mutable_legend_color(); + PROTOBUF_NODISCARD std::string* release_legend_color(); + void set_allocated_legend_color(std::string* legend_color); + private: + const std::string& _internal_legend_color() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_legend_color(const std::string& value); + std::string* _internal_mutable_legend_color(); + public: + + // int32 colspan = 1; + void clear_colspan(); + int32_t colspan() const; + void set_colspan(int32_t value); + private: + int32_t _internal_colspan() const; + void _internal_set_colspan(int32_t value); + public: + + // int32 rowspan = 2; + void clear_rowspan(); + int32_t rowspan() const; + void set_rowspan(int32_t value); + private: + int32_t _internal_rowspan() const; + void _internal_set_rowspan(int32_t value); + public: + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor.ChartType chart_type = 6; + void clear_chart_type(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor_ChartType chart_type() const; + void set_chart_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor_ChartType value); + private: + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor_ChartType _internal_chart_type() const; + void _internal_set_chart_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor_ChartType value); + public: + + // bool show_legend = 10; + void clear_show_legend(); + bool show_legend() const; + void set_show_legend(bool value); + private: + bool _internal_show_legend() const; + void _internal_set_show_legend(bool value); + public: + + // bool is3d = 13; + void clear_is3d(); + bool is3d() const; + void set_is3d(bool value); + private: + bool _internal_is3d() const; + void _internal_set_is3d(bool value); + public: + + // int32 column = 14; + void clear_column(); + int32_t column() const; + void set_column(int32_t value); + private: + int32_t _internal_column() const; + void _internal_set_column(int32_t value); + public: + + // int32 row = 15; + void clear_row(); + int32_t row() const; + void set_row(int32_t value); + private: + int32_t _internal_row() const; + void _internal_set_row(int32_t value); + public: + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesDescriptor > series_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesDescriptor > multi_series_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor > axes_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_font_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_color_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr legend_font_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr legend_color_; + int32_t colspan_; + int32_t rowspan_; + int chart_type_; + bool show_legend_; + bool is3d_; + int32_t column_; + int32_t row_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; // ------------------------------------------------------------------- -class FigureDescriptor final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor) */ { +class FigureDescriptor_SeriesDescriptor final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor) */ { public: - inline FigureDescriptor() : FigureDescriptor(nullptr) {} - ~FigureDescriptor() override; - explicit PROTOBUF_CONSTEXPR FigureDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline FigureDescriptor_SeriesDescriptor() : FigureDescriptor_SeriesDescriptor(nullptr) {} + ~FigureDescriptor_SeriesDescriptor() override; + explicit PROTOBUF_CONSTEXPR FigureDescriptor_SeriesDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - FigureDescriptor(const FigureDescriptor& from); - FigureDescriptor(FigureDescriptor&& from) noexcept - : FigureDescriptor() { + FigureDescriptor_SeriesDescriptor(const FigureDescriptor_SeriesDescriptor& from); + FigureDescriptor_SeriesDescriptor(FigureDescriptor_SeriesDescriptor&& from) noexcept + : FigureDescriptor_SeriesDescriptor() { *this = ::std::move(from); } - inline FigureDescriptor& operator=(const FigureDescriptor& from) { + inline FigureDescriptor_SeriesDescriptor& operator=(const FigureDescriptor_SeriesDescriptor& from) { CopyFrom(from); return *this; } - inline FigureDescriptor& operator=(FigureDescriptor&& from) noexcept { + inline FigureDescriptor_SeriesDescriptor& operator=(FigureDescriptor_SeriesDescriptor&& from) noexcept { if (this == &from) return *this; if (GetOwningArena() == from.GetOwningArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -9303,20 +9150,20 @@ class FigureDescriptor final : static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FigureDescriptor& default_instance() { + static const FigureDescriptor_SeriesDescriptor& default_instance() { return *internal_default_instance(); } - static inline const FigureDescriptor* internal_default_instance() { - return reinterpret_cast( - &_FigureDescriptor_default_instance_); + static inline const FigureDescriptor_SeriesDescriptor* internal_default_instance() { + return reinterpret_cast( + &_FigureDescriptor_SeriesDescriptor_default_instance_); } static constexpr int kIndexInFileMessages = - 44; + 46; - friend void swap(FigureDescriptor& a, FigureDescriptor& b) { + friend void swap(FigureDescriptor_SeriesDescriptor& a, FigureDescriptor_SeriesDescriptor& b) { a.Swap(&b); } - inline void Swap(FigureDescriptor* other) { + inline void Swap(FigureDescriptor_SeriesDescriptor* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetOwningArena() != nullptr && @@ -9329,7 +9176,7 @@ class FigureDescriptor final : ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FigureDescriptor* other) { + void UnsafeArenaSwap(FigureDescriptor_SeriesDescriptor* other) { if (other == this) return; GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); InternalSwap(other); @@ -9337,13 +9184,13 @@ class FigureDescriptor final : // implements Message ---------------------------------------------- - FigureDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + FigureDescriptor_SeriesDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FigureDescriptor& from); + void CopyFrom(const FigureDescriptor_SeriesDescriptor& from); using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const FigureDescriptor& from); + void MergeFrom(const FigureDescriptor_SeriesDescriptor& from); private: static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); public: @@ -9360,15 +9207,15 @@ class FigureDescriptor final : void SharedCtor(); void SharedDtor(); void SetCachedSize(int size) const final; - void InternalSwap(FigureDescriptor* other); + void InternalSwap(FigureDescriptor_SeriesDescriptor* other); private: friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor"; + return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor"; } protected: - explicit FigureDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + explicit FigureDescriptor_SeriesDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned = false); public: @@ -9379,260 +9226,224 @@ class FigureDescriptor final : // nested types ---------------------------------------------------- - typedef FigureDescriptor_ChartDescriptor ChartDescriptor; - typedef FigureDescriptor_SeriesDescriptor SeriesDescriptor; - typedef FigureDescriptor_MultiSeriesDescriptor MultiSeriesDescriptor; - typedef FigureDescriptor_StringMapWithDefault StringMapWithDefault; - typedef FigureDescriptor_DoubleMapWithDefault DoubleMapWithDefault; - typedef FigureDescriptor_BoolMapWithDefault BoolMapWithDefault; - typedef FigureDescriptor_AxisDescriptor AxisDescriptor; - typedef FigureDescriptor_BusinessCalendarDescriptor BusinessCalendarDescriptor; - typedef FigureDescriptor_MultiSeriesSourceDescriptor MultiSeriesSourceDescriptor; - typedef FigureDescriptor_SourceDescriptor SourceDescriptor; - typedef FigureDescriptor_OneClickDescriptor OneClickDescriptor; - - typedef FigureDescriptor_SeriesPlotStyle SeriesPlotStyle; - static constexpr SeriesPlotStyle BAR = - FigureDescriptor_SeriesPlotStyle_BAR; - static constexpr SeriesPlotStyle STACKED_BAR = - FigureDescriptor_SeriesPlotStyle_STACKED_BAR; - static constexpr SeriesPlotStyle LINE = - FigureDescriptor_SeriesPlotStyle_LINE; - static constexpr SeriesPlotStyle AREA = - FigureDescriptor_SeriesPlotStyle_AREA; - static constexpr SeriesPlotStyle STACKED_AREA = - FigureDescriptor_SeriesPlotStyle_STACKED_AREA; - static constexpr SeriesPlotStyle PIE = - FigureDescriptor_SeriesPlotStyle_PIE; - static constexpr SeriesPlotStyle HISTOGRAM = - FigureDescriptor_SeriesPlotStyle_HISTOGRAM; - static constexpr SeriesPlotStyle OHLC = - FigureDescriptor_SeriesPlotStyle_OHLC; - static constexpr SeriesPlotStyle SCATTER = - FigureDescriptor_SeriesPlotStyle_SCATTER; - static constexpr SeriesPlotStyle STEP = - FigureDescriptor_SeriesPlotStyle_STEP; - static constexpr SeriesPlotStyle ERROR_BAR = - FigureDescriptor_SeriesPlotStyle_ERROR_BAR; - static constexpr SeriesPlotStyle TREEMAP = - FigureDescriptor_SeriesPlotStyle_TREEMAP; - static inline bool SeriesPlotStyle_IsValid(int value) { - return FigureDescriptor_SeriesPlotStyle_IsValid(value); - } - static constexpr SeriesPlotStyle SeriesPlotStyle_MIN = - FigureDescriptor_SeriesPlotStyle_SeriesPlotStyle_MIN; - static constexpr SeriesPlotStyle SeriesPlotStyle_MAX = - FigureDescriptor_SeriesPlotStyle_SeriesPlotStyle_MAX; - static constexpr int SeriesPlotStyle_ARRAYSIZE = - FigureDescriptor_SeriesPlotStyle_SeriesPlotStyle_ARRAYSIZE; - static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* - SeriesPlotStyle_descriptor() { - return FigureDescriptor_SeriesPlotStyle_descriptor(); - } - template - static inline const std::string& SeriesPlotStyle_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function SeriesPlotStyle_Name."); - return FigureDescriptor_SeriesPlotStyle_Name(enum_t_value); - } - static inline bool SeriesPlotStyle_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, - SeriesPlotStyle* value) { - return FigureDescriptor_SeriesPlotStyle_Parse(name, value); - } - - typedef FigureDescriptor_SourceType SourceType; - static constexpr SourceType X = - FigureDescriptor_SourceType_X; - static constexpr SourceType Y = - FigureDescriptor_SourceType_Y; - static constexpr SourceType Z = - FigureDescriptor_SourceType_Z; - static constexpr SourceType X_LOW = - FigureDescriptor_SourceType_X_LOW; - static constexpr SourceType X_HIGH = - FigureDescriptor_SourceType_X_HIGH; - static constexpr SourceType Y_LOW = - FigureDescriptor_SourceType_Y_LOW; - static constexpr SourceType Y_HIGH = - FigureDescriptor_SourceType_Y_HIGH; - static constexpr SourceType TIME = - FigureDescriptor_SourceType_TIME; - static constexpr SourceType OPEN = - FigureDescriptor_SourceType_OPEN; - static constexpr SourceType HIGH = - FigureDescriptor_SourceType_HIGH; - static constexpr SourceType LOW = - FigureDescriptor_SourceType_LOW; - static constexpr SourceType CLOSE = - FigureDescriptor_SourceType_CLOSE; - static constexpr SourceType SHAPE = - FigureDescriptor_SourceType_SHAPE; - static constexpr SourceType SIZE = - FigureDescriptor_SourceType_SIZE; - static constexpr SourceType LABEL = - FigureDescriptor_SourceType_LABEL; - static constexpr SourceType COLOR = - FigureDescriptor_SourceType_COLOR; - static constexpr SourceType PARENT = - FigureDescriptor_SourceType_PARENT; - static constexpr SourceType HOVER_TEXT = - FigureDescriptor_SourceType_HOVER_TEXT; - static constexpr SourceType TEXT = - FigureDescriptor_SourceType_TEXT; - static inline bool SourceType_IsValid(int value) { - return FigureDescriptor_SourceType_IsValid(value); - } - static constexpr SourceType SourceType_MIN = - FigureDescriptor_SourceType_SourceType_MIN; - static constexpr SourceType SourceType_MAX = - FigureDescriptor_SourceType_SourceType_MAX; - static constexpr int SourceType_ARRAYSIZE = - FigureDescriptor_SourceType_SourceType_ARRAYSIZE; - static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* - SourceType_descriptor() { - return FigureDescriptor_SourceType_descriptor(); - } - template - static inline const std::string& SourceType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function SourceType_Name."); - return FigureDescriptor_SourceType_Name(enum_t_value); - } - static inline bool SourceType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, - SourceType* value) { - return FigureDescriptor_SourceType_Parse(name, value); - } - - // accessors ------------------------------------------------------- + // accessors ------------------------------------------------------- enum : int { - kChartsFieldNumber = 10, - kErrorsFieldNumber = 13, - kTitleFieldNumber = 1, - kTitleFontFieldNumber = 2, - kTitleColorFieldNumber = 3, - kUpdateIntervalFieldNumber = 7, - kColsFieldNumber = 8, - kRowsFieldNumber = 9, + kDataSourcesFieldNumber = 15, + kNameFieldNumber = 2, + kLineColorFieldNumber = 6, + kPointLabelFormatFieldNumber = 8, + kXToolTipPatternFieldNumber = 9, + kYToolTipPatternFieldNumber = 10, + kShapeLabelFieldNumber = 11, + kShapeColorFieldNumber = 13, + kShapeFieldNumber = 14, + kPlotStyleFieldNumber = 1, + kLinesVisibleFieldNumber = 3, + kShapesVisibleFieldNumber = 4, + kGradientVisibleFieldNumber = 5, + kShapeSizeFieldNumber = 12, }; - // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor charts = 10; - int charts_size() const; + // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptor data_sources = 15; + int data_sources_size() const; private: - int _internal_charts_size() const; + int _internal_data_sources_size() const; public: - void clear_charts(); - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor* mutable_charts(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor >* - mutable_charts(); + void clear_data_sources(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor* mutable_data_sources(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor >* + mutable_data_sources(); private: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor& _internal_charts(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor* _internal_add_charts(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor& _internal_data_sources(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor* _internal_add_data_sources(); public: - const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor& charts(int index) const; - ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor* add_charts(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor >& - charts() const; + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor& data_sources(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor* add_data_sources(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor >& + data_sources() const; - // repeated string errors = 13; - int errors_size() const; + // string name = 2; + void clear_name(); + const std::string& name() const; + template + void set_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* name); private: - int _internal_errors_size() const; + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); public: - void clear_errors(); - const std::string& errors(int index) const; - std::string* mutable_errors(int index); - void set_errors(int index, const std::string& value); - void set_errors(int index, std::string&& value); - void set_errors(int index, const char* value); - void set_errors(int index, const char* value, size_t size); - std::string* add_errors(); - void add_errors(const std::string& value); - void add_errors(std::string&& value); - void add_errors(const char* value); - void add_errors(const char* value, size_t size); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& errors() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_errors(); + + // string line_color = 6; + void clear_line_color(); + const std::string& line_color() const; + template + void set_line_color(ArgT0&& arg0, ArgT... args); + std::string* mutable_line_color(); + PROTOBUF_NODISCARD std::string* release_line_color(); + void set_allocated_line_color(std::string* line_color); private: - const std::string& _internal_errors(int index) const; - std::string* _internal_add_errors(); + const std::string& _internal_line_color() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_line_color(const std::string& value); + std::string* _internal_mutable_line_color(); public: - // optional string title = 1; - bool has_title() const; + // optional string point_label_format = 8; + bool has_point_label_format() const; private: - bool _internal_has_title() const; + bool _internal_has_point_label_format() const; public: - void clear_title(); - const std::string& title() const; + void clear_point_label_format(); + const std::string& point_label_format() const; template - void set_title(ArgT0&& arg0, ArgT... args); - std::string* mutable_title(); - PROTOBUF_NODISCARD std::string* release_title(); - void set_allocated_title(std::string* title); + void set_point_label_format(ArgT0&& arg0, ArgT... args); + std::string* mutable_point_label_format(); + PROTOBUF_NODISCARD std::string* release_point_label_format(); + void set_allocated_point_label_format(std::string* point_label_format); private: - const std::string& _internal_title() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_title(const std::string& value); - std::string* _internal_mutable_title(); + const std::string& _internal_point_label_format() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_point_label_format(const std::string& value); + std::string* _internal_mutable_point_label_format(); public: - // string title_font = 2; - void clear_title_font(); - const std::string& title_font() const; - template - void set_title_font(ArgT0&& arg0, ArgT... args); - std::string* mutable_title_font(); - PROTOBUF_NODISCARD std::string* release_title_font(); - void set_allocated_title_font(std::string* title_font); + // optional string x_tool_tip_pattern = 9; + bool has_x_tool_tip_pattern() const; private: - const std::string& _internal_title_font() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_title_font(const std::string& value); - std::string* _internal_mutable_title_font(); + bool _internal_has_x_tool_tip_pattern() const; public: - - // string title_color = 3; - void clear_title_color(); - const std::string& title_color() const; + void clear_x_tool_tip_pattern(); + const std::string& x_tool_tip_pattern() const; template - void set_title_color(ArgT0&& arg0, ArgT... args); - std::string* mutable_title_color(); - PROTOBUF_NODISCARD std::string* release_title_color(); - void set_allocated_title_color(std::string* title_color); + void set_x_tool_tip_pattern(ArgT0&& arg0, ArgT... args); + std::string* mutable_x_tool_tip_pattern(); + PROTOBUF_NODISCARD std::string* release_x_tool_tip_pattern(); + void set_allocated_x_tool_tip_pattern(std::string* x_tool_tip_pattern); private: - const std::string& _internal_title_color() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_title_color(const std::string& value); - std::string* _internal_mutable_title_color(); + const std::string& _internal_x_tool_tip_pattern() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_x_tool_tip_pattern(const std::string& value); + std::string* _internal_mutable_x_tool_tip_pattern(); public: - // int64 update_interval = 7 [jstype = JS_STRING]; - void clear_update_interval(); - int64_t update_interval() const; - void set_update_interval(int64_t value); + // optional string y_tool_tip_pattern = 10; + bool has_y_tool_tip_pattern() const; private: - int64_t _internal_update_interval() const; - void _internal_set_update_interval(int64_t value); + bool _internal_has_y_tool_tip_pattern() const; public: - - // int32 cols = 8; - void clear_cols(); - int32_t cols() const; - void set_cols(int32_t value); + void clear_y_tool_tip_pattern(); + const std::string& y_tool_tip_pattern() const; + template + void set_y_tool_tip_pattern(ArgT0&& arg0, ArgT... args); + std::string* mutable_y_tool_tip_pattern(); + PROTOBUF_NODISCARD std::string* release_y_tool_tip_pattern(); + void set_allocated_y_tool_tip_pattern(std::string* y_tool_tip_pattern); private: - int32_t _internal_cols() const; - void _internal_set_cols(int32_t value); + const std::string& _internal_y_tool_tip_pattern() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_y_tool_tip_pattern(const std::string& value); + std::string* _internal_mutable_y_tool_tip_pattern(); public: - // int32 rows = 9; - void clear_rows(); - int32_t rows() const; - void set_rows(int32_t value); + // string shape_label = 11; + void clear_shape_label(); + const std::string& shape_label() const; + template + void set_shape_label(ArgT0&& arg0, ArgT... args); + std::string* mutable_shape_label(); + PROTOBUF_NODISCARD std::string* release_shape_label(); + void set_allocated_shape_label(std::string* shape_label); private: - int32_t _internal_rows() const; - void _internal_set_rows(int32_t value); + const std::string& _internal_shape_label() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_shape_label(const std::string& value); + std::string* _internal_mutable_shape_label(); public: - // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor) + // string shape_color = 13; + void clear_shape_color(); + const std::string& shape_color() const; + template + void set_shape_color(ArgT0&& arg0, ArgT... args); + std::string* mutable_shape_color(); + PROTOBUF_NODISCARD std::string* release_shape_color(); + void set_allocated_shape_color(std::string* shape_color); + private: + const std::string& _internal_shape_color() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_shape_color(const std::string& value); + std::string* _internal_mutable_shape_color(); + public: + + // string shape = 14; + void clear_shape(); + const std::string& shape() const; + template + void set_shape(ArgT0&& arg0, ArgT... args); + std::string* mutable_shape(); + PROTOBUF_NODISCARD std::string* release_shape(); + void set_allocated_shape(std::string* shape); + private: + const std::string& _internal_shape() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_shape(const std::string& value); + std::string* _internal_mutable_shape(); + public: + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesPlotStyle plot_style = 1; + void clear_plot_style(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesPlotStyle plot_style() const; + void set_plot_style(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesPlotStyle value); + private: + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesPlotStyle _internal_plot_style() const; + void _internal_set_plot_style(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesPlotStyle value); + public: + + // optional bool lines_visible = 3; + bool has_lines_visible() const; + private: + bool _internal_has_lines_visible() const; + public: + void clear_lines_visible(); + bool lines_visible() const; + void set_lines_visible(bool value); + private: + bool _internal_lines_visible() const; + void _internal_set_lines_visible(bool value); + public: + + // optional bool shapes_visible = 4; + bool has_shapes_visible() const; + private: + bool _internal_has_shapes_visible() const; + public: + void clear_shapes_visible(); + bool shapes_visible() const; + void set_shapes_visible(bool value); + private: + bool _internal_shapes_visible() const; + void _internal_set_shapes_visible(bool value); + public: + + // bool gradient_visible = 5; + void clear_gradient_visible(); + bool gradient_visible() const; + void set_gradient_visible(bool value); + private: + bool _internal_gradient_visible() const; + void _internal_set_gradient_visible(bool value); + public: + + // optional double shape_size = 12; + bool has_shape_size() const; + private: + bool _internal_has_shape_size() const; + public: + void clear_shape_size(); + double shape_size() const; + void set_shape_size(double value); + private: + double _internal_shape_size() const; + void _internal_set_shape_size(double value); + public: + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor) private: class _Internal; @@ -9641,143 +9452,6367 @@ class FigureDescriptor final : typedef void DestructorSkippable_; ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor > charts_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField errors_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_font_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_color_; - int64_t update_interval_; - int32_t cols_; - int32_t rows_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceDescriptor > data_sources_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr line_color_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr point_label_format_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr x_tool_tip_pattern_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr y_tool_tip_pattern_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr shape_label_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr shape_color_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr shape_; + int plot_style_; + bool lines_visible_; + bool shapes_visible_; + bool gradient_visible_; + double shape_size_; friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; }; -// =================================================================== +// ------------------------------------------------------------------- +class FigureDescriptor_MultiSeriesDescriptor final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor) */ { + public: + inline FigureDescriptor_MultiSeriesDescriptor() : FigureDescriptor_MultiSeriesDescriptor(nullptr) {} + ~FigureDescriptor_MultiSeriesDescriptor() override; + explicit PROTOBUF_CONSTEXPR FigureDescriptor_MultiSeriesDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); -// =================================================================== + FigureDescriptor_MultiSeriesDescriptor(const FigureDescriptor_MultiSeriesDescriptor& from); + FigureDescriptor_MultiSeriesDescriptor(FigureDescriptor_MultiSeriesDescriptor&& from) noexcept + : FigureDescriptor_MultiSeriesDescriptor() { + *this = ::std::move(from); + } -#ifdef __GNUC__ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wstrict-aliasing" -#endif // __GNUC__ -// GetConsoleTypesRequest + inline FigureDescriptor_MultiSeriesDescriptor& operator=(const FigureDescriptor_MultiSeriesDescriptor& from) { + CopyFrom(from); + return *this; + } + inline FigureDescriptor_MultiSeriesDescriptor& operator=(FigureDescriptor_MultiSeriesDescriptor&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } -// ------------------------------------------------------------------- + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FigureDescriptor_MultiSeriesDescriptor& default_instance() { + return *internal_default_instance(); + } + static inline const FigureDescriptor_MultiSeriesDescriptor* internal_default_instance() { + return reinterpret_cast( + &_FigureDescriptor_MultiSeriesDescriptor_default_instance_); + } + static constexpr int kIndexInFileMessages = + 47; -// GetConsoleTypesResponse + friend void swap(FigureDescriptor_MultiSeriesDescriptor& a, FigureDescriptor_MultiSeriesDescriptor& b) { + a.Swap(&b); + } + inline void Swap(FigureDescriptor_MultiSeriesDescriptor* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FigureDescriptor_MultiSeriesDescriptor* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } -// repeated string console_types = 1; -inline int GetConsoleTypesResponse::_internal_console_types_size() const { - return console_types_.size(); -} -inline int GetConsoleTypesResponse::console_types_size() const { - return _internal_console_types_size(); -} -inline void GetConsoleTypesResponse::clear_console_types() { - console_types_.Clear(); -} -inline std::string* GetConsoleTypesResponse::add_console_types() { - std::string* _s = _internal_add_console_types(); - // @@protoc_insertion_point(field_add_mutable:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) - return _s; + // implements Message ---------------------------------------------- + + FigureDescriptor_MultiSeriesDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FigureDescriptor_MultiSeriesDescriptor& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const FigureDescriptor_MultiSeriesDescriptor& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FigureDescriptor_MultiSeriesDescriptor* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor"; + } + protected: + explicit FigureDescriptor_MultiSeriesDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kDataSourcesFieldNumber = 14, + kNameFieldNumber = 2, + kLineColorFieldNumber = 3, + kPointColorFieldNumber = 4, + kLinesVisibleFieldNumber = 5, + kPointsVisibleFieldNumber = 6, + kGradientVisibleFieldNumber = 7, + kPointLabelFormatFieldNumber = 8, + kXToolTipPatternFieldNumber = 9, + kYToolTipPatternFieldNumber = 10, + kPointLabelFieldNumber = 11, + kPointSizeFieldNumber = 12, + kPointShapeFieldNumber = 13, + kPlotStyleFieldNumber = 1, + }; + // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesSourceDescriptor data_sources = 14; + int data_sources_size() const; + private: + int _internal_data_sources_size() const; + public: + void clear_data_sources(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor* mutable_data_sources(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor >* + mutable_data_sources(); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor& _internal_data_sources(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor* _internal_add_data_sources(); + public: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor& data_sources(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor* add_data_sources(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor >& + data_sources() const; + + // string name = 2; + void clear_name(); + const std::string& name() const; + template + void set_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault line_color = 3; + bool has_line_color() const; + private: + bool _internal_has_line_color() const; + public: + void clear_line_color(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& line_color() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* release_line_color(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* mutable_line_color(); + void set_allocated_line_color(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* line_color); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& _internal_line_color() const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* _internal_mutable_line_color(); + public: + void unsafe_arena_set_allocated_line_color( + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* line_color); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* unsafe_arena_release_line_color(); + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault point_color = 4; + bool has_point_color() const; + private: + bool _internal_has_point_color() const; + public: + void clear_point_color(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& point_color() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* release_point_color(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* mutable_point_color(); + void set_allocated_point_color(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_color); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& _internal_point_color() const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* _internal_mutable_point_color(); + public: + void unsafe_arena_set_allocated_point_color( + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_color); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* unsafe_arena_release_point_color(); + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault lines_visible = 5; + bool has_lines_visible() const; + private: + bool _internal_has_lines_visible() const; + public: + void clear_lines_visible(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault& lines_visible() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* release_lines_visible(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* mutable_lines_visible(); + void set_allocated_lines_visible(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* lines_visible); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault& _internal_lines_visible() const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* _internal_mutable_lines_visible(); + public: + void unsafe_arena_set_allocated_lines_visible( + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* lines_visible); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* unsafe_arena_release_lines_visible(); + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault points_visible = 6; + bool has_points_visible() const; + private: + bool _internal_has_points_visible() const; + public: + void clear_points_visible(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault& points_visible() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* release_points_visible(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* mutable_points_visible(); + void set_allocated_points_visible(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* points_visible); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault& _internal_points_visible() const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* _internal_mutable_points_visible(); + public: + void unsafe_arena_set_allocated_points_visible( + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* points_visible); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* unsafe_arena_release_points_visible(); + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault gradient_visible = 7; + bool has_gradient_visible() const; + private: + bool _internal_has_gradient_visible() const; + public: + void clear_gradient_visible(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault& gradient_visible() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* release_gradient_visible(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* mutable_gradient_visible(); + void set_allocated_gradient_visible(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* gradient_visible); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault& _internal_gradient_visible() const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* _internal_mutable_gradient_visible(); + public: + void unsafe_arena_set_allocated_gradient_visible( + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* gradient_visible); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* unsafe_arena_release_gradient_visible(); + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault point_label_format = 8; + bool has_point_label_format() const; + private: + bool _internal_has_point_label_format() const; + public: + void clear_point_label_format(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& point_label_format() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* release_point_label_format(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* mutable_point_label_format(); + void set_allocated_point_label_format(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_label_format); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& _internal_point_label_format() const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* _internal_mutable_point_label_format(); + public: + void unsafe_arena_set_allocated_point_label_format( + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_label_format); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* unsafe_arena_release_point_label_format(); + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault x_tool_tip_pattern = 9; + bool has_x_tool_tip_pattern() const; + private: + bool _internal_has_x_tool_tip_pattern() const; + public: + void clear_x_tool_tip_pattern(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& x_tool_tip_pattern() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* release_x_tool_tip_pattern(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* mutable_x_tool_tip_pattern(); + void set_allocated_x_tool_tip_pattern(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* x_tool_tip_pattern); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& _internal_x_tool_tip_pattern() const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* _internal_mutable_x_tool_tip_pattern(); + public: + void unsafe_arena_set_allocated_x_tool_tip_pattern( + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* x_tool_tip_pattern); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* unsafe_arena_release_x_tool_tip_pattern(); + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault y_tool_tip_pattern = 10; + bool has_y_tool_tip_pattern() const; + private: + bool _internal_has_y_tool_tip_pattern() const; + public: + void clear_y_tool_tip_pattern(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& y_tool_tip_pattern() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* release_y_tool_tip_pattern(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* mutable_y_tool_tip_pattern(); + void set_allocated_y_tool_tip_pattern(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* y_tool_tip_pattern); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& _internal_y_tool_tip_pattern() const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* _internal_mutable_y_tool_tip_pattern(); + public: + void unsafe_arena_set_allocated_y_tool_tip_pattern( + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* y_tool_tip_pattern); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* unsafe_arena_release_y_tool_tip_pattern(); + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault point_label = 11; + bool has_point_label() const; + private: + bool _internal_has_point_label() const; + public: + void clear_point_label(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& point_label() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* release_point_label(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* mutable_point_label(); + void set_allocated_point_label(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_label); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& _internal_point_label() const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* _internal_mutable_point_label(); + public: + void unsafe_arena_set_allocated_point_label( + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_label); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* unsafe_arena_release_point_label(); + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.DoubleMapWithDefault point_size = 12; + bool has_point_size() const; + private: + bool _internal_has_point_size() const; + public: + void clear_point_size(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault& point_size() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault* release_point_size(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault* mutable_point_size(); + void set_allocated_point_size(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault* point_size); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault& _internal_point_size() const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault* _internal_mutable_point_size(); + public: + void unsafe_arena_set_allocated_point_size( + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault* point_size); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault* unsafe_arena_release_point_size(); + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault point_shape = 13; + bool has_point_shape() const; + private: + bool _internal_has_point_shape() const; + public: + void clear_point_shape(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& point_shape() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* release_point_shape(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* mutable_point_shape(); + void set_allocated_point_shape(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_shape); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault& _internal_point_shape() const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* _internal_mutable_point_shape(); + public: + void unsafe_arena_set_allocated_point_shape( + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_shape); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* unsafe_arena_release_point_shape(); + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesPlotStyle plot_style = 1; + void clear_plot_style(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesPlotStyle plot_style() const; + void set_plot_style(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesPlotStyle value); + private: + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesPlotStyle _internal_plot_style() const; + void _internal_set_plot_style(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SeriesPlotStyle value); + public: + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_MultiSeriesSourceDescriptor > data_sources_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* line_color_; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_color_; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* lines_visible_; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* points_visible_; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BoolMapWithDefault* gradient_visible_; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_label_format_; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* x_tool_tip_pattern_; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* y_tool_tip_pattern_; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_label_; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_DoubleMapWithDefault* point_size_; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_StringMapWithDefault* point_shape_; + int plot_style_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; +}; +// ------------------------------------------------------------------- + +class FigureDescriptor_StringMapWithDefault final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault) */ { + public: + inline FigureDescriptor_StringMapWithDefault() : FigureDescriptor_StringMapWithDefault(nullptr) {} + ~FigureDescriptor_StringMapWithDefault() override; + explicit PROTOBUF_CONSTEXPR FigureDescriptor_StringMapWithDefault(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FigureDescriptor_StringMapWithDefault(const FigureDescriptor_StringMapWithDefault& from); + FigureDescriptor_StringMapWithDefault(FigureDescriptor_StringMapWithDefault&& from) noexcept + : FigureDescriptor_StringMapWithDefault() { + *this = ::std::move(from); + } + + inline FigureDescriptor_StringMapWithDefault& operator=(const FigureDescriptor_StringMapWithDefault& from) { + CopyFrom(from); + return *this; + } + inline FigureDescriptor_StringMapWithDefault& operator=(FigureDescriptor_StringMapWithDefault&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FigureDescriptor_StringMapWithDefault& default_instance() { + return *internal_default_instance(); + } + static inline const FigureDescriptor_StringMapWithDefault* internal_default_instance() { + return reinterpret_cast( + &_FigureDescriptor_StringMapWithDefault_default_instance_); + } + static constexpr int kIndexInFileMessages = + 48; + + friend void swap(FigureDescriptor_StringMapWithDefault& a, FigureDescriptor_StringMapWithDefault& b) { + a.Swap(&b); + } + inline void Swap(FigureDescriptor_StringMapWithDefault* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FigureDescriptor_StringMapWithDefault* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FigureDescriptor_StringMapWithDefault* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FigureDescriptor_StringMapWithDefault& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const FigureDescriptor_StringMapWithDefault& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FigureDescriptor_StringMapWithDefault* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault"; + } + protected: + explicit FigureDescriptor_StringMapWithDefault(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kKeysFieldNumber = 2, + kValuesFieldNumber = 3, + kDefaultStringFieldNumber = 1, + }; + // repeated string keys = 2; + int keys_size() const; + private: + int _internal_keys_size() const; + public: + void clear_keys(); + const std::string& keys(int index) const; + std::string* mutable_keys(int index); + void set_keys(int index, const std::string& value); + void set_keys(int index, std::string&& value); + void set_keys(int index, const char* value); + void set_keys(int index, const char* value, size_t size); + std::string* add_keys(); + void add_keys(const std::string& value); + void add_keys(std::string&& value); + void add_keys(const char* value); + void add_keys(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& keys() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_keys(); + private: + const std::string& _internal_keys(int index) const; + std::string* _internal_add_keys(); + public: + + // repeated string values = 3; + int values_size() const; + private: + int _internal_values_size() const; + public: + void clear_values(); + const std::string& values(int index) const; + std::string* mutable_values(int index); + void set_values(int index, const std::string& value); + void set_values(int index, std::string&& value); + void set_values(int index, const char* value); + void set_values(int index, const char* value, size_t size); + std::string* add_values(); + void add_values(const std::string& value); + void add_values(std::string&& value); + void add_values(const char* value); + void add_values(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& values() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_values(); + private: + const std::string& _internal_values(int index) const; + std::string* _internal_add_values(); + public: + + // optional string default_string = 1; + bool has_default_string() const; + private: + bool _internal_has_default_string() const; + public: + void clear_default_string(); + const std::string& default_string() const; + template + void set_default_string(ArgT0&& arg0, ArgT... args); + std::string* mutable_default_string(); + PROTOBUF_NODISCARD std::string* release_default_string(); + void set_allocated_default_string(std::string* default_string); + private: + const std::string& _internal_default_string() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_default_string(const std::string& value); + std::string* _internal_mutable_default_string(); + public: + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField keys_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField values_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_string_; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; +}; +// ------------------------------------------------------------------- + +class FigureDescriptor_DoubleMapWithDefault final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.DoubleMapWithDefault) */ { + public: + inline FigureDescriptor_DoubleMapWithDefault() : FigureDescriptor_DoubleMapWithDefault(nullptr) {} + ~FigureDescriptor_DoubleMapWithDefault() override; + explicit PROTOBUF_CONSTEXPR FigureDescriptor_DoubleMapWithDefault(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FigureDescriptor_DoubleMapWithDefault(const FigureDescriptor_DoubleMapWithDefault& from); + FigureDescriptor_DoubleMapWithDefault(FigureDescriptor_DoubleMapWithDefault&& from) noexcept + : FigureDescriptor_DoubleMapWithDefault() { + *this = ::std::move(from); + } + + inline FigureDescriptor_DoubleMapWithDefault& operator=(const FigureDescriptor_DoubleMapWithDefault& from) { + CopyFrom(from); + return *this; + } + inline FigureDescriptor_DoubleMapWithDefault& operator=(FigureDescriptor_DoubleMapWithDefault&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FigureDescriptor_DoubleMapWithDefault& default_instance() { + return *internal_default_instance(); + } + static inline const FigureDescriptor_DoubleMapWithDefault* internal_default_instance() { + return reinterpret_cast( + &_FigureDescriptor_DoubleMapWithDefault_default_instance_); + } + static constexpr int kIndexInFileMessages = + 49; + + friend void swap(FigureDescriptor_DoubleMapWithDefault& a, FigureDescriptor_DoubleMapWithDefault& b) { + a.Swap(&b); + } + inline void Swap(FigureDescriptor_DoubleMapWithDefault* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FigureDescriptor_DoubleMapWithDefault* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FigureDescriptor_DoubleMapWithDefault* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FigureDescriptor_DoubleMapWithDefault& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const FigureDescriptor_DoubleMapWithDefault& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FigureDescriptor_DoubleMapWithDefault* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.DoubleMapWithDefault"; + } + protected: + explicit FigureDescriptor_DoubleMapWithDefault(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kKeysFieldNumber = 2, + kValuesFieldNumber = 3, + kDefaultDoubleFieldNumber = 1, + }; + // repeated string keys = 2; + int keys_size() const; + private: + int _internal_keys_size() const; + public: + void clear_keys(); + const std::string& keys(int index) const; + std::string* mutable_keys(int index); + void set_keys(int index, const std::string& value); + void set_keys(int index, std::string&& value); + void set_keys(int index, const char* value); + void set_keys(int index, const char* value, size_t size); + std::string* add_keys(); + void add_keys(const std::string& value); + void add_keys(std::string&& value); + void add_keys(const char* value); + void add_keys(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& keys() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_keys(); + private: + const std::string& _internal_keys(int index) const; + std::string* _internal_add_keys(); + public: + + // repeated double values = 3; + int values_size() const; + private: + int _internal_values_size() const; + public: + void clear_values(); + private: + double _internal_values(int index) const; + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >& + _internal_values() const; + void _internal_add_values(double value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >* + _internal_mutable_values(); + public: + double values(int index) const; + void set_values(int index, double value); + void add_values(double value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >& + values() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >* + mutable_values(); + + // optional double default_double = 1; + bool has_default_double() const; + private: + bool _internal_has_default_double() const; + public: + void clear_default_double(); + double default_double() const; + void set_default_double(double value); + private: + double _internal_default_double() const; + void _internal_set_default_double(double value); + public: + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.DoubleMapWithDefault) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField keys_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > values_; + double default_double_; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; +}; +// ------------------------------------------------------------------- + +class FigureDescriptor_BoolMapWithDefault final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault) */ { + public: + inline FigureDescriptor_BoolMapWithDefault() : FigureDescriptor_BoolMapWithDefault(nullptr) {} + ~FigureDescriptor_BoolMapWithDefault() override; + explicit PROTOBUF_CONSTEXPR FigureDescriptor_BoolMapWithDefault(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FigureDescriptor_BoolMapWithDefault(const FigureDescriptor_BoolMapWithDefault& from); + FigureDescriptor_BoolMapWithDefault(FigureDescriptor_BoolMapWithDefault&& from) noexcept + : FigureDescriptor_BoolMapWithDefault() { + *this = ::std::move(from); + } + + inline FigureDescriptor_BoolMapWithDefault& operator=(const FigureDescriptor_BoolMapWithDefault& from) { + CopyFrom(from); + return *this; + } + inline FigureDescriptor_BoolMapWithDefault& operator=(FigureDescriptor_BoolMapWithDefault&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FigureDescriptor_BoolMapWithDefault& default_instance() { + return *internal_default_instance(); + } + static inline const FigureDescriptor_BoolMapWithDefault* internal_default_instance() { + return reinterpret_cast( + &_FigureDescriptor_BoolMapWithDefault_default_instance_); + } + static constexpr int kIndexInFileMessages = + 50; + + friend void swap(FigureDescriptor_BoolMapWithDefault& a, FigureDescriptor_BoolMapWithDefault& b) { + a.Swap(&b); + } + inline void Swap(FigureDescriptor_BoolMapWithDefault* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FigureDescriptor_BoolMapWithDefault* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FigureDescriptor_BoolMapWithDefault* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FigureDescriptor_BoolMapWithDefault& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const FigureDescriptor_BoolMapWithDefault& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FigureDescriptor_BoolMapWithDefault* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault"; + } + protected: + explicit FigureDescriptor_BoolMapWithDefault(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kKeysFieldNumber = 2, + kValuesFieldNumber = 3, + kDefaultBoolFieldNumber = 1, + }; + // repeated string keys = 2; + int keys_size() const; + private: + int _internal_keys_size() const; + public: + void clear_keys(); + const std::string& keys(int index) const; + std::string* mutable_keys(int index); + void set_keys(int index, const std::string& value); + void set_keys(int index, std::string&& value); + void set_keys(int index, const char* value); + void set_keys(int index, const char* value, size_t size); + std::string* add_keys(); + void add_keys(const std::string& value); + void add_keys(std::string&& value); + void add_keys(const char* value); + void add_keys(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& keys() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_keys(); + private: + const std::string& _internal_keys(int index) const; + std::string* _internal_add_keys(); + public: + + // repeated bool values = 3; + int values_size() const; + private: + int _internal_values_size() const; + public: + void clear_values(); + private: + bool _internal_values(int index) const; + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< bool >& + _internal_values() const; + void _internal_add_values(bool value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField< bool >* + _internal_mutable_values(); + public: + bool values(int index) const; + void set_values(int index, bool value); + void add_values(bool value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< bool >& + values() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< bool >* + mutable_values(); + + // optional bool default_bool = 1; + bool has_default_bool() const; + private: + bool _internal_has_default_bool() const; + public: + void clear_default_bool(); + bool default_bool() const; + void set_default_bool(bool value); + private: + bool _internal_default_bool() const; + void _internal_set_default_bool(bool value); + public: + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField keys_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< bool > values_; + bool default_bool_; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; +}; +// ------------------------------------------------------------------- + +class FigureDescriptor_AxisDescriptor final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor) */ { + public: + inline FigureDescriptor_AxisDescriptor() : FigureDescriptor_AxisDescriptor(nullptr) {} + ~FigureDescriptor_AxisDescriptor() override; + explicit PROTOBUF_CONSTEXPR FigureDescriptor_AxisDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FigureDescriptor_AxisDescriptor(const FigureDescriptor_AxisDescriptor& from); + FigureDescriptor_AxisDescriptor(FigureDescriptor_AxisDescriptor&& from) noexcept + : FigureDescriptor_AxisDescriptor() { + *this = ::std::move(from); + } + + inline FigureDescriptor_AxisDescriptor& operator=(const FigureDescriptor_AxisDescriptor& from) { + CopyFrom(from); + return *this; + } + inline FigureDescriptor_AxisDescriptor& operator=(FigureDescriptor_AxisDescriptor&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FigureDescriptor_AxisDescriptor& default_instance() { + return *internal_default_instance(); + } + static inline const FigureDescriptor_AxisDescriptor* internal_default_instance() { + return reinterpret_cast( + &_FigureDescriptor_AxisDescriptor_default_instance_); + } + static constexpr int kIndexInFileMessages = + 51; + + friend void swap(FigureDescriptor_AxisDescriptor& a, FigureDescriptor_AxisDescriptor& b) { + a.Swap(&b); + } + inline void Swap(FigureDescriptor_AxisDescriptor* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FigureDescriptor_AxisDescriptor* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FigureDescriptor_AxisDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FigureDescriptor_AxisDescriptor& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const FigureDescriptor_AxisDescriptor& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FigureDescriptor_AxisDescriptor* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor"; + } + protected: + explicit FigureDescriptor_AxisDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef FigureDescriptor_AxisDescriptor_AxisFormatType AxisFormatType; + static constexpr AxisFormatType CATEGORY = + FigureDescriptor_AxisDescriptor_AxisFormatType_CATEGORY; + static constexpr AxisFormatType NUMBER = + FigureDescriptor_AxisDescriptor_AxisFormatType_NUMBER; + static inline bool AxisFormatType_IsValid(int value) { + return FigureDescriptor_AxisDescriptor_AxisFormatType_IsValid(value); + } + static constexpr AxisFormatType AxisFormatType_MIN = + FigureDescriptor_AxisDescriptor_AxisFormatType_AxisFormatType_MIN; + static constexpr AxisFormatType AxisFormatType_MAX = + FigureDescriptor_AxisDescriptor_AxisFormatType_AxisFormatType_MAX; + static constexpr int AxisFormatType_ARRAYSIZE = + FigureDescriptor_AxisDescriptor_AxisFormatType_AxisFormatType_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + AxisFormatType_descriptor() { + return FigureDescriptor_AxisDescriptor_AxisFormatType_descriptor(); + } + template + static inline const std::string& AxisFormatType_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function AxisFormatType_Name."); + return FigureDescriptor_AxisDescriptor_AxisFormatType_Name(enum_t_value); + } + static inline bool AxisFormatType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + AxisFormatType* value) { + return FigureDescriptor_AxisDescriptor_AxisFormatType_Parse(name, value); + } + + typedef FigureDescriptor_AxisDescriptor_AxisType AxisType; + static constexpr AxisType X = + FigureDescriptor_AxisDescriptor_AxisType_X; + static constexpr AxisType Y = + FigureDescriptor_AxisDescriptor_AxisType_Y; + static constexpr AxisType SHAPE = + FigureDescriptor_AxisDescriptor_AxisType_SHAPE; + static constexpr AxisType SIZE = + FigureDescriptor_AxisDescriptor_AxisType_SIZE; + static constexpr AxisType LABEL = + FigureDescriptor_AxisDescriptor_AxisType_LABEL; + static constexpr AxisType COLOR = + FigureDescriptor_AxisDescriptor_AxisType_COLOR; + static inline bool AxisType_IsValid(int value) { + return FigureDescriptor_AxisDescriptor_AxisType_IsValid(value); + } + static constexpr AxisType AxisType_MIN = + FigureDescriptor_AxisDescriptor_AxisType_AxisType_MIN; + static constexpr AxisType AxisType_MAX = + FigureDescriptor_AxisDescriptor_AxisType_AxisType_MAX; + static constexpr int AxisType_ARRAYSIZE = + FigureDescriptor_AxisDescriptor_AxisType_AxisType_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + AxisType_descriptor() { + return FigureDescriptor_AxisDescriptor_AxisType_descriptor(); + } + template + static inline const std::string& AxisType_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function AxisType_Name."); + return FigureDescriptor_AxisDescriptor_AxisType_Name(enum_t_value); + } + static inline bool AxisType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + AxisType* value) { + return FigureDescriptor_AxisDescriptor_AxisType_Parse(name, value); + } + + typedef FigureDescriptor_AxisDescriptor_AxisPosition AxisPosition; + static constexpr AxisPosition TOP = + FigureDescriptor_AxisDescriptor_AxisPosition_TOP; + static constexpr AxisPosition BOTTOM = + FigureDescriptor_AxisDescriptor_AxisPosition_BOTTOM; + static constexpr AxisPosition LEFT = + FigureDescriptor_AxisDescriptor_AxisPosition_LEFT; + static constexpr AxisPosition RIGHT = + FigureDescriptor_AxisDescriptor_AxisPosition_RIGHT; + static constexpr AxisPosition NONE = + FigureDescriptor_AxisDescriptor_AxisPosition_NONE; + static inline bool AxisPosition_IsValid(int value) { + return FigureDescriptor_AxisDescriptor_AxisPosition_IsValid(value); + } + static constexpr AxisPosition AxisPosition_MIN = + FigureDescriptor_AxisDescriptor_AxisPosition_AxisPosition_MIN; + static constexpr AxisPosition AxisPosition_MAX = + FigureDescriptor_AxisDescriptor_AxisPosition_AxisPosition_MAX; + static constexpr int AxisPosition_ARRAYSIZE = + FigureDescriptor_AxisDescriptor_AxisPosition_AxisPosition_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + AxisPosition_descriptor() { + return FigureDescriptor_AxisDescriptor_AxisPosition_descriptor(); + } + template + static inline const std::string& AxisPosition_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function AxisPosition_Name."); + return FigureDescriptor_AxisDescriptor_AxisPosition_Name(enum_t_value); + } + static inline bool AxisPosition_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + AxisPosition* value) { + return FigureDescriptor_AxisDescriptor_AxisPosition_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + enum : int { + kMajorTickLocationsFieldNumber = 17, + kIdFieldNumber = 1, + kLabelFieldNumber = 6, + kLabelFontFieldNumber = 7, + kTicksFontFieldNumber = 8, + kFormatPatternFieldNumber = 9, + kColorFieldNumber = 10, + kBusinessCalendarDescriptorFieldNumber = 21, + kFormatTypeFieldNumber = 2, + kTypeFieldNumber = 3, + kMinRangeFieldNumber = 11, + kPositionFieldNumber = 4, + kLogFieldNumber = 5, + kMinorTicksVisibleFieldNumber = 13, + kMajorTicksVisibleFieldNumber = 14, + kInvertFieldNumber = 19, + kMaxRangeFieldNumber = 12, + kGapBetweenMajorTicksFieldNumber = 16, + kMinorTickCountFieldNumber = 15, + kIsTimeAxisFieldNumber = 20, + kTickLabelAngleFieldNumber = 18, + }; + // repeated double major_tick_locations = 17; + int major_tick_locations_size() const; + private: + int _internal_major_tick_locations_size() const; + public: + void clear_major_tick_locations(); + private: + double _internal_major_tick_locations(int index) const; + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >& + _internal_major_tick_locations() const; + void _internal_add_major_tick_locations(double value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >* + _internal_mutable_major_tick_locations(); + public: + double major_tick_locations(int index) const; + void set_major_tick_locations(int index, double value); + void add_major_tick_locations(double value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >& + major_tick_locations() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< double >* + mutable_major_tick_locations(); + + // string id = 1; + void clear_id(); + const std::string& id() const; + template + void set_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_id(); + PROTOBUF_NODISCARD std::string* release_id(); + void set_allocated_id(std::string* id); + private: + const std::string& _internal_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_id(const std::string& value); + std::string* _internal_mutable_id(); + public: + + // string label = 6; + void clear_label(); + const std::string& label() const; + template + void set_label(ArgT0&& arg0, ArgT... args); + std::string* mutable_label(); + PROTOBUF_NODISCARD std::string* release_label(); + void set_allocated_label(std::string* label); + private: + const std::string& _internal_label() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_label(const std::string& value); + std::string* _internal_mutable_label(); + public: + + // string label_font = 7; + void clear_label_font(); + const std::string& label_font() const; + template + void set_label_font(ArgT0&& arg0, ArgT... args); + std::string* mutable_label_font(); + PROTOBUF_NODISCARD std::string* release_label_font(); + void set_allocated_label_font(std::string* label_font); + private: + const std::string& _internal_label_font() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_label_font(const std::string& value); + std::string* _internal_mutable_label_font(); + public: + + // string ticks_font = 8; + void clear_ticks_font(); + const std::string& ticks_font() const; + template + void set_ticks_font(ArgT0&& arg0, ArgT... args); + std::string* mutable_ticks_font(); + PROTOBUF_NODISCARD std::string* release_ticks_font(); + void set_allocated_ticks_font(std::string* ticks_font); + private: + const std::string& _internal_ticks_font() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_ticks_font(const std::string& value); + std::string* _internal_mutable_ticks_font(); + public: + + // optional string format_pattern = 9; + bool has_format_pattern() const; + private: + bool _internal_has_format_pattern() const; + public: + void clear_format_pattern(); + const std::string& format_pattern() const; + template + void set_format_pattern(ArgT0&& arg0, ArgT... args); + std::string* mutable_format_pattern(); + PROTOBUF_NODISCARD std::string* release_format_pattern(); + void set_allocated_format_pattern(std::string* format_pattern); + private: + const std::string& _internal_format_pattern() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_format_pattern(const std::string& value); + std::string* _internal_mutable_format_pattern(); + public: + + // string color = 10; + void clear_color(); + const std::string& color() const; + template + void set_color(ArgT0&& arg0, ArgT... args); + std::string* mutable_color(); + PROTOBUF_NODISCARD std::string* release_color(); + void set_allocated_color(std::string* color); + private: + const std::string& _internal_color() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_color(const std::string& value); + std::string* _internal_mutable_color(); + public: + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor business_calendar_descriptor = 21; + bool has_business_calendar_descriptor() const; + private: + bool _internal_has_business_calendar_descriptor() const; + public: + void clear_business_calendar_descriptor(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor& business_calendar_descriptor() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor* release_business_calendar_descriptor(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor* mutable_business_calendar_descriptor(); + void set_allocated_business_calendar_descriptor(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor* business_calendar_descriptor); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor& _internal_business_calendar_descriptor() const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor* _internal_mutable_business_calendar_descriptor(); + public: + void unsafe_arena_set_allocated_business_calendar_descriptor( + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor* business_calendar_descriptor); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor* unsafe_arena_release_business_calendar_descriptor(); + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisFormatType format_type = 2; + void clear_format_type(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisFormatType format_type() const; + void set_format_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisFormatType value); + private: + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisFormatType _internal_format_type() const; + void _internal_set_format_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisFormatType value); + public: + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisType type = 3; + void clear_type(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisType type() const; + void set_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisType value); + private: + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisType _internal_type() const; + void _internal_set_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisType value); + public: + + // double min_range = 11; + void clear_min_range(); + double min_range() const; + void set_min_range(double value); + private: + double _internal_min_range() const; + void _internal_set_min_range(double value); + public: + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisPosition position = 4; + void clear_position(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisPosition position() const; + void set_position(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisPosition value); + private: + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisPosition _internal_position() const; + void _internal_set_position(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_AxisDescriptor_AxisPosition value); + public: + + // bool log = 5; + void clear_log(); + bool log() const; + void set_log(bool value); + private: + bool _internal_log() const; + void _internal_set_log(bool value); + public: + + // bool minor_ticks_visible = 13; + void clear_minor_ticks_visible(); + bool minor_ticks_visible() const; + void set_minor_ticks_visible(bool value); + private: + bool _internal_minor_ticks_visible() const; + void _internal_set_minor_ticks_visible(bool value); + public: + + // bool major_ticks_visible = 14; + void clear_major_ticks_visible(); + bool major_ticks_visible() const; + void set_major_ticks_visible(bool value); + private: + bool _internal_major_ticks_visible() const; + void _internal_set_major_ticks_visible(bool value); + public: + + // bool invert = 19; + void clear_invert(); + bool invert() const; + void set_invert(bool value); + private: + bool _internal_invert() const; + void _internal_set_invert(bool value); + public: + + // double max_range = 12; + void clear_max_range(); + double max_range() const; + void set_max_range(double value); + private: + double _internal_max_range() const; + void _internal_set_max_range(double value); + public: + + // optional double gap_between_major_ticks = 16; + bool has_gap_between_major_ticks() const; + private: + bool _internal_has_gap_between_major_ticks() const; + public: + void clear_gap_between_major_ticks(); + double gap_between_major_ticks() const; + void set_gap_between_major_ticks(double value); + private: + double _internal_gap_between_major_ticks() const; + void _internal_set_gap_between_major_ticks(double value); + public: + + // int32 minor_tick_count = 15; + void clear_minor_tick_count(); + int32_t minor_tick_count() const; + void set_minor_tick_count(int32_t value); + private: + int32_t _internal_minor_tick_count() const; + void _internal_set_minor_tick_count(int32_t value); + public: + + // bool is_time_axis = 20; + void clear_is_time_axis(); + bool is_time_axis() const; + void set_is_time_axis(bool value); + private: + bool _internal_is_time_axis() const; + void _internal_set_is_time_axis(bool value); + public: + + // double tick_label_angle = 18; + void clear_tick_label_angle(); + double tick_label_angle() const; + void set_tick_label_angle(double value); + private: + double _internal_tick_label_angle() const; + void _internal_set_tick_label_angle(double value); + public: + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField< double > major_tick_locations_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr label_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr label_font_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ticks_font_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr format_pattern_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr color_; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor* business_calendar_descriptor_; + int format_type_; + int type_; + double min_range_; + int position_; + bool log_; + bool minor_ticks_visible_; + bool major_ticks_visible_; + bool invert_; + double max_range_; + double gap_between_major_ticks_; + int32_t minor_tick_count_; + bool is_time_axis_; + double tick_label_angle_; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; +}; +// ------------------------------------------------------------------- + +class FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod) */ { + public: + inline FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod() : FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod(nullptr) {} + ~FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod() override; + explicit PROTOBUF_CONSTEXPR FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod(const FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& from); + FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod(FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod&& from) noexcept + : FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod() { + *this = ::std::move(from); + } + + inline FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& operator=(const FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& from) { + CopyFrom(from); + return *this; + } + inline FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& operator=(FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& default_instance() { + return *internal_default_instance(); + } + static inline const FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* internal_default_instance() { + return reinterpret_cast( + &_FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod_default_instance_); + } + static constexpr int kIndexInFileMessages = + 52; + + friend void swap(FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& a, FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& b) { + a.Swap(&b); + } + inline void Swap(FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod"; + } + protected: + explicit FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kOpenFieldNumber = 1, + kCloseFieldNumber = 2, + }; + // string open = 1; + void clear_open(); + const std::string& open() const; + template + void set_open(ArgT0&& arg0, ArgT... args); + std::string* mutable_open(); + PROTOBUF_NODISCARD std::string* release_open(); + void set_allocated_open(std::string* open); + private: + const std::string& _internal_open() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_open(const std::string& value); + std::string* _internal_mutable_open(); + public: + + // string close = 2; + void clear_close(); + const std::string& close() const; + template + void set_close(ArgT0&& arg0, ArgT... args); + std::string* mutable_close(); + PROTOBUF_NODISCARD std::string* release_close(); + void set_allocated_close(std::string* close); + private: + const std::string& _internal_close() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_close(const std::string& value); + std::string* _internal_mutable_close(); + public: + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr open_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr close_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; +}; +// ------------------------------------------------------------------- + +class FigureDescriptor_BusinessCalendarDescriptor_Holiday final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday) */ { + public: + inline FigureDescriptor_BusinessCalendarDescriptor_Holiday() : FigureDescriptor_BusinessCalendarDescriptor_Holiday(nullptr) {} + ~FigureDescriptor_BusinessCalendarDescriptor_Holiday() override; + explicit PROTOBUF_CONSTEXPR FigureDescriptor_BusinessCalendarDescriptor_Holiday(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FigureDescriptor_BusinessCalendarDescriptor_Holiday(const FigureDescriptor_BusinessCalendarDescriptor_Holiday& from); + FigureDescriptor_BusinessCalendarDescriptor_Holiday(FigureDescriptor_BusinessCalendarDescriptor_Holiday&& from) noexcept + : FigureDescriptor_BusinessCalendarDescriptor_Holiday() { + *this = ::std::move(from); + } + + inline FigureDescriptor_BusinessCalendarDescriptor_Holiday& operator=(const FigureDescriptor_BusinessCalendarDescriptor_Holiday& from) { + CopyFrom(from); + return *this; + } + inline FigureDescriptor_BusinessCalendarDescriptor_Holiday& operator=(FigureDescriptor_BusinessCalendarDescriptor_Holiday&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FigureDescriptor_BusinessCalendarDescriptor_Holiday& default_instance() { + return *internal_default_instance(); + } + static inline const FigureDescriptor_BusinessCalendarDescriptor_Holiday* internal_default_instance() { + return reinterpret_cast( + &_FigureDescriptor_BusinessCalendarDescriptor_Holiday_default_instance_); + } + static constexpr int kIndexInFileMessages = + 53; + + friend void swap(FigureDescriptor_BusinessCalendarDescriptor_Holiday& a, FigureDescriptor_BusinessCalendarDescriptor_Holiday& b) { + a.Swap(&b); + } + inline void Swap(FigureDescriptor_BusinessCalendarDescriptor_Holiday* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FigureDescriptor_BusinessCalendarDescriptor_Holiday* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FigureDescriptor_BusinessCalendarDescriptor_Holiday* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FigureDescriptor_BusinessCalendarDescriptor_Holiday& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const FigureDescriptor_BusinessCalendarDescriptor_Holiday& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FigureDescriptor_BusinessCalendarDescriptor_Holiday* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday"; + } + protected: + explicit FigureDescriptor_BusinessCalendarDescriptor_Holiday(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kBusinessPeriodsFieldNumber = 2, + kDateFieldNumber = 1, + }; + // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod business_periods = 2; + int business_periods_size() const; + private: + int _internal_business_periods_size() const; + public: + void clear_business_periods(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* mutable_business_periods(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod >* + mutable_business_periods(); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& _internal_business_periods(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* _internal_add_business_periods(); + public: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& business_periods(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* add_business_periods(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod >& + business_periods() const; + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.LocalDate date = 1; + bool has_date() const; + private: + bool _internal_has_date() const; + public: + void clear_date(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate& date() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate* release_date(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate* mutable_date(); + void set_allocated_date(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate* date); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate& _internal_date() const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate* _internal_mutable_date(); + public: + void unsafe_arena_set_allocated_date( + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate* date); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate* unsafe_arena_release_date(); + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod > business_periods_; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_LocalDate* date_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; +}; +// ------------------------------------------------------------------- + +class FigureDescriptor_BusinessCalendarDescriptor_LocalDate final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.LocalDate) */ { + public: + inline FigureDescriptor_BusinessCalendarDescriptor_LocalDate() : FigureDescriptor_BusinessCalendarDescriptor_LocalDate(nullptr) {} + ~FigureDescriptor_BusinessCalendarDescriptor_LocalDate() override; + explicit PROTOBUF_CONSTEXPR FigureDescriptor_BusinessCalendarDescriptor_LocalDate(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FigureDescriptor_BusinessCalendarDescriptor_LocalDate(const FigureDescriptor_BusinessCalendarDescriptor_LocalDate& from); + FigureDescriptor_BusinessCalendarDescriptor_LocalDate(FigureDescriptor_BusinessCalendarDescriptor_LocalDate&& from) noexcept + : FigureDescriptor_BusinessCalendarDescriptor_LocalDate() { + *this = ::std::move(from); + } + + inline FigureDescriptor_BusinessCalendarDescriptor_LocalDate& operator=(const FigureDescriptor_BusinessCalendarDescriptor_LocalDate& from) { + CopyFrom(from); + return *this; + } + inline FigureDescriptor_BusinessCalendarDescriptor_LocalDate& operator=(FigureDescriptor_BusinessCalendarDescriptor_LocalDate&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FigureDescriptor_BusinessCalendarDescriptor_LocalDate& default_instance() { + return *internal_default_instance(); + } + static inline const FigureDescriptor_BusinessCalendarDescriptor_LocalDate* internal_default_instance() { + return reinterpret_cast( + &_FigureDescriptor_BusinessCalendarDescriptor_LocalDate_default_instance_); + } + static constexpr int kIndexInFileMessages = + 54; + + friend void swap(FigureDescriptor_BusinessCalendarDescriptor_LocalDate& a, FigureDescriptor_BusinessCalendarDescriptor_LocalDate& b) { + a.Swap(&b); + } + inline void Swap(FigureDescriptor_BusinessCalendarDescriptor_LocalDate* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FigureDescriptor_BusinessCalendarDescriptor_LocalDate* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FigureDescriptor_BusinessCalendarDescriptor_LocalDate* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FigureDescriptor_BusinessCalendarDescriptor_LocalDate& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const FigureDescriptor_BusinessCalendarDescriptor_LocalDate& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FigureDescriptor_BusinessCalendarDescriptor_LocalDate* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.LocalDate"; + } + protected: + explicit FigureDescriptor_BusinessCalendarDescriptor_LocalDate(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kYearFieldNumber = 1, + kMonthFieldNumber = 2, + kDayFieldNumber = 3, + }; + // int32 year = 1; + void clear_year(); + int32_t year() const; + void set_year(int32_t value); + private: + int32_t _internal_year() const; + void _internal_set_year(int32_t value); + public: + + // int32 month = 2; + void clear_month(); + int32_t month() const; + void set_month(int32_t value); + private: + int32_t _internal_month() const; + void _internal_set_month(int32_t value); + public: + + // int32 day = 3; + void clear_day(); + int32_t day() const; + void set_day(int32_t value); + private: + int32_t _internal_day() const; + void _internal_set_day(int32_t value); + public: + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.LocalDate) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + int32_t year_; + int32_t month_; + int32_t day_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; +}; +// ------------------------------------------------------------------- + +class FigureDescriptor_BusinessCalendarDescriptor final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor) */ { + public: + inline FigureDescriptor_BusinessCalendarDescriptor() : FigureDescriptor_BusinessCalendarDescriptor(nullptr) {} + ~FigureDescriptor_BusinessCalendarDescriptor() override; + explicit PROTOBUF_CONSTEXPR FigureDescriptor_BusinessCalendarDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FigureDescriptor_BusinessCalendarDescriptor(const FigureDescriptor_BusinessCalendarDescriptor& from); + FigureDescriptor_BusinessCalendarDescriptor(FigureDescriptor_BusinessCalendarDescriptor&& from) noexcept + : FigureDescriptor_BusinessCalendarDescriptor() { + *this = ::std::move(from); + } + + inline FigureDescriptor_BusinessCalendarDescriptor& operator=(const FigureDescriptor_BusinessCalendarDescriptor& from) { + CopyFrom(from); + return *this; + } + inline FigureDescriptor_BusinessCalendarDescriptor& operator=(FigureDescriptor_BusinessCalendarDescriptor&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FigureDescriptor_BusinessCalendarDescriptor& default_instance() { + return *internal_default_instance(); + } + static inline const FigureDescriptor_BusinessCalendarDescriptor* internal_default_instance() { + return reinterpret_cast( + &_FigureDescriptor_BusinessCalendarDescriptor_default_instance_); + } + static constexpr int kIndexInFileMessages = + 55; + + friend void swap(FigureDescriptor_BusinessCalendarDescriptor& a, FigureDescriptor_BusinessCalendarDescriptor& b) { + a.Swap(&b); + } + inline void Swap(FigureDescriptor_BusinessCalendarDescriptor* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FigureDescriptor_BusinessCalendarDescriptor* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FigureDescriptor_BusinessCalendarDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FigureDescriptor_BusinessCalendarDescriptor& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const FigureDescriptor_BusinessCalendarDescriptor& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FigureDescriptor_BusinessCalendarDescriptor* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor"; + } + protected: + explicit FigureDescriptor_BusinessCalendarDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod BusinessPeriod; + typedef FigureDescriptor_BusinessCalendarDescriptor_Holiday Holiday; + typedef FigureDescriptor_BusinessCalendarDescriptor_LocalDate LocalDate; + + typedef FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek DayOfWeek; + static constexpr DayOfWeek SUNDAY = + FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_SUNDAY; + static constexpr DayOfWeek MONDAY = + FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_MONDAY; + static constexpr DayOfWeek TUESDAY = + FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_TUESDAY; + static constexpr DayOfWeek WEDNESDAY = + FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_WEDNESDAY; + static constexpr DayOfWeek THURSDAY = + FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_THURSDAY; + static constexpr DayOfWeek FRIDAY = + FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_FRIDAY; + static constexpr DayOfWeek SATURDAY = + FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_SATURDAY; + static inline bool DayOfWeek_IsValid(int value) { + return FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_IsValid(value); + } + static constexpr DayOfWeek DayOfWeek_MIN = + FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_DayOfWeek_MIN; + static constexpr DayOfWeek DayOfWeek_MAX = + FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_DayOfWeek_MAX; + static constexpr int DayOfWeek_ARRAYSIZE = + FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_DayOfWeek_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + DayOfWeek_descriptor() { + return FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_descriptor(); + } + template + static inline const std::string& DayOfWeek_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function DayOfWeek_Name."); + return FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_Name(enum_t_value); + } + static inline bool DayOfWeek_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + DayOfWeek* value) { + return FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + enum : int { + kBusinessDaysFieldNumber = 3, + kBusinessPeriodsFieldNumber = 4, + kHolidaysFieldNumber = 5, + kNameFieldNumber = 1, + kTimeZoneFieldNumber = 2, + }; + // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.DayOfWeek business_days = 3; + int business_days_size() const; + private: + int _internal_business_days_size() const; + public: + void clear_business_days(); + private: + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek _internal_business_days(int index) const; + void _internal_add_business_days(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek value); + ::PROTOBUF_NAMESPACE_ID::RepeatedField* _internal_mutable_business_days(); + public: + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek business_days(int index) const; + void set_business_days(int index, ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek value); + void add_business_days(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek value); + const ::PROTOBUF_NAMESPACE_ID::RepeatedField& business_days() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedField* mutable_business_days(); + + // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod business_periods = 4; + int business_periods_size() const; + private: + int _internal_business_periods_size() const; + public: + void clear_business_periods(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* mutable_business_periods(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod >* + mutable_business_periods(); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& _internal_business_periods(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* _internal_add_business_periods(); + public: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod& business_periods(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod* add_business_periods(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod >& + business_periods() const; + + // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday holidays = 5; + int holidays_size() const; + private: + int _internal_holidays_size() const; + public: + void clear_holidays(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday* mutable_holidays(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday >* + mutable_holidays(); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday& _internal_holidays(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday* _internal_add_holidays(); + public: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday& holidays(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday* add_holidays(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday >& + holidays() const; + + // string name = 1; + void clear_name(); + const std::string& name() const; + template + void set_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // string time_zone = 2; + void clear_time_zone(); + const std::string& time_zone() const; + template + void set_time_zone(ArgT0&& arg0, ArgT... args); + std::string* mutable_time_zone(); + PROTOBUF_NODISCARD std::string* release_time_zone(); + void set_allocated_time_zone(std::string* time_zone); + private: + const std::string& _internal_time_zone() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_time_zone(const std::string& value); + std::string* _internal_mutable_time_zone(); + public: + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedField business_days_; + mutable std::atomic _business_days_cached_byte_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod > business_periods_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_BusinessCalendarDescriptor_Holiday > holidays_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr time_zone_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; +}; +// ------------------------------------------------------------------- + +class FigureDescriptor_MultiSeriesSourceDescriptor final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesSourceDescriptor) */ { + public: + inline FigureDescriptor_MultiSeriesSourceDescriptor() : FigureDescriptor_MultiSeriesSourceDescriptor(nullptr) {} + ~FigureDescriptor_MultiSeriesSourceDescriptor() override; + explicit PROTOBUF_CONSTEXPR FigureDescriptor_MultiSeriesSourceDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FigureDescriptor_MultiSeriesSourceDescriptor(const FigureDescriptor_MultiSeriesSourceDescriptor& from); + FigureDescriptor_MultiSeriesSourceDescriptor(FigureDescriptor_MultiSeriesSourceDescriptor&& from) noexcept + : FigureDescriptor_MultiSeriesSourceDescriptor() { + *this = ::std::move(from); + } + + inline FigureDescriptor_MultiSeriesSourceDescriptor& operator=(const FigureDescriptor_MultiSeriesSourceDescriptor& from) { + CopyFrom(from); + return *this; + } + inline FigureDescriptor_MultiSeriesSourceDescriptor& operator=(FigureDescriptor_MultiSeriesSourceDescriptor&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FigureDescriptor_MultiSeriesSourceDescriptor& default_instance() { + return *internal_default_instance(); + } + static inline const FigureDescriptor_MultiSeriesSourceDescriptor* internal_default_instance() { + return reinterpret_cast( + &_FigureDescriptor_MultiSeriesSourceDescriptor_default_instance_); + } + static constexpr int kIndexInFileMessages = + 56; + + friend void swap(FigureDescriptor_MultiSeriesSourceDescriptor& a, FigureDescriptor_MultiSeriesSourceDescriptor& b) { + a.Swap(&b); + } + inline void Swap(FigureDescriptor_MultiSeriesSourceDescriptor* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FigureDescriptor_MultiSeriesSourceDescriptor* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FigureDescriptor_MultiSeriesSourceDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FigureDescriptor_MultiSeriesSourceDescriptor& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const FigureDescriptor_MultiSeriesSourceDescriptor& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FigureDescriptor_MultiSeriesSourceDescriptor* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesSourceDescriptor"; + } + protected: + explicit FigureDescriptor_MultiSeriesSourceDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kAxisIdFieldNumber = 1, + kColumnNameFieldNumber = 4, + kTypeFieldNumber = 2, + kPartitionedTableIdFieldNumber = 3, + }; + // string axis_id = 1; + void clear_axis_id(); + const std::string& axis_id() const; + template + void set_axis_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_axis_id(); + PROTOBUF_NODISCARD std::string* release_axis_id(); + void set_allocated_axis_id(std::string* axis_id); + private: + const std::string& _internal_axis_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_axis_id(const std::string& value); + std::string* _internal_mutable_axis_id(); + public: + + // string column_name = 4; + void clear_column_name(); + const std::string& column_name() const; + template + void set_column_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_column_name(); + PROTOBUF_NODISCARD std::string* release_column_name(); + void set_allocated_column_name(std::string* column_name); + private: + const std::string& _internal_column_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_column_name(const std::string& value); + std::string* _internal_mutable_column_name(); + public: + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceType type = 2; + void clear_type(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceType type() const; + void set_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceType value); + private: + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceType _internal_type() const; + void _internal_set_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceType value); + public: + + // int32 partitioned_table_id = 3; + void clear_partitioned_table_id(); + int32_t partitioned_table_id() const; + void set_partitioned_table_id(int32_t value); + private: + int32_t _internal_partitioned_table_id() const; + void _internal_set_partitioned_table_id(int32_t value); + public: + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesSourceDescriptor) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr axis_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr column_name_; + int type_; + int32_t partitioned_table_id_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; +}; +// ------------------------------------------------------------------- + +class FigureDescriptor_SourceDescriptor final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptor) */ { + public: + inline FigureDescriptor_SourceDescriptor() : FigureDescriptor_SourceDescriptor(nullptr) {} + ~FigureDescriptor_SourceDescriptor() override; + explicit PROTOBUF_CONSTEXPR FigureDescriptor_SourceDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FigureDescriptor_SourceDescriptor(const FigureDescriptor_SourceDescriptor& from); + FigureDescriptor_SourceDescriptor(FigureDescriptor_SourceDescriptor&& from) noexcept + : FigureDescriptor_SourceDescriptor() { + *this = ::std::move(from); + } + + inline FigureDescriptor_SourceDescriptor& operator=(const FigureDescriptor_SourceDescriptor& from) { + CopyFrom(from); + return *this; + } + inline FigureDescriptor_SourceDescriptor& operator=(FigureDescriptor_SourceDescriptor&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FigureDescriptor_SourceDescriptor& default_instance() { + return *internal_default_instance(); + } + static inline const FigureDescriptor_SourceDescriptor* internal_default_instance() { + return reinterpret_cast( + &_FigureDescriptor_SourceDescriptor_default_instance_); + } + static constexpr int kIndexInFileMessages = + 57; + + friend void swap(FigureDescriptor_SourceDescriptor& a, FigureDescriptor_SourceDescriptor& b) { + a.Swap(&b); + } + inline void Swap(FigureDescriptor_SourceDescriptor* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FigureDescriptor_SourceDescriptor* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FigureDescriptor_SourceDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FigureDescriptor_SourceDescriptor& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const FigureDescriptor_SourceDescriptor& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FigureDescriptor_SourceDescriptor* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptor"; + } + protected: + explicit FigureDescriptor_SourceDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kAxisIdFieldNumber = 1, + kColumnNameFieldNumber = 5, + kColumnTypeFieldNumber = 6, + kOneClickFieldNumber = 7, + kTypeFieldNumber = 2, + kTableIdFieldNumber = 3, + kPartitionedTableIdFieldNumber = 4, + }; + // string axis_id = 1; + void clear_axis_id(); + const std::string& axis_id() const; + template + void set_axis_id(ArgT0&& arg0, ArgT... args); + std::string* mutable_axis_id(); + PROTOBUF_NODISCARD std::string* release_axis_id(); + void set_allocated_axis_id(std::string* axis_id); + private: + const std::string& _internal_axis_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_axis_id(const std::string& value); + std::string* _internal_mutable_axis_id(); + public: + + // string column_name = 5; + void clear_column_name(); + const std::string& column_name() const; + template + void set_column_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_column_name(); + PROTOBUF_NODISCARD std::string* release_column_name(); + void set_allocated_column_name(std::string* column_name); + private: + const std::string& _internal_column_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_column_name(const std::string& value); + std::string* _internal_mutable_column_name(); + public: + + // string column_type = 6; + void clear_column_type(); + const std::string& column_type() const; + template + void set_column_type(ArgT0&& arg0, ArgT... args); + std::string* mutable_column_type(); + PROTOBUF_NODISCARD std::string* release_column_type(); + void set_allocated_column_type(std::string* column_type); + private: + const std::string& _internal_column_type() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_column_type(const std::string& value); + std::string* _internal_mutable_column_type(); + public: + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.OneClickDescriptor one_click = 7; + bool has_one_click() const; + private: + bool _internal_has_one_click() const; + public: + void clear_one_click(); + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor& one_click() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor* release_one_click(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor* mutable_one_click(); + void set_allocated_one_click(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor* one_click); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor& _internal_one_click() const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor* _internal_mutable_one_click(); + public: + void unsafe_arena_set_allocated_one_click( + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor* one_click); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor* unsafe_arena_release_one_click(); + + // .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceType type = 2; + void clear_type(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceType type() const; + void set_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceType value); + private: + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceType _internal_type() const; + void _internal_set_type(::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_SourceType value); + public: + + // int32 table_id = 3; + void clear_table_id(); + int32_t table_id() const; + void set_table_id(int32_t value); + private: + int32_t _internal_table_id() const; + void _internal_set_table_id(int32_t value); + public: + + // int32 partitioned_table_id = 4; + void clear_partitioned_table_id(); + int32_t partitioned_table_id() const; + void set_partitioned_table_id(int32_t value); + private: + int32_t _internal_partitioned_table_id() const; + void _internal_set_partitioned_table_id(int32_t value); + public: + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptor) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr axis_id_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr column_name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr column_type_; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_OneClickDescriptor* one_click_; + int type_; + int32_t table_id_; + int32_t partitioned_table_id_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; +}; +// ------------------------------------------------------------------- + +class FigureDescriptor_OneClickDescriptor final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.OneClickDescriptor) */ { + public: + inline FigureDescriptor_OneClickDescriptor() : FigureDescriptor_OneClickDescriptor(nullptr) {} + ~FigureDescriptor_OneClickDescriptor() override; + explicit PROTOBUF_CONSTEXPR FigureDescriptor_OneClickDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FigureDescriptor_OneClickDescriptor(const FigureDescriptor_OneClickDescriptor& from); + FigureDescriptor_OneClickDescriptor(FigureDescriptor_OneClickDescriptor&& from) noexcept + : FigureDescriptor_OneClickDescriptor() { + *this = ::std::move(from); + } + + inline FigureDescriptor_OneClickDescriptor& operator=(const FigureDescriptor_OneClickDescriptor& from) { + CopyFrom(from); + return *this; + } + inline FigureDescriptor_OneClickDescriptor& operator=(FigureDescriptor_OneClickDescriptor&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FigureDescriptor_OneClickDescriptor& default_instance() { + return *internal_default_instance(); + } + static inline const FigureDescriptor_OneClickDescriptor* internal_default_instance() { + return reinterpret_cast( + &_FigureDescriptor_OneClickDescriptor_default_instance_); + } + static constexpr int kIndexInFileMessages = + 58; + + friend void swap(FigureDescriptor_OneClickDescriptor& a, FigureDescriptor_OneClickDescriptor& b) { + a.Swap(&b); + } + inline void Swap(FigureDescriptor_OneClickDescriptor* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FigureDescriptor_OneClickDescriptor* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FigureDescriptor_OneClickDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FigureDescriptor_OneClickDescriptor& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const FigureDescriptor_OneClickDescriptor& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FigureDescriptor_OneClickDescriptor* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor.OneClickDescriptor"; + } + protected: + explicit FigureDescriptor_OneClickDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kColumnsFieldNumber = 1, + kColumnTypesFieldNumber = 2, + kRequireAllFiltersToDisplayFieldNumber = 3, + }; + // repeated string columns = 1; + int columns_size() const; + private: + int _internal_columns_size() const; + public: + void clear_columns(); + const std::string& columns(int index) const; + std::string* mutable_columns(int index); + void set_columns(int index, const std::string& value); + void set_columns(int index, std::string&& value); + void set_columns(int index, const char* value); + void set_columns(int index, const char* value, size_t size); + std::string* add_columns(); + void add_columns(const std::string& value); + void add_columns(std::string&& value); + void add_columns(const char* value); + void add_columns(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& columns() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_columns(); + private: + const std::string& _internal_columns(int index) const; + std::string* _internal_add_columns(); + public: + + // repeated string column_types = 2; + int column_types_size() const; + private: + int _internal_column_types_size() const; + public: + void clear_column_types(); + const std::string& column_types(int index) const; + std::string* mutable_column_types(int index); + void set_column_types(int index, const std::string& value); + void set_column_types(int index, std::string&& value); + void set_column_types(int index, const char* value); + void set_column_types(int index, const char* value, size_t size); + std::string* add_column_types(); + void add_column_types(const std::string& value); + void add_column_types(std::string&& value); + void add_column_types(const char* value); + void add_column_types(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& column_types() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_column_types(); + private: + const std::string& _internal_column_types(int index) const; + std::string* _internal_add_column_types(); + public: + + // bool require_all_filters_to_display = 3; + void clear_require_all_filters_to_display(); + bool require_all_filters_to_display() const; + void set_require_all_filters_to_display(bool value); + private: + bool _internal_require_all_filters_to_display() const; + void _internal_set_require_all_filters_to_display(bool value); + public: + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor.OneClickDescriptor) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField columns_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField column_types_; + bool require_all_filters_to_display_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; +}; +// ------------------------------------------------------------------- + +class FigureDescriptor final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.script.grpc.FigureDescriptor) */ { + public: + inline FigureDescriptor() : FigureDescriptor(nullptr) {} + ~FigureDescriptor() override; + explicit PROTOBUF_CONSTEXPR FigureDescriptor(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + FigureDescriptor(const FigureDescriptor& from); + FigureDescriptor(FigureDescriptor&& from) noexcept + : FigureDescriptor() { + *this = ::std::move(from); + } + + inline FigureDescriptor& operator=(const FigureDescriptor& from) { + CopyFrom(from); + return *this; + } + inline FigureDescriptor& operator=(FigureDescriptor&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FigureDescriptor& default_instance() { + return *internal_default_instance(); + } + static inline const FigureDescriptor* internal_default_instance() { + return reinterpret_cast( + &_FigureDescriptor_default_instance_); + } + static constexpr int kIndexInFileMessages = + 59; + + friend void swap(FigureDescriptor& a, FigureDescriptor& b) { + a.Swap(&b); + } + inline void Swap(FigureDescriptor* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FigureDescriptor* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FigureDescriptor* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const FigureDescriptor& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const FigureDescriptor& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(FigureDescriptor* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.script.grpc.FigureDescriptor"; + } + protected: + explicit FigureDescriptor(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + typedef FigureDescriptor_ChartDescriptor ChartDescriptor; + typedef FigureDescriptor_SeriesDescriptor SeriesDescriptor; + typedef FigureDescriptor_MultiSeriesDescriptor MultiSeriesDescriptor; + typedef FigureDescriptor_StringMapWithDefault StringMapWithDefault; + typedef FigureDescriptor_DoubleMapWithDefault DoubleMapWithDefault; + typedef FigureDescriptor_BoolMapWithDefault BoolMapWithDefault; + typedef FigureDescriptor_AxisDescriptor AxisDescriptor; + typedef FigureDescriptor_BusinessCalendarDescriptor BusinessCalendarDescriptor; + typedef FigureDescriptor_MultiSeriesSourceDescriptor MultiSeriesSourceDescriptor; + typedef FigureDescriptor_SourceDescriptor SourceDescriptor; + typedef FigureDescriptor_OneClickDescriptor OneClickDescriptor; + + typedef FigureDescriptor_SeriesPlotStyle SeriesPlotStyle; + static constexpr SeriesPlotStyle BAR = + FigureDescriptor_SeriesPlotStyle_BAR; + static constexpr SeriesPlotStyle STACKED_BAR = + FigureDescriptor_SeriesPlotStyle_STACKED_BAR; + static constexpr SeriesPlotStyle LINE = + FigureDescriptor_SeriesPlotStyle_LINE; + static constexpr SeriesPlotStyle AREA = + FigureDescriptor_SeriesPlotStyle_AREA; + static constexpr SeriesPlotStyle STACKED_AREA = + FigureDescriptor_SeriesPlotStyle_STACKED_AREA; + static constexpr SeriesPlotStyle PIE = + FigureDescriptor_SeriesPlotStyle_PIE; + static constexpr SeriesPlotStyle HISTOGRAM = + FigureDescriptor_SeriesPlotStyle_HISTOGRAM; + static constexpr SeriesPlotStyle OHLC = + FigureDescriptor_SeriesPlotStyle_OHLC; + static constexpr SeriesPlotStyle SCATTER = + FigureDescriptor_SeriesPlotStyle_SCATTER; + static constexpr SeriesPlotStyle STEP = + FigureDescriptor_SeriesPlotStyle_STEP; + static constexpr SeriesPlotStyle ERROR_BAR = + FigureDescriptor_SeriesPlotStyle_ERROR_BAR; + static constexpr SeriesPlotStyle TREEMAP = + FigureDescriptor_SeriesPlotStyle_TREEMAP; + static inline bool SeriesPlotStyle_IsValid(int value) { + return FigureDescriptor_SeriesPlotStyle_IsValid(value); + } + static constexpr SeriesPlotStyle SeriesPlotStyle_MIN = + FigureDescriptor_SeriesPlotStyle_SeriesPlotStyle_MIN; + static constexpr SeriesPlotStyle SeriesPlotStyle_MAX = + FigureDescriptor_SeriesPlotStyle_SeriesPlotStyle_MAX; + static constexpr int SeriesPlotStyle_ARRAYSIZE = + FigureDescriptor_SeriesPlotStyle_SeriesPlotStyle_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + SeriesPlotStyle_descriptor() { + return FigureDescriptor_SeriesPlotStyle_descriptor(); + } + template + static inline const std::string& SeriesPlotStyle_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function SeriesPlotStyle_Name."); + return FigureDescriptor_SeriesPlotStyle_Name(enum_t_value); + } + static inline bool SeriesPlotStyle_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + SeriesPlotStyle* value) { + return FigureDescriptor_SeriesPlotStyle_Parse(name, value); + } + + typedef FigureDescriptor_SourceType SourceType; + static constexpr SourceType X = + FigureDescriptor_SourceType_X; + static constexpr SourceType Y = + FigureDescriptor_SourceType_Y; + static constexpr SourceType Z = + FigureDescriptor_SourceType_Z; + static constexpr SourceType X_LOW = + FigureDescriptor_SourceType_X_LOW; + static constexpr SourceType X_HIGH = + FigureDescriptor_SourceType_X_HIGH; + static constexpr SourceType Y_LOW = + FigureDescriptor_SourceType_Y_LOW; + static constexpr SourceType Y_HIGH = + FigureDescriptor_SourceType_Y_HIGH; + static constexpr SourceType TIME = + FigureDescriptor_SourceType_TIME; + static constexpr SourceType OPEN = + FigureDescriptor_SourceType_OPEN; + static constexpr SourceType HIGH = + FigureDescriptor_SourceType_HIGH; + static constexpr SourceType LOW = + FigureDescriptor_SourceType_LOW; + static constexpr SourceType CLOSE = + FigureDescriptor_SourceType_CLOSE; + static constexpr SourceType SHAPE = + FigureDescriptor_SourceType_SHAPE; + static constexpr SourceType SIZE = + FigureDescriptor_SourceType_SIZE; + static constexpr SourceType LABEL = + FigureDescriptor_SourceType_LABEL; + static constexpr SourceType COLOR = + FigureDescriptor_SourceType_COLOR; + static constexpr SourceType PARENT = + FigureDescriptor_SourceType_PARENT; + static constexpr SourceType HOVER_TEXT = + FigureDescriptor_SourceType_HOVER_TEXT; + static constexpr SourceType TEXT = + FigureDescriptor_SourceType_TEXT; + static inline bool SourceType_IsValid(int value) { + return FigureDescriptor_SourceType_IsValid(value); + } + static constexpr SourceType SourceType_MIN = + FigureDescriptor_SourceType_SourceType_MIN; + static constexpr SourceType SourceType_MAX = + FigureDescriptor_SourceType_SourceType_MAX; + static constexpr int SourceType_ARRAYSIZE = + FigureDescriptor_SourceType_SourceType_ARRAYSIZE; + static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* + SourceType_descriptor() { + return FigureDescriptor_SourceType_descriptor(); + } + template + static inline const std::string& SourceType_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function SourceType_Name."); + return FigureDescriptor_SourceType_Name(enum_t_value); + } + static inline bool SourceType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, + SourceType* value) { + return FigureDescriptor_SourceType_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + enum : int { + kChartsFieldNumber = 10, + kErrorsFieldNumber = 13, + kTitleFieldNumber = 1, + kTitleFontFieldNumber = 2, + kTitleColorFieldNumber = 3, + kUpdateIntervalFieldNumber = 7, + kColsFieldNumber = 8, + kRowsFieldNumber = 9, + }; + // repeated .io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor charts = 10; + int charts_size() const; + private: + int _internal_charts_size() const; + public: + void clear_charts(); + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor* mutable_charts(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor >* + mutable_charts(); + private: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor& _internal_charts(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor* _internal_add_charts(); + public: + const ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor& charts(int index) const; + ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor* add_charts(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor >& + charts() const; + + // repeated string errors = 13; + int errors_size() const; + private: + int _internal_errors_size() const; + public: + void clear_errors(); + const std::string& errors(int index) const; + std::string* mutable_errors(int index); + void set_errors(int index, const std::string& value); + void set_errors(int index, std::string&& value); + void set_errors(int index, const char* value); + void set_errors(int index, const char* value, size_t size); + std::string* add_errors(); + void add_errors(const std::string& value); + void add_errors(std::string&& value); + void add_errors(const char* value); + void add_errors(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& errors() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_errors(); + private: + const std::string& _internal_errors(int index) const; + std::string* _internal_add_errors(); + public: + + // optional string title = 1; + bool has_title() const; + private: + bool _internal_has_title() const; + public: + void clear_title(); + const std::string& title() const; + template + void set_title(ArgT0&& arg0, ArgT... args); + std::string* mutable_title(); + PROTOBUF_NODISCARD std::string* release_title(); + void set_allocated_title(std::string* title); + private: + const std::string& _internal_title() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_title(const std::string& value); + std::string* _internal_mutable_title(); + public: + + // string title_font = 2; + void clear_title_font(); + const std::string& title_font() const; + template + void set_title_font(ArgT0&& arg0, ArgT... args); + std::string* mutable_title_font(); + PROTOBUF_NODISCARD std::string* release_title_font(); + void set_allocated_title_font(std::string* title_font); + private: + const std::string& _internal_title_font() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_title_font(const std::string& value); + std::string* _internal_mutable_title_font(); + public: + + // string title_color = 3; + void clear_title_color(); + const std::string& title_color() const; + template + void set_title_color(ArgT0&& arg0, ArgT... args); + std::string* mutable_title_color(); + PROTOBUF_NODISCARD std::string* release_title_color(); + void set_allocated_title_color(std::string* title_color); + private: + const std::string& _internal_title_color() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_title_color(const std::string& value); + std::string* _internal_mutable_title_color(); + public: + + // int64 update_interval = 7 [jstype = JS_STRING]; + void clear_update_interval(); + int64_t update_interval() const; + void set_update_interval(int64_t value); + private: + int64_t _internal_update_interval() const; + void _internal_set_update_interval(int64_t value); + public: + + // int32 cols = 8; + void clear_cols(); + int32_t cols() const; + void set_cols(int32_t value); + private: + int32_t _internal_cols() const; + void _internal_set_cols(int32_t value); + public: + + // int32 rows = 9; + void clear_rows(); + int32_t rows() const; + void set_rows(int32_t value); + private: + int32_t _internal_rows() const; + void _internal_set_rows(int32_t value); + public: + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.script.grpc.FigureDescriptor) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor > charts_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField errors_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_font_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_color_; + int64_t update_interval_; + int32_t cols_; + int32_t rows_; + friend struct ::TableStruct_deephaven_2fproto_2fconsole_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// GetConsoleTypesRequest + +// ------------------------------------------------------------------- + +// GetConsoleTypesResponse + +// repeated string console_types = 1; +inline int GetConsoleTypesResponse::_internal_console_types_size() const { + return console_types_.size(); +} +inline int GetConsoleTypesResponse::console_types_size() const { + return _internal_console_types_size(); +} +inline void GetConsoleTypesResponse::clear_console_types() { + console_types_.Clear(); +} +inline std::string* GetConsoleTypesResponse::add_console_types() { + std::string* _s = _internal_add_console_types(); + // @@protoc_insertion_point(field_add_mutable:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) + return _s; +} +inline const std::string& GetConsoleTypesResponse::_internal_console_types(int index) const { + return console_types_.Get(index); +} +inline const std::string& GetConsoleTypesResponse::console_types(int index) const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) + return _internal_console_types(index); +} +inline std::string* GetConsoleTypesResponse::mutable_console_types(int index) { + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) + return console_types_.Mutable(index); +} +inline void GetConsoleTypesResponse::set_console_types(int index, const std::string& value) { + console_types_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) +} +inline void GetConsoleTypesResponse::set_console_types(int index, std::string&& value) { + console_types_.Mutable(index)->assign(std::move(value)); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) +} +inline void GetConsoleTypesResponse::set_console_types(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + console_types_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) +} +inline void GetConsoleTypesResponse::set_console_types(int index, const char* value, size_t size) { + console_types_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) +} +inline std::string* GetConsoleTypesResponse::_internal_add_console_types() { + return console_types_.Add(); +} +inline void GetConsoleTypesResponse::add_console_types(const std::string& value) { + console_types_.Add()->assign(value); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) +} +inline void GetConsoleTypesResponse::add_console_types(std::string&& value) { + console_types_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) +} +inline void GetConsoleTypesResponse::add_console_types(const char* value) { + GOOGLE_DCHECK(value != nullptr); + console_types_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) +} +inline void GetConsoleTypesResponse::add_console_types(const char* value, size_t size) { + console_types_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& +GetConsoleTypesResponse::console_types() const { + // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) + return console_types_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* +GetConsoleTypesResponse::mutable_console_types() { + // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) + return &console_types_; +} + +// ------------------------------------------------------------------- + +// StartConsoleRequest + +// .io.deephaven.proto.backplane.grpc.Ticket result_id = 1; +inline bool StartConsoleRequest::_internal_has_result_id() const { + return this != internal_default_instance() && result_id_ != nullptr; +} +inline bool StartConsoleRequest::has_result_id() const { + return _internal_has_result_id(); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& StartConsoleRequest::_internal_result_id() const { + const ::io::deephaven::proto::backplane::grpc::Ticket* p = result_id_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& StartConsoleRequest::result_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.result_id) + return _internal_result_id(); +} +inline void StartConsoleRequest::unsafe_arena_set_allocated_result_id( + ::io::deephaven::proto::backplane::grpc::Ticket* result_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id_); + } + result_id_ = result_id; + if (result_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.result_id) +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleRequest::release_result_id() { + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = result_id_; + result_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleRequest::unsafe_arena_release_result_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.result_id) + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = result_id_; + result_id_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleRequest::_internal_mutable_result_id() { + + if (result_id_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); + result_id_ = p; + } + return result_id_; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleRequest::mutable_result_id() { + ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_result_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.result_id) + return _msg; +} +inline void StartConsoleRequest::set_allocated_result_id(::io::deephaven::proto::backplane::grpc::Ticket* result_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id_); + } + if (result_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id)); + if (message_arena != submessage_arena) { + result_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, result_id, submessage_arena); + } + + } else { + + } + result_id_ = result_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.result_id) +} + +// string session_type = 2; +inline void StartConsoleRequest::clear_session_type() { + session_type_.ClearToEmpty(); +} +inline const std::string& StartConsoleRequest::session_type() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.session_type) + return _internal_session_type(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void StartConsoleRequest::set_session_type(ArgT0&& arg0, ArgT... args) { + + session_type_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.session_type) +} +inline std::string* StartConsoleRequest::mutable_session_type() { + std::string* _s = _internal_mutable_session_type(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.session_type) + return _s; +} +inline const std::string& StartConsoleRequest::_internal_session_type() const { + return session_type_.Get(); +} +inline void StartConsoleRequest::_internal_set_session_type(const std::string& value) { + + session_type_.Set(value, GetArenaForAllocation()); +} +inline std::string* StartConsoleRequest::_internal_mutable_session_type() { + + return session_type_.Mutable(GetArenaForAllocation()); +} +inline std::string* StartConsoleRequest::release_session_type() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.session_type) + return session_type_.Release(); +} +inline void StartConsoleRequest::set_allocated_session_type(std::string* session_type) { + if (session_type != nullptr) { + + } else { + + } + session_type_.SetAllocated(session_type, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (session_type_.IsDefault()) { + session_type_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.session_type) +} + +// ------------------------------------------------------------------- + +// StartConsoleResponse + +// .io.deephaven.proto.backplane.grpc.Ticket result_id = 1; +inline bool StartConsoleResponse::_internal_has_result_id() const { + return this != internal_default_instance() && result_id_ != nullptr; +} +inline bool StartConsoleResponse::has_result_id() const { + return _internal_has_result_id(); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& StartConsoleResponse::_internal_result_id() const { + const ::io::deephaven::proto::backplane::grpc::Ticket* p = result_id_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& StartConsoleResponse::result_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.StartConsoleResponse.result_id) + return _internal_result_id(); +} +inline void StartConsoleResponse::unsafe_arena_set_allocated_result_id( + ::io::deephaven::proto::backplane::grpc::Ticket* result_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id_); + } + result_id_ = result_id; + if (result_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.StartConsoleResponse.result_id) +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleResponse::release_result_id() { + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = result_id_; + result_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleResponse::unsafe_arena_release_result_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.StartConsoleResponse.result_id) + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = result_id_; + result_id_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleResponse::_internal_mutable_result_id() { + + if (result_id_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); + result_id_ = p; + } + return result_id_; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleResponse::mutable_result_id() { + ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_result_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.StartConsoleResponse.result_id) + return _msg; +} +inline void StartConsoleResponse::set_allocated_result_id(::io::deephaven::proto::backplane::grpc::Ticket* result_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id_); + } + if (result_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id)); + if (message_arena != submessage_arena) { + result_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, result_id, submessage_arena); + } + + } else { + + } + result_id_ = result_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.StartConsoleResponse.result_id) +} + +// ------------------------------------------------------------------- + +// GetHeapInfoRequest + +// ------------------------------------------------------------------- + +// GetHeapInfoResponse + +// int64 max_memory = 1 [jstype = JS_STRING]; +inline void GetHeapInfoResponse::clear_max_memory() { + max_memory_ = int64_t{0}; +} +inline int64_t GetHeapInfoResponse::_internal_max_memory() const { + return max_memory_; +} +inline int64_t GetHeapInfoResponse::max_memory() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse.max_memory) + return _internal_max_memory(); +} +inline void GetHeapInfoResponse::_internal_set_max_memory(int64_t value) { + + max_memory_ = value; +} +inline void GetHeapInfoResponse::set_max_memory(int64_t value) { + _internal_set_max_memory(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse.max_memory) +} + +// int64 total_memory = 2 [jstype = JS_STRING]; +inline void GetHeapInfoResponse::clear_total_memory() { + total_memory_ = int64_t{0}; +} +inline int64_t GetHeapInfoResponse::_internal_total_memory() const { + return total_memory_; +} +inline int64_t GetHeapInfoResponse::total_memory() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse.total_memory) + return _internal_total_memory(); +} +inline void GetHeapInfoResponse::_internal_set_total_memory(int64_t value) { + + total_memory_ = value; +} +inline void GetHeapInfoResponse::set_total_memory(int64_t value) { + _internal_set_total_memory(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse.total_memory) +} + +// int64 free_memory = 3 [jstype = JS_STRING]; +inline void GetHeapInfoResponse::clear_free_memory() { + free_memory_ = int64_t{0}; +} +inline int64_t GetHeapInfoResponse::_internal_free_memory() const { + return free_memory_; +} +inline int64_t GetHeapInfoResponse::free_memory() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse.free_memory) + return _internal_free_memory(); +} +inline void GetHeapInfoResponse::_internal_set_free_memory(int64_t value) { + + free_memory_ = value; +} +inline void GetHeapInfoResponse::set_free_memory(int64_t value) { + _internal_set_free_memory(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse.free_memory) +} + +// ------------------------------------------------------------------- + +// LogSubscriptionRequest + +// int64 last_seen_log_timestamp = 1 [jstype = JS_STRING]; +inline void LogSubscriptionRequest::clear_last_seen_log_timestamp() { + last_seen_log_timestamp_ = int64_t{0}; +} +inline int64_t LogSubscriptionRequest::_internal_last_seen_log_timestamp() const { + return last_seen_log_timestamp_; +} +inline int64_t LogSubscriptionRequest::last_seen_log_timestamp() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.last_seen_log_timestamp) + return _internal_last_seen_log_timestamp(); +} +inline void LogSubscriptionRequest::_internal_set_last_seen_log_timestamp(int64_t value) { + + last_seen_log_timestamp_ = value; +} +inline void LogSubscriptionRequest::set_last_seen_log_timestamp(int64_t value) { + _internal_set_last_seen_log_timestamp(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.last_seen_log_timestamp) +} + +// repeated string levels = 2; +inline int LogSubscriptionRequest::_internal_levels_size() const { + return levels_.size(); +} +inline int LogSubscriptionRequest::levels_size() const { + return _internal_levels_size(); +} +inline void LogSubscriptionRequest::clear_levels() { + levels_.Clear(); +} +inline std::string* LogSubscriptionRequest::add_levels() { + std::string* _s = _internal_add_levels(); + // @@protoc_insertion_point(field_add_mutable:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) + return _s; +} +inline const std::string& LogSubscriptionRequest::_internal_levels(int index) const { + return levels_.Get(index); +} +inline const std::string& LogSubscriptionRequest::levels(int index) const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) + return _internal_levels(index); +} +inline std::string* LogSubscriptionRequest::mutable_levels(int index) { + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) + return levels_.Mutable(index); +} +inline void LogSubscriptionRequest::set_levels(int index, const std::string& value) { + levels_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) +} +inline void LogSubscriptionRequest::set_levels(int index, std::string&& value) { + levels_.Mutable(index)->assign(std::move(value)); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) +} +inline void LogSubscriptionRequest::set_levels(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + levels_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) +} +inline void LogSubscriptionRequest::set_levels(int index, const char* value, size_t size) { + levels_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) +} +inline std::string* LogSubscriptionRequest::_internal_add_levels() { + return levels_.Add(); +} +inline void LogSubscriptionRequest::add_levels(const std::string& value) { + levels_.Add()->assign(value); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) +} +inline void LogSubscriptionRequest::add_levels(std::string&& value) { + levels_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) +} +inline void LogSubscriptionRequest::add_levels(const char* value) { + GOOGLE_DCHECK(value != nullptr); + levels_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) +} +inline void LogSubscriptionRequest::add_levels(const char* value, size_t size) { + levels_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& +LogSubscriptionRequest::levels() const { + // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) + return levels_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* +LogSubscriptionRequest::mutable_levels() { + // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) + return &levels_; +} + +// ------------------------------------------------------------------- + +// LogSubscriptionData + +// int64 micros = 1 [jstype = JS_STRING]; +inline void LogSubscriptionData::clear_micros() { + micros_ = int64_t{0}; +} +inline int64_t LogSubscriptionData::_internal_micros() const { + return micros_; +} +inline int64_t LogSubscriptionData::micros() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.micros) + return _internal_micros(); +} +inline void LogSubscriptionData::_internal_set_micros(int64_t value) { + + micros_ = value; +} +inline void LogSubscriptionData::set_micros(int64_t value) { + _internal_set_micros(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.micros) +} + +// string log_level = 2; +inline void LogSubscriptionData::clear_log_level() { + log_level_.ClearToEmpty(); +} +inline const std::string& LogSubscriptionData::log_level() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.log_level) + return _internal_log_level(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void LogSubscriptionData::set_log_level(ArgT0&& arg0, ArgT... args) { + + log_level_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.log_level) +} +inline std::string* LogSubscriptionData::mutable_log_level() { + std::string* _s = _internal_mutable_log_level(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.log_level) + return _s; +} +inline const std::string& LogSubscriptionData::_internal_log_level() const { + return log_level_.Get(); +} +inline void LogSubscriptionData::_internal_set_log_level(const std::string& value) { + + log_level_.Set(value, GetArenaForAllocation()); +} +inline std::string* LogSubscriptionData::_internal_mutable_log_level() { + + return log_level_.Mutable(GetArenaForAllocation()); +} +inline std::string* LogSubscriptionData::release_log_level() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.log_level) + return log_level_.Release(); +} +inline void LogSubscriptionData::set_allocated_log_level(std::string* log_level) { + if (log_level != nullptr) { + + } else { + + } + log_level_.SetAllocated(log_level, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (log_level_.IsDefault()) { + log_level_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.log_level) +} + +// string message = 3; +inline void LogSubscriptionData::clear_message() { + message_.ClearToEmpty(); +} +inline const std::string& LogSubscriptionData::message() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.message) + return _internal_message(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void LogSubscriptionData::set_message(ArgT0&& arg0, ArgT... args) { + + message_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.message) +} +inline std::string* LogSubscriptionData::mutable_message() { + std::string* _s = _internal_mutable_message(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.message) + return _s; +} +inline const std::string& LogSubscriptionData::_internal_message() const { + return message_.Get(); +} +inline void LogSubscriptionData::_internal_set_message(const std::string& value) { + + message_.Set(value, GetArenaForAllocation()); +} +inline std::string* LogSubscriptionData::_internal_mutable_message() { + + return message_.Mutable(GetArenaForAllocation()); +} +inline std::string* LogSubscriptionData::release_message() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.message) + return message_.Release(); +} +inline void LogSubscriptionData::set_allocated_message(std::string* message) { + if (message != nullptr) { + + } else { + + } + message_.SetAllocated(message, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (message_.IsDefault()) { + message_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.message) +} + +// ------------------------------------------------------------------- + +// ExecuteCommandRequest + +// .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; +inline bool ExecuteCommandRequest::_internal_has_console_id() const { + return this != internal_default_instance() && console_id_ != nullptr; +} +inline bool ExecuteCommandRequest::has_console_id() const { + return _internal_has_console_id(); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& ExecuteCommandRequest::_internal_console_id() const { + const ::io::deephaven::proto::backplane::grpc::Ticket* p = console_id_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& ExecuteCommandRequest::console_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.console_id) + return _internal_console_id(); +} +inline void ExecuteCommandRequest::unsafe_arena_set_allocated_console_id( + ::io::deephaven::proto::backplane::grpc::Ticket* console_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + } + console_id_ = console_id; + if (console_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.console_id) +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* ExecuteCommandRequest::release_console_id() { + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; + console_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* ExecuteCommandRequest::unsafe_arena_release_console_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.console_id) + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; + console_id_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* ExecuteCommandRequest::_internal_mutable_console_id() { + + if (console_id_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); + console_id_ = p; + } + return console_id_; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* ExecuteCommandRequest::mutable_console_id() { + ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_console_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.console_id) + return _msg; +} +inline void ExecuteCommandRequest::set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + } + if (console_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id)); + if (message_arena != submessage_arena) { + console_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, console_id, submessage_arena); + } + + } else { + + } + console_id_ = console_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.console_id) +} + +// string code = 3; +inline void ExecuteCommandRequest::clear_code() { + code_.ClearToEmpty(); +} +inline const std::string& ExecuteCommandRequest::code() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.code) + return _internal_code(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ExecuteCommandRequest::set_code(ArgT0&& arg0, ArgT... args) { + + code_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.code) +} +inline std::string* ExecuteCommandRequest::mutable_code() { + std::string* _s = _internal_mutable_code(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.code) + return _s; +} +inline const std::string& ExecuteCommandRequest::_internal_code() const { + return code_.Get(); +} +inline void ExecuteCommandRequest::_internal_set_code(const std::string& value) { + + code_.Set(value, GetArenaForAllocation()); +} +inline std::string* ExecuteCommandRequest::_internal_mutable_code() { + + return code_.Mutable(GetArenaForAllocation()); +} +inline std::string* ExecuteCommandRequest::release_code() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.code) + return code_.Release(); +} +inline void ExecuteCommandRequest::set_allocated_code(std::string* code) { + if (code != nullptr) { + + } else { + + } + code_.SetAllocated(code, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (code_.IsDefault()) { + code_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.code) +} + +// ------------------------------------------------------------------- + +// ExecuteCommandResponse + +// string error_message = 1; +inline void ExecuteCommandResponse::clear_error_message() { + error_message_.ClearToEmpty(); +} +inline const std::string& ExecuteCommandResponse::error_message() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.error_message) + return _internal_error_message(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ExecuteCommandResponse::set_error_message(ArgT0&& arg0, ArgT... args) { + + error_message_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.error_message) +} +inline std::string* ExecuteCommandResponse::mutable_error_message() { + std::string* _s = _internal_mutable_error_message(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.error_message) + return _s; +} +inline const std::string& ExecuteCommandResponse::_internal_error_message() const { + return error_message_.Get(); +} +inline void ExecuteCommandResponse::_internal_set_error_message(const std::string& value) { + + error_message_.Set(value, GetArenaForAllocation()); +} +inline std::string* ExecuteCommandResponse::_internal_mutable_error_message() { + + return error_message_.Mutable(GetArenaForAllocation()); +} +inline std::string* ExecuteCommandResponse::release_error_message() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.error_message) + return error_message_.Release(); +} +inline void ExecuteCommandResponse::set_allocated_error_message(std::string* error_message) { + if (error_message != nullptr) { + + } else { + + } + error_message_.SetAllocated(error_message, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (error_message_.IsDefault()) { + error_message_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.error_message) +} + +// .io.deephaven.proto.backplane.grpc.FieldsChangeUpdate changes = 2; +inline bool ExecuteCommandResponse::_internal_has_changes() const { + return this != internal_default_instance() && changes_ != nullptr; +} +inline bool ExecuteCommandResponse::has_changes() const { + return _internal_has_changes(); +} +inline const ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate& ExecuteCommandResponse::_internal_changes() const { + const ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* p = changes_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_FieldsChangeUpdate_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate& ExecuteCommandResponse::changes() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.changes) + return _internal_changes(); +} +inline void ExecuteCommandResponse::unsafe_arena_set_allocated_changes( + ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* changes) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(changes_); + } + changes_ = changes; + if (changes) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.changes) +} +inline ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* ExecuteCommandResponse::release_changes() { + + ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* temp = changes_; + changes_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* ExecuteCommandResponse::unsafe_arena_release_changes() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.changes) + + ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* temp = changes_; + changes_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* ExecuteCommandResponse::_internal_mutable_changes() { + + if (changes_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate>(GetArenaForAllocation()); + changes_ = p; + } + return changes_; +} +inline ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* ExecuteCommandResponse::mutable_changes() { + ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* _msg = _internal_mutable_changes(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.changes) + return _msg; +} +inline void ExecuteCommandResponse::set_allocated_changes(::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* changes) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(changes_); + } + if (changes) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(changes)); + if (message_arena != submessage_arena) { + changes = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, changes, submessage_arena); + } + + } else { + + } + changes_ = changes; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.changes) +} + +// ------------------------------------------------------------------- + +// BindTableToVariableRequest + +// .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; +inline bool BindTableToVariableRequest::_internal_has_console_id() const { + return this != internal_default_instance() && console_id_ != nullptr; +} +inline bool BindTableToVariableRequest::has_console_id() const { + return _internal_has_console_id(); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& BindTableToVariableRequest::_internal_console_id() const { + const ::io::deephaven::proto::backplane::grpc::Ticket* p = console_id_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& BindTableToVariableRequest::console_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.console_id) + return _internal_console_id(); +} +inline void BindTableToVariableRequest::unsafe_arena_set_allocated_console_id( + ::io::deephaven::proto::backplane::grpc::Ticket* console_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + } + console_id_ = console_id; + if (console_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.console_id) +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableRequest::release_console_id() { + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; + console_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableRequest::unsafe_arena_release_console_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.console_id) + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; + console_id_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableRequest::_internal_mutable_console_id() { + + if (console_id_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); + console_id_ = p; + } + return console_id_; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableRequest::mutable_console_id() { + ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_console_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.console_id) + return _msg; +} +inline void BindTableToVariableRequest::set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + } + if (console_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id)); + if (message_arena != submessage_arena) { + console_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, console_id, submessage_arena); + } + + } else { + + } + console_id_ = console_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.console_id) +} + +// string variable_name = 3; +inline void BindTableToVariableRequest::clear_variable_name() { + variable_name_.ClearToEmpty(); +} +inline const std::string& BindTableToVariableRequest::variable_name() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.variable_name) + return _internal_variable_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void BindTableToVariableRequest::set_variable_name(ArgT0&& arg0, ArgT... args) { + + variable_name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.variable_name) +} +inline std::string* BindTableToVariableRequest::mutable_variable_name() { + std::string* _s = _internal_mutable_variable_name(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.variable_name) + return _s; +} +inline const std::string& BindTableToVariableRequest::_internal_variable_name() const { + return variable_name_.Get(); +} +inline void BindTableToVariableRequest::_internal_set_variable_name(const std::string& value) { + + variable_name_.Set(value, GetArenaForAllocation()); +} +inline std::string* BindTableToVariableRequest::_internal_mutable_variable_name() { + + return variable_name_.Mutable(GetArenaForAllocation()); +} +inline std::string* BindTableToVariableRequest::release_variable_name() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.variable_name) + return variable_name_.Release(); +} +inline void BindTableToVariableRequest::set_allocated_variable_name(std::string* variable_name) { + if (variable_name != nullptr) { + + } else { + + } + variable_name_.SetAllocated(variable_name, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (variable_name_.IsDefault()) { + variable_name_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.variable_name) +} + +// .io.deephaven.proto.backplane.grpc.Ticket table_id = 4; +inline bool BindTableToVariableRequest::_internal_has_table_id() const { + return this != internal_default_instance() && table_id_ != nullptr; +} +inline bool BindTableToVariableRequest::has_table_id() const { + return _internal_has_table_id(); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& BindTableToVariableRequest::_internal_table_id() const { + const ::io::deephaven::proto::backplane::grpc::Ticket* p = table_id_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& BindTableToVariableRequest::table_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.table_id) + return _internal_table_id(); +} +inline void BindTableToVariableRequest::unsafe_arena_set_allocated_table_id( + ::io::deephaven::proto::backplane::grpc::Ticket* table_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(table_id_); + } + table_id_ = table_id; + if (table_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.table_id) +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableRequest::release_table_id() { + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = table_id_; + table_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableRequest::unsafe_arena_release_table_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.table_id) + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = table_id_; + table_id_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableRequest::_internal_mutable_table_id() { + + if (table_id_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); + table_id_ = p; + } + return table_id_; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableRequest::mutable_table_id() { + ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_table_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.table_id) + return _msg; +} +inline void BindTableToVariableRequest::set_allocated_table_id(::io::deephaven::proto::backplane::grpc::Ticket* table_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(table_id_); + } + if (table_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(table_id)); + if (message_arena != submessage_arena) { + table_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, table_id, submessage_arena); + } + + } else { + + } + table_id_ = table_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.table_id) +} + +// ------------------------------------------------------------------- + +// BindTableToVariableResponse + +// ------------------------------------------------------------------- + +// CancelCommandRequest + +// .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; +inline bool CancelCommandRequest::_internal_has_console_id() const { + return this != internal_default_instance() && console_id_ != nullptr; +} +inline bool CancelCommandRequest::has_console_id() const { + return _internal_has_console_id(); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& CancelCommandRequest::_internal_console_id() const { + const ::io::deephaven::proto::backplane::grpc::Ticket* p = console_id_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& CancelCommandRequest::console_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.console_id) + return _internal_console_id(); +} +inline void CancelCommandRequest::unsafe_arena_set_allocated_console_id( + ::io::deephaven::proto::backplane::grpc::Ticket* console_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + } + console_id_ = console_id; + if (console_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.console_id) +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::release_console_id() { + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; + console_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::unsafe_arena_release_console_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.console_id) + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; + console_id_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::_internal_mutable_console_id() { + + if (console_id_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); + console_id_ = p; + } + return console_id_; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::mutable_console_id() { + ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_console_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.console_id) + return _msg; +} +inline void CancelCommandRequest::set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + } + if (console_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id)); + if (message_arena != submessage_arena) { + console_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, console_id, submessage_arena); + } + + } else { + + } + console_id_ = console_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.console_id) +} + +// .io.deephaven.proto.backplane.grpc.Ticket command_id = 2; +inline bool CancelCommandRequest::_internal_has_command_id() const { + return this != internal_default_instance() && command_id_ != nullptr; +} +inline bool CancelCommandRequest::has_command_id() const { + return _internal_has_command_id(); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& CancelCommandRequest::_internal_command_id() const { + const ::io::deephaven::proto::backplane::grpc::Ticket* p = command_id_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& CancelCommandRequest::command_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.command_id) + return _internal_command_id(); +} +inline void CancelCommandRequest::unsafe_arena_set_allocated_command_id( + ::io::deephaven::proto::backplane::grpc::Ticket* command_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(command_id_); + } + command_id_ = command_id; + if (command_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.command_id) +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::release_command_id() { + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = command_id_; + command_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::unsafe_arena_release_command_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.command_id) + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = command_id_; + command_id_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::_internal_mutable_command_id() { + + if (command_id_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); + command_id_ = p; + } + return command_id_; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::mutable_command_id() { + ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_command_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.command_id) + return _msg; +} +inline void CancelCommandRequest::set_allocated_command_id(::io::deephaven::proto::backplane::grpc::Ticket* command_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(command_id_); + } + if (command_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(command_id)); + if (message_arena != submessage_arena) { + command_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, command_id, submessage_arena); + } + + } else { + + } + command_id_ = command_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.command_id) +} + +// ------------------------------------------------------------------- + +// CancelCommandResponse + +// ------------------------------------------------------------------- + +// CancelAutoCompleteRequest + +// .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; +inline bool CancelAutoCompleteRequest::_internal_has_console_id() const { + return this != internal_default_instance() && console_id_ != nullptr; +} +inline bool CancelAutoCompleteRequest::has_console_id() const { + return _internal_has_console_id(); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& CancelAutoCompleteRequest::_internal_console_id() const { + const ::io::deephaven::proto::backplane::grpc::Ticket* p = console_id_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& CancelAutoCompleteRequest::console_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest.console_id) + return _internal_console_id(); +} +inline void CancelAutoCompleteRequest::unsafe_arena_set_allocated_console_id( + ::io::deephaven::proto::backplane::grpc::Ticket* console_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + } + console_id_ = console_id; + if (console_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest.console_id) +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelAutoCompleteRequest::release_console_id() { + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; + console_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelAutoCompleteRequest::unsafe_arena_release_console_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest.console_id) + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; + console_id_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelAutoCompleteRequest::_internal_mutable_console_id() { + + if (console_id_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); + console_id_ = p; + } + return console_id_; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelAutoCompleteRequest::mutable_console_id() { + ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_console_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest.console_id) + return _msg; +} +inline void CancelAutoCompleteRequest::set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + } + if (console_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id)); + if (message_arena != submessage_arena) { + console_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, console_id, submessage_arena); + } + + } else { + + } + console_id_ = console_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest.console_id) +} + +// int32 request_id = 2; +inline void CancelAutoCompleteRequest::clear_request_id() { + request_id_ = 0; +} +inline int32_t CancelAutoCompleteRequest::_internal_request_id() const { + return request_id_; +} +inline int32_t CancelAutoCompleteRequest::request_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest.request_id) + return _internal_request_id(); +} +inline void CancelAutoCompleteRequest::_internal_set_request_id(int32_t value) { + + request_id_ = value; +} +inline void CancelAutoCompleteRequest::set_request_id(int32_t value) { + _internal_set_request_id(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest.request_id) +} + +// ------------------------------------------------------------------- + +// CancelAutoCompleteResponse + +// ------------------------------------------------------------------- + +// AutoCompleteRequest + +// .io.deephaven.proto.backplane.grpc.Ticket console_id = 5; +inline bool AutoCompleteRequest::_internal_has_console_id() const { + return this != internal_default_instance() && console_id_ != nullptr; +} +inline bool AutoCompleteRequest::has_console_id() const { + return _internal_has_console_id(); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& AutoCompleteRequest::_internal_console_id() const { + const ::io::deephaven::proto::backplane::grpc::Ticket* p = console_id_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& AutoCompleteRequest::console_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.console_id) + return _internal_console_id(); +} +inline void AutoCompleteRequest::unsafe_arena_set_allocated_console_id( + ::io::deephaven::proto::backplane::grpc::Ticket* console_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + } + console_id_ = console_id; + if (console_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.console_id) +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* AutoCompleteRequest::release_console_id() { + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; + console_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* AutoCompleteRequest::unsafe_arena_release_console_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.console_id) + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; + console_id_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* AutoCompleteRequest::_internal_mutable_console_id() { + + if (console_id_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); + console_id_ = p; + } + return console_id_; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* AutoCompleteRequest::mutable_console_id() { + ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_console_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.console_id) + return _msg; +} +inline void AutoCompleteRequest::set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + } + if (console_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id)); + if (message_arena != submessage_arena) { + console_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, console_id, submessage_arena); + } + + } else { + + } + console_id_ = console_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.console_id) +} + +// int32 request_id = 6; +inline void AutoCompleteRequest::clear_request_id() { + request_id_ = 0; +} +inline int32_t AutoCompleteRequest::_internal_request_id() const { + return request_id_; +} +inline int32_t AutoCompleteRequest::request_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.request_id) + return _internal_request_id(); +} +inline void AutoCompleteRequest::_internal_set_request_id(int32_t value) { + + request_id_ = value; +} +inline void AutoCompleteRequest::set_request_id(int32_t value) { + _internal_set_request_id(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.request_id) +} + +// .io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest open_document = 1; +inline bool AutoCompleteRequest::_internal_has_open_document() const { + return request_case() == kOpenDocument; +} +inline bool AutoCompleteRequest::has_open_document() const { + return _internal_has_open_document(); +} +inline void AutoCompleteRequest::set_has_open_document() { + _oneof_case_[0] = kOpenDocument; +} +inline void AutoCompleteRequest::clear_open_document() { + if (_internal_has_open_document()) { + if (GetArenaForAllocation() == nullptr) { + delete request_.open_document_; + } + clear_has_request(); + } +} +inline ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* AutoCompleteRequest::release_open_document() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.open_document) + if (_internal_has_open_document()) { + clear_has_request(); + ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* temp = request_.open_document_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + request_.open_document_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest& AutoCompleteRequest::_internal_open_document() const { + return _internal_has_open_document() + ? *request_.open_document_ + : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest&>(::io::deephaven::proto::backplane::script::grpc::_OpenDocumentRequest_default_instance_); +} +inline const ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest& AutoCompleteRequest::open_document() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.open_document) + return _internal_open_document(); +} +inline ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* AutoCompleteRequest::unsafe_arena_release_open_document() { + // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.open_document) + if (_internal_has_open_document()) { + clear_has_request(); + ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* temp = request_.open_document_; + request_.open_document_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void AutoCompleteRequest::unsafe_arena_set_allocated_open_document(::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* open_document) { + clear_request(); + if (open_document) { + set_has_open_document(); + request_.open_document_ = open_document; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.open_document) +} +inline ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* AutoCompleteRequest::_internal_mutable_open_document() { + if (!_internal_has_open_document()) { + clear_request(); + set_has_open_document(); + request_.open_document_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest >(GetArenaForAllocation()); + } + return request_.open_document_; +} +inline ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* AutoCompleteRequest::mutable_open_document() { + ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* _msg = _internal_mutable_open_document(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.open_document) + return _msg; +} + +// .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest change_document = 2; +inline bool AutoCompleteRequest::_internal_has_change_document() const { + return request_case() == kChangeDocument; +} +inline bool AutoCompleteRequest::has_change_document() const { + return _internal_has_change_document(); +} +inline void AutoCompleteRequest::set_has_change_document() { + _oneof_case_[0] = kChangeDocument; +} +inline void AutoCompleteRequest::clear_change_document() { + if (_internal_has_change_document()) { + if (GetArenaForAllocation() == nullptr) { + delete request_.change_document_; + } + clear_has_request(); + } +} +inline ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* AutoCompleteRequest::release_change_document() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.change_document) + if (_internal_has_change_document()) { + clear_has_request(); + ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* temp = request_.change_document_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + request_.change_document_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest& AutoCompleteRequest::_internal_change_document() const { + return _internal_has_change_document() + ? *request_.change_document_ + : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest&>(::io::deephaven::proto::backplane::script::grpc::_ChangeDocumentRequest_default_instance_); +} +inline const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest& AutoCompleteRequest::change_document() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.change_document) + return _internal_change_document(); +} +inline ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* AutoCompleteRequest::unsafe_arena_release_change_document() { + // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.change_document) + if (_internal_has_change_document()) { + clear_has_request(); + ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* temp = request_.change_document_; + request_.change_document_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void AutoCompleteRequest::unsafe_arena_set_allocated_change_document(::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* change_document) { + clear_request(); + if (change_document) { + set_has_change_document(); + request_.change_document_ = change_document; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.change_document) +} +inline ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* AutoCompleteRequest::_internal_mutable_change_document() { + if (!_internal_has_change_document()) { + clear_request(); + set_has_change_document(); + request_.change_document_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest >(GetArenaForAllocation()); + } + return request_.change_document_; +} +inline ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* AutoCompleteRequest::mutable_change_document() { + ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* _msg = _internal_mutable_change_document(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.change_document) + return _msg; +} + +// .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest get_completion_items = 3; +inline bool AutoCompleteRequest::_internal_has_get_completion_items() const { + return request_case() == kGetCompletionItems; +} +inline bool AutoCompleteRequest::has_get_completion_items() const { + return _internal_has_get_completion_items(); +} +inline void AutoCompleteRequest::set_has_get_completion_items() { + _oneof_case_[0] = kGetCompletionItems; +} +inline void AutoCompleteRequest::clear_get_completion_items() { + if (_internal_has_get_completion_items()) { + if (GetArenaForAllocation() == nullptr) { + delete request_.get_completion_items_; + } + clear_has_request(); + } +} +inline ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* AutoCompleteRequest::release_get_completion_items() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_completion_items) + if (_internal_has_get_completion_items()) { + clear_has_request(); + ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* temp = request_.get_completion_items_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + request_.get_completion_items_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest& AutoCompleteRequest::_internal_get_completion_items() const { + return _internal_has_get_completion_items() + ? *request_.get_completion_items_ + : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest&>(::io::deephaven::proto::backplane::script::grpc::_GetCompletionItemsRequest_default_instance_); +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest& AutoCompleteRequest::get_completion_items() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_completion_items) + return _internal_get_completion_items(); +} +inline ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* AutoCompleteRequest::unsafe_arena_release_get_completion_items() { + // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_completion_items) + if (_internal_has_get_completion_items()) { + clear_has_request(); + ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* temp = request_.get_completion_items_; + request_.get_completion_items_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void AutoCompleteRequest::unsafe_arena_set_allocated_get_completion_items(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* get_completion_items) { + clear_request(); + if (get_completion_items) { + set_has_get_completion_items(); + request_.get_completion_items_ = get_completion_items; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_completion_items) +} +inline ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* AutoCompleteRequest::_internal_mutable_get_completion_items() { + if (!_internal_has_get_completion_items()) { + clear_request(); + set_has_get_completion_items(); + request_.get_completion_items_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest >(GetArenaForAllocation()); + } + return request_.get_completion_items_; +} +inline ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* AutoCompleteRequest::mutable_get_completion_items() { + ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* _msg = _internal_mutable_get_completion_items(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_completion_items) + return _msg; +} + +// .io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest get_signature_help = 7; +inline bool AutoCompleteRequest::_internal_has_get_signature_help() const { + return request_case() == kGetSignatureHelp; +} +inline bool AutoCompleteRequest::has_get_signature_help() const { + return _internal_has_get_signature_help(); +} +inline void AutoCompleteRequest::set_has_get_signature_help() { + _oneof_case_[0] = kGetSignatureHelp; +} +inline void AutoCompleteRequest::clear_get_signature_help() { + if (_internal_has_get_signature_help()) { + if (GetArenaForAllocation() == nullptr) { + delete request_.get_signature_help_; + } + clear_has_request(); + } +} +inline ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* AutoCompleteRequest::release_get_signature_help() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_signature_help) + if (_internal_has_get_signature_help()) { + clear_has_request(); + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* temp = request_.get_signature_help_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + request_.get_signature_help_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest& AutoCompleteRequest::_internal_get_signature_help() const { + return _internal_has_get_signature_help() + ? *request_.get_signature_help_ + : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest&>(::io::deephaven::proto::backplane::script::grpc::_GetSignatureHelpRequest_default_instance_); +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest& AutoCompleteRequest::get_signature_help() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_signature_help) + return _internal_get_signature_help(); +} +inline ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* AutoCompleteRequest::unsafe_arena_release_get_signature_help() { + // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_signature_help) + if (_internal_has_get_signature_help()) { + clear_has_request(); + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* temp = request_.get_signature_help_; + request_.get_signature_help_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void AutoCompleteRequest::unsafe_arena_set_allocated_get_signature_help(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* get_signature_help) { + clear_request(); + if (get_signature_help) { + set_has_get_signature_help(); + request_.get_signature_help_ = get_signature_help; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_signature_help) +} +inline ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* AutoCompleteRequest::_internal_mutable_get_signature_help() { + if (!_internal_has_get_signature_help()) { + clear_request(); + set_has_get_signature_help(); + request_.get_signature_help_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest >(GetArenaForAllocation()); + } + return request_.get_signature_help_; +} +inline ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* AutoCompleteRequest::mutable_get_signature_help() { + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpRequest* _msg = _internal_mutable_get_signature_help(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_signature_help) + return _msg; +} + +// .io.deephaven.proto.backplane.script.grpc.GetHoverRequest get_hover = 8; +inline bool AutoCompleteRequest::_internal_has_get_hover() const { + return request_case() == kGetHover; +} +inline bool AutoCompleteRequest::has_get_hover() const { + return _internal_has_get_hover(); +} +inline void AutoCompleteRequest::set_has_get_hover() { + _oneof_case_[0] = kGetHover; +} +inline void AutoCompleteRequest::clear_get_hover() { + if (_internal_has_get_hover()) { + if (GetArenaForAllocation() == nullptr) { + delete request_.get_hover_; + } + clear_has_request(); + } +} +inline ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* AutoCompleteRequest::release_get_hover() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_hover) + if (_internal_has_get_hover()) { + clear_has_request(); + ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* temp = request_.get_hover_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + request_.get_hover_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest& AutoCompleteRequest::_internal_get_hover() const { + return _internal_has_get_hover() + ? *request_.get_hover_ + : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest&>(::io::deephaven::proto::backplane::script::grpc::_GetHoverRequest_default_instance_); +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest& AutoCompleteRequest::get_hover() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_hover) + return _internal_get_hover(); +} +inline ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* AutoCompleteRequest::unsafe_arena_release_get_hover() { + // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_hover) + if (_internal_has_get_hover()) { + clear_has_request(); + ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* temp = request_.get_hover_; + request_.get_hover_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void AutoCompleteRequest::unsafe_arena_set_allocated_get_hover(::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* get_hover) { + clear_request(); + if (get_hover) { + set_has_get_hover(); + request_.get_hover_ = get_hover; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_hover) +} +inline ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* AutoCompleteRequest::_internal_mutable_get_hover() { + if (!_internal_has_get_hover()) { + clear_request(); + set_has_get_hover(); + request_.get_hover_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest >(GetArenaForAllocation()); + } + return request_.get_hover_; +} +inline ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* AutoCompleteRequest::mutable_get_hover() { + ::io::deephaven::proto::backplane::script::grpc::GetHoverRequest* _msg = _internal_mutable_get_hover(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_hover) + return _msg; +} + +// .io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest get_diagnostic = 9; +inline bool AutoCompleteRequest::_internal_has_get_diagnostic() const { + return request_case() == kGetDiagnostic; +} +inline bool AutoCompleteRequest::has_get_diagnostic() const { + return _internal_has_get_diagnostic(); +} +inline void AutoCompleteRequest::set_has_get_diagnostic() { + _oneof_case_[0] = kGetDiagnostic; +} +inline void AutoCompleteRequest::clear_get_diagnostic() { + if (_internal_has_get_diagnostic()) { + if (GetArenaForAllocation() == nullptr) { + delete request_.get_diagnostic_; + } + clear_has_request(); + } +} +inline ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* AutoCompleteRequest::release_get_diagnostic() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_diagnostic) + if (_internal_has_get_diagnostic()) { + clear_has_request(); + ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* temp = request_.get_diagnostic_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + request_.get_diagnostic_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest& AutoCompleteRequest::_internal_get_diagnostic() const { + return _internal_has_get_diagnostic() + ? *request_.get_diagnostic_ + : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest&>(::io::deephaven::proto::backplane::script::grpc::_GetDiagnosticRequest_default_instance_); +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest& AutoCompleteRequest::get_diagnostic() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_diagnostic) + return _internal_get_diagnostic(); +} +inline ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* AutoCompleteRequest::unsafe_arena_release_get_diagnostic() { + // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_diagnostic) + if (_internal_has_get_diagnostic()) { + clear_has_request(); + ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* temp = request_.get_diagnostic_; + request_.get_diagnostic_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void AutoCompleteRequest::unsafe_arena_set_allocated_get_diagnostic(::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* get_diagnostic) { + clear_request(); + if (get_diagnostic) { + set_has_get_diagnostic(); + request_.get_diagnostic_ = get_diagnostic; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_diagnostic) +} +inline ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* AutoCompleteRequest::_internal_mutable_get_diagnostic() { + if (!_internal_has_get_diagnostic()) { + clear_request(); + set_has_get_diagnostic(); + request_.get_diagnostic_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest >(GetArenaForAllocation()); + } + return request_.get_diagnostic_; +} +inline ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* AutoCompleteRequest::mutable_get_diagnostic() { + ::io::deephaven::proto::backplane::script::grpc::GetDiagnosticRequest* _msg = _internal_mutable_get_diagnostic(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_diagnostic) + return _msg; +} + +// .io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest close_document = 4; +inline bool AutoCompleteRequest::_internal_has_close_document() const { + return request_case() == kCloseDocument; +} +inline bool AutoCompleteRequest::has_close_document() const { + return _internal_has_close_document(); +} +inline void AutoCompleteRequest::set_has_close_document() { + _oneof_case_[0] = kCloseDocument; +} +inline void AutoCompleteRequest::clear_close_document() { + if (_internal_has_close_document()) { + if (GetArenaForAllocation() == nullptr) { + delete request_.close_document_; + } + clear_has_request(); + } +} +inline ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* AutoCompleteRequest::release_close_document() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.close_document) + if (_internal_has_close_document()) { + clear_has_request(); + ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* temp = request_.close_document_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + request_.close_document_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest& AutoCompleteRequest::_internal_close_document() const { + return _internal_has_close_document() + ? *request_.close_document_ + : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest&>(::io::deephaven::proto::backplane::script::grpc::_CloseDocumentRequest_default_instance_); +} +inline const ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest& AutoCompleteRequest::close_document() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.close_document) + return _internal_close_document(); +} +inline ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* AutoCompleteRequest::unsafe_arena_release_close_document() { + // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.close_document) + if (_internal_has_close_document()) { + clear_has_request(); + ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* temp = request_.close_document_; + request_.close_document_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void AutoCompleteRequest::unsafe_arena_set_allocated_close_document(::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* close_document) { + clear_request(); + if (close_document) { + set_has_close_document(); + request_.close_document_ = close_document; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.close_document) +} +inline ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* AutoCompleteRequest::_internal_mutable_close_document() { + if (!_internal_has_close_document()) { + clear_request(); + set_has_close_document(); + request_.close_document_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest >(GetArenaForAllocation()); + } + return request_.close_document_; +} +inline ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* AutoCompleteRequest::mutable_close_document() { + ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* _msg = _internal_mutable_close_document(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.close_document) + return _msg; +} + +inline bool AutoCompleteRequest::has_request() const { + return request_case() != REQUEST_NOT_SET; +} +inline void AutoCompleteRequest::clear_has_request() { + _oneof_case_[0] = REQUEST_NOT_SET; +} +inline AutoCompleteRequest::RequestCase AutoCompleteRequest::request_case() const { + return AutoCompleteRequest::RequestCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// AutoCompleteResponse + +// int32 request_id = 2; +inline void AutoCompleteResponse::clear_request_id() { + request_id_ = 0; +} +inline int32_t AutoCompleteResponse::_internal_request_id() const { + return request_id_; +} +inline int32_t AutoCompleteResponse::request_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.request_id) + return _internal_request_id(); +} +inline void AutoCompleteResponse::_internal_set_request_id(int32_t value) { + + request_id_ = value; +} +inline void AutoCompleteResponse::set_request_id(int32_t value) { + _internal_set_request_id(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.request_id) +} + +// bool success = 3; +inline void AutoCompleteResponse::clear_success() { + success_ = false; +} +inline bool AutoCompleteResponse::_internal_success() const { + return success_; +} +inline bool AutoCompleteResponse::success() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.success) + return _internal_success(); +} +inline void AutoCompleteResponse::_internal_set_success(bool value) { + + success_ = value; +} +inline void AutoCompleteResponse::set_success(bool value) { + _internal_set_success(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.success) +} + +// .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse completion_items = 1; +inline bool AutoCompleteResponse::_internal_has_completion_items() const { + return response_case() == kCompletionItems; +} +inline bool AutoCompleteResponse::has_completion_items() const { + return _internal_has_completion_items(); +} +inline void AutoCompleteResponse::set_has_completion_items() { + _oneof_case_[0] = kCompletionItems; +} +inline void AutoCompleteResponse::clear_completion_items() { + if (_internal_has_completion_items()) { + if (GetArenaForAllocation() == nullptr) { + delete response_.completion_items_; + } + clear_has_response(); + } +} +inline ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* AutoCompleteResponse::release_completion_items() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.completion_items) + if (_internal_has_completion_items()) { + clear_has_response(); + ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* temp = response_.completion_items_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + response_.completion_items_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse& AutoCompleteResponse::_internal_completion_items() const { + return _internal_has_completion_items() + ? *response_.completion_items_ + : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse&>(::io::deephaven::proto::backplane::script::grpc::_GetCompletionItemsResponse_default_instance_); +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse& AutoCompleteResponse::completion_items() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.completion_items) + return _internal_completion_items(); +} +inline ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* AutoCompleteResponse::unsafe_arena_release_completion_items() { + // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.completion_items) + if (_internal_has_completion_items()) { + clear_has_response(); + ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* temp = response_.completion_items_; + response_.completion_items_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void AutoCompleteResponse::unsafe_arena_set_allocated_completion_items(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* completion_items) { + clear_response(); + if (completion_items) { + set_has_completion_items(); + response_.completion_items_ = completion_items; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.completion_items) +} +inline ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* AutoCompleteResponse::_internal_mutable_completion_items() { + if (!_internal_has_completion_items()) { + clear_response(); + set_has_completion_items(); + response_.completion_items_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse >(GetArenaForAllocation()); + } + return response_.completion_items_; +} +inline ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* AutoCompleteResponse::mutable_completion_items() { + ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* _msg = _internal_mutable_completion_items(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.completion_items) + return _msg; +} + +// .io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse signatures = 4; +inline bool AutoCompleteResponse::_internal_has_signatures() const { + return response_case() == kSignatures; +} +inline bool AutoCompleteResponse::has_signatures() const { + return _internal_has_signatures(); +} +inline void AutoCompleteResponse::set_has_signatures() { + _oneof_case_[0] = kSignatures; +} +inline void AutoCompleteResponse::clear_signatures() { + if (_internal_has_signatures()) { + if (GetArenaForAllocation() == nullptr) { + delete response_.signatures_; + } + clear_has_response(); + } +} +inline ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* AutoCompleteResponse::release_signatures() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.signatures) + if (_internal_has_signatures()) { + clear_has_response(); + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* temp = response_.signatures_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + response_.signatures_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse& AutoCompleteResponse::_internal_signatures() const { + return _internal_has_signatures() + ? *response_.signatures_ + : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse&>(::io::deephaven::proto::backplane::script::grpc::_GetSignatureHelpResponse_default_instance_); +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse& AutoCompleteResponse::signatures() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.signatures) + return _internal_signatures(); +} +inline ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* AutoCompleteResponse::unsafe_arena_release_signatures() { + // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.signatures) + if (_internal_has_signatures()) { + clear_has_response(); + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* temp = response_.signatures_; + response_.signatures_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void AutoCompleteResponse::unsafe_arena_set_allocated_signatures(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* signatures) { + clear_response(); + if (signatures) { + set_has_signatures(); + response_.signatures_ = signatures; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.signatures) +} +inline ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* AutoCompleteResponse::_internal_mutable_signatures() { + if (!_internal_has_signatures()) { + clear_response(); + set_has_signatures(); + response_.signatures_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse >(GetArenaForAllocation()); + } + return response_.signatures_; +} +inline ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* AutoCompleteResponse::mutable_signatures() { + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* _msg = _internal_mutable_signatures(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.signatures) + return _msg; +} + +// .io.deephaven.proto.backplane.script.grpc.GetHoverResponse hover = 5; +inline bool AutoCompleteResponse::_internal_has_hover() const { + return response_case() == kHover; +} +inline bool AutoCompleteResponse::has_hover() const { + return _internal_has_hover(); +} +inline void AutoCompleteResponse::set_has_hover() { + _oneof_case_[0] = kHover; +} +inline void AutoCompleteResponse::clear_hover() { + if (_internal_has_hover()) { + if (GetArenaForAllocation() == nullptr) { + delete response_.hover_; + } + clear_has_response(); + } +} +inline ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* AutoCompleteResponse::release_hover() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.hover) + if (_internal_has_hover()) { + clear_has_response(); + ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* temp = response_.hover_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + response_.hover_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse& AutoCompleteResponse::_internal_hover() const { + return _internal_has_hover() + ? *response_.hover_ + : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse&>(::io::deephaven::proto::backplane::script::grpc::_GetHoverResponse_default_instance_); +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse& AutoCompleteResponse::hover() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.hover) + return _internal_hover(); +} +inline ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* AutoCompleteResponse::unsafe_arena_release_hover() { + // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.hover) + if (_internal_has_hover()) { + clear_has_response(); + ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* temp = response_.hover_; + response_.hover_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void AutoCompleteResponse::unsafe_arena_set_allocated_hover(::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* hover) { + clear_response(); + if (hover) { + set_has_hover(); + response_.hover_ = hover; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.hover) +} +inline ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* AutoCompleteResponse::_internal_mutable_hover() { + if (!_internal_has_hover()) { + clear_response(); + set_has_hover(); + response_.hover_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse >(GetArenaForAllocation()); + } + return response_.hover_; +} +inline ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* AutoCompleteResponse::mutable_hover() { + ::io::deephaven::proto::backplane::script::grpc::GetHoverResponse* _msg = _internal_mutable_hover(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.hover) + return _msg; +} + +// .io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse diagnostic = 6; +inline bool AutoCompleteResponse::_internal_has_diagnostic() const { + return response_case() == kDiagnostic; +} +inline bool AutoCompleteResponse::has_diagnostic() const { + return _internal_has_diagnostic(); +} +inline void AutoCompleteResponse::set_has_diagnostic() { + _oneof_case_[0] = kDiagnostic; +} +inline void AutoCompleteResponse::clear_diagnostic() { + if (_internal_has_diagnostic()) { + if (GetArenaForAllocation() == nullptr) { + delete response_.diagnostic_; + } + clear_has_response(); + } +} +inline ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* AutoCompleteResponse::release_diagnostic() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.diagnostic) + if (_internal_has_diagnostic()) { + clear_has_response(); + ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* temp = response_.diagnostic_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + response_.diagnostic_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse& AutoCompleteResponse::_internal_diagnostic() const { + return _internal_has_diagnostic() + ? *response_.diagnostic_ + : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse&>(::io::deephaven::proto::backplane::script::grpc::_GetPullDiagnosticResponse_default_instance_); +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse& AutoCompleteResponse::diagnostic() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.diagnostic) + return _internal_diagnostic(); +} +inline ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* AutoCompleteResponse::unsafe_arena_release_diagnostic() { + // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.diagnostic) + if (_internal_has_diagnostic()) { + clear_has_response(); + ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* temp = response_.diagnostic_; + response_.diagnostic_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void AutoCompleteResponse::unsafe_arena_set_allocated_diagnostic(::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* diagnostic) { + clear_response(); + if (diagnostic) { + set_has_diagnostic(); + response_.diagnostic_ = diagnostic; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.diagnostic) +} +inline ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* AutoCompleteResponse::_internal_mutable_diagnostic() { + if (!_internal_has_diagnostic()) { + clear_response(); + set_has_diagnostic(); + response_.diagnostic_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse >(GetArenaForAllocation()); + } + return response_.diagnostic_; +} +inline ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* AutoCompleteResponse::mutable_diagnostic() { + ::io::deephaven::proto::backplane::script::grpc::GetPullDiagnosticResponse* _msg = _internal_mutable_diagnostic(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.diagnostic) + return _msg; +} + +// .io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse diagnostic_publish = 7; +inline bool AutoCompleteResponse::_internal_has_diagnostic_publish() const { + return response_case() == kDiagnosticPublish; +} +inline bool AutoCompleteResponse::has_diagnostic_publish() const { + return _internal_has_diagnostic_publish(); +} +inline void AutoCompleteResponse::set_has_diagnostic_publish() { + _oneof_case_[0] = kDiagnosticPublish; +} +inline void AutoCompleteResponse::clear_diagnostic_publish() { + if (_internal_has_diagnostic_publish()) { + if (GetArenaForAllocation() == nullptr) { + delete response_.diagnostic_publish_; + } + clear_has_response(); + } +} +inline ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* AutoCompleteResponse::release_diagnostic_publish() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.diagnostic_publish) + if (_internal_has_diagnostic_publish()) { + clear_has_response(); + ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* temp = response_.diagnostic_publish_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + response_.diagnostic_publish_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse& AutoCompleteResponse::_internal_diagnostic_publish() const { + return _internal_has_diagnostic_publish() + ? *response_.diagnostic_publish_ + : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse&>(::io::deephaven::proto::backplane::script::grpc::_GetPublishDiagnosticResponse_default_instance_); +} +inline const ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse& AutoCompleteResponse::diagnostic_publish() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.diagnostic_publish) + return _internal_diagnostic_publish(); +} +inline ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* AutoCompleteResponse::unsafe_arena_release_diagnostic_publish() { + // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.diagnostic_publish) + if (_internal_has_diagnostic_publish()) { + clear_has_response(); + ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* temp = response_.diagnostic_publish_; + response_.diagnostic_publish_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void AutoCompleteResponse::unsafe_arena_set_allocated_diagnostic_publish(::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* diagnostic_publish) { + clear_response(); + if (diagnostic_publish) { + set_has_diagnostic_publish(); + response_.diagnostic_publish_ = diagnostic_publish; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.diagnostic_publish) +} +inline ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* AutoCompleteResponse::_internal_mutable_diagnostic_publish() { + if (!_internal_has_diagnostic_publish()) { + clear_response(); + set_has_diagnostic_publish(); + response_.diagnostic_publish_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse >(GetArenaForAllocation()); + } + return response_.diagnostic_publish_; +} +inline ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* AutoCompleteResponse::mutable_diagnostic_publish() { + ::io::deephaven::proto::backplane::script::grpc::GetPublishDiagnosticResponse* _msg = _internal_mutable_diagnostic_publish(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.diagnostic_publish) + return _msg; +} + +inline bool AutoCompleteResponse::has_response() const { + return response_case() != RESPONSE_NOT_SET; +} +inline void AutoCompleteResponse::clear_has_response() { + _oneof_case_[0] = RESPONSE_NOT_SET; +} +inline AutoCompleteResponse::ResponseCase AutoCompleteResponse::response_case() const { + return AutoCompleteResponse::ResponseCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// BrowserNextResponse + +// ------------------------------------------------------------------- + +// OpenDocumentRequest + +// .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; +inline bool OpenDocumentRequest::_internal_has_console_id() const { + return this != internal_default_instance() && console_id_ != nullptr; +} +inline bool OpenDocumentRequest::has_console_id() const { + return _internal_has_console_id(); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& OpenDocumentRequest::_internal_console_id() const { + const ::io::deephaven::proto::backplane::grpc::Ticket* p = console_id_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& OpenDocumentRequest::console_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.console_id) + return _internal_console_id(); +} +inline void OpenDocumentRequest::unsafe_arena_set_allocated_console_id( + ::io::deephaven::proto::backplane::grpc::Ticket* console_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + } + console_id_ = console_id; + if (console_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.console_id) +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* OpenDocumentRequest::release_console_id() { + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; + console_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* OpenDocumentRequest::unsafe_arena_release_console_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.console_id) + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; + console_id_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* OpenDocumentRequest::_internal_mutable_console_id() { + + if (console_id_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); + console_id_ = p; + } + return console_id_; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* OpenDocumentRequest::mutable_console_id() { + ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_console_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.console_id) + return _msg; +} +inline void OpenDocumentRequest::set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + } + if (console_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id)); + if (message_arena != submessage_arena) { + console_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, console_id, submessage_arena); + } + + } else { + + } + console_id_ = console_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.console_id) +} + +// .io.deephaven.proto.backplane.script.grpc.TextDocumentItem text_document = 2; +inline bool OpenDocumentRequest::_internal_has_text_document() const { + return this != internal_default_instance() && text_document_ != nullptr; +} +inline bool OpenDocumentRequest::has_text_document() const { + return _internal_has_text_document(); +} +inline void OpenDocumentRequest::clear_text_document() { + if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { + delete text_document_; + } + text_document_ = nullptr; +} +inline const ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem& OpenDocumentRequest::_internal_text_document() const { + const ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* p = text_document_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_TextDocumentItem_default_instance_); +} +inline const ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem& OpenDocumentRequest::text_document() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.text_document) + return _internal_text_document(); +} +inline void OpenDocumentRequest::unsafe_arena_set_allocated_text_document( + ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* text_document) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(text_document_); + } + text_document_ = text_document; + if (text_document) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.text_document) +} +inline ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* OpenDocumentRequest::release_text_document() { + + ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* temp = text_document_; + text_document_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* OpenDocumentRequest::unsafe_arena_release_text_document() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.text_document) + + ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* temp = text_document_; + text_document_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* OpenDocumentRequest::_internal_mutable_text_document() { + + if (text_document_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::TextDocumentItem>(GetArenaForAllocation()); + text_document_ = p; + } + return text_document_; +} +inline ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* OpenDocumentRequest::mutable_text_document() { + ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* _msg = _internal_mutable_text_document(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.text_document) + return _msg; +} +inline void OpenDocumentRequest::set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* text_document) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete text_document_; + } + if (text_document) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(text_document); + if (message_arena != submessage_arena) { + text_document = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, text_document, submessage_arena); + } + + } else { + + } + text_document_ = text_document; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.text_document) +} + +// ------------------------------------------------------------------- + +// TextDocumentItem + +// string uri = 1; +inline void TextDocumentItem::clear_uri() { + uri_.ClearToEmpty(); +} +inline const std::string& TextDocumentItem::uri() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.uri) + return _internal_uri(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void TextDocumentItem::set_uri(ArgT0&& arg0, ArgT... args) { + + uri_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.uri) +} +inline std::string* TextDocumentItem::mutable_uri() { + std::string* _s = _internal_mutable_uri(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.uri) + return _s; +} +inline const std::string& TextDocumentItem::_internal_uri() const { + return uri_.Get(); +} +inline void TextDocumentItem::_internal_set_uri(const std::string& value) { + + uri_.Set(value, GetArenaForAllocation()); +} +inline std::string* TextDocumentItem::_internal_mutable_uri() { + + return uri_.Mutable(GetArenaForAllocation()); +} +inline std::string* TextDocumentItem::release_uri() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.uri) + return uri_.Release(); +} +inline void TextDocumentItem::set_allocated_uri(std::string* uri) { + if (uri != nullptr) { + + } else { + + } + uri_.SetAllocated(uri, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (uri_.IsDefault()) { + uri_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.uri) +} + +// string language_id = 2; +inline void TextDocumentItem::clear_language_id() { + language_id_.ClearToEmpty(); +} +inline const std::string& TextDocumentItem::language_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.language_id) + return _internal_language_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void TextDocumentItem::set_language_id(ArgT0&& arg0, ArgT... args) { + + language_id_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.language_id) +} +inline std::string* TextDocumentItem::mutable_language_id() { + std::string* _s = _internal_mutable_language_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.language_id) + return _s; +} +inline const std::string& TextDocumentItem::_internal_language_id() const { + return language_id_.Get(); +} +inline void TextDocumentItem::_internal_set_language_id(const std::string& value) { + + language_id_.Set(value, GetArenaForAllocation()); +} +inline std::string* TextDocumentItem::_internal_mutable_language_id() { + + return language_id_.Mutable(GetArenaForAllocation()); +} +inline std::string* TextDocumentItem::release_language_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.language_id) + return language_id_.Release(); +} +inline void TextDocumentItem::set_allocated_language_id(std::string* language_id) { + if (language_id != nullptr) { + + } else { + + } + language_id_.SetAllocated(language_id, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (language_id_.IsDefault()) { + language_id_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.language_id) +} + +// int32 version = 3; +inline void TextDocumentItem::clear_version() { + version_ = 0; +} +inline int32_t TextDocumentItem::_internal_version() const { + return version_; +} +inline int32_t TextDocumentItem::version() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.version) + return _internal_version(); +} +inline void TextDocumentItem::_internal_set_version(int32_t value) { + + version_ = value; +} +inline void TextDocumentItem::set_version(int32_t value) { + _internal_set_version(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.version) +} + +// string text = 4; +inline void TextDocumentItem::clear_text() { + text_.ClearToEmpty(); +} +inline const std::string& TextDocumentItem::text() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.text) + return _internal_text(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void TextDocumentItem::set_text(ArgT0&& arg0, ArgT... args) { + + text_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.text) +} +inline std::string* TextDocumentItem::mutable_text() { + std::string* _s = _internal_mutable_text(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.text) + return _s; +} +inline const std::string& TextDocumentItem::_internal_text() const { + return text_.Get(); +} +inline void TextDocumentItem::_internal_set_text(const std::string& value) { + + text_.Set(value, GetArenaForAllocation()); +} +inline std::string* TextDocumentItem::_internal_mutable_text() { + + return text_.Mutable(GetArenaForAllocation()); +} +inline std::string* TextDocumentItem::release_text() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.text) + return text_.Release(); +} +inline void TextDocumentItem::set_allocated_text(std::string* text) { + if (text != nullptr) { + + } else { + + } + text_.SetAllocated(text, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (text_.IsDefault()) { + text_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.text) +} + +// ------------------------------------------------------------------- + +// CloseDocumentRequest + +// .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; +inline bool CloseDocumentRequest::_internal_has_console_id() const { + return this != internal_default_instance() && console_id_ != nullptr; +} +inline bool CloseDocumentRequest::has_console_id() const { + return _internal_has_console_id(); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& CloseDocumentRequest::_internal_console_id() const { + const ::io::deephaven::proto::backplane::grpc::Ticket* p = console_id_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& CloseDocumentRequest::console_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.console_id) + return _internal_console_id(); +} +inline void CloseDocumentRequest::unsafe_arena_set_allocated_console_id( + ::io::deephaven::proto::backplane::grpc::Ticket* console_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + } + console_id_ = console_id; + if (console_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.console_id) +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* CloseDocumentRequest::release_console_id() { + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; + console_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* CloseDocumentRequest::unsafe_arena_release_console_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.console_id) + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; + console_id_ = nullptr; + return temp; } -inline const std::string& GetConsoleTypesResponse::_internal_console_types(int index) const { - return console_types_.Get(index); +inline ::io::deephaven::proto::backplane::grpc::Ticket* CloseDocumentRequest::_internal_mutable_console_id() { + + if (console_id_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); + console_id_ = p; + } + return console_id_; } -inline const std::string& GetConsoleTypesResponse::console_types(int index) const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) - return _internal_console_types(index); +inline ::io::deephaven::proto::backplane::grpc::Ticket* CloseDocumentRequest::mutable_console_id() { + ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_console_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.console_id) + return _msg; } -inline std::string* GetConsoleTypesResponse::mutable_console_types(int index) { - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) - return console_types_.Mutable(index); +inline void CloseDocumentRequest::set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + } + if (console_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id)); + if (message_arena != submessage_arena) { + console_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, console_id, submessage_arena); + } + + } else { + + } + console_id_ = console_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.console_id) } -inline void GetConsoleTypesResponse::set_console_types(int index, const std::string& value) { - console_types_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) + +// .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; +inline bool CloseDocumentRequest::_internal_has_text_document() const { + return this != internal_default_instance() && text_document_ != nullptr; } -inline void GetConsoleTypesResponse::set_console_types(int index, std::string&& value) { - console_types_.Mutable(index)->assign(std::move(value)); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) +inline bool CloseDocumentRequest::has_text_document() const { + return _internal_has_text_document(); } -inline void GetConsoleTypesResponse::set_console_types(int index, const char* value) { - GOOGLE_DCHECK(value != nullptr); - console_types_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set_char:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) +inline void CloseDocumentRequest::clear_text_document() { + if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { + delete text_document_; + } + text_document_ = nullptr; } -inline void GetConsoleTypesResponse::set_console_types(int index, const char* value, size_t size) { - console_types_.Mutable(index)->assign( - reinterpret_cast(value), size); - // @@protoc_insertion_point(field_set_pointer:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) +inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& CloseDocumentRequest::_internal_text_document() const { + const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* p = text_document_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_VersionedTextDocumentIdentifier_default_instance_); } -inline std::string* GetConsoleTypesResponse::_internal_add_console_types() { - return console_types_.Add(); +inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& CloseDocumentRequest::text_document() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.text_document) + return _internal_text_document(); } -inline void GetConsoleTypesResponse::add_console_types(const std::string& value) { - console_types_.Add()->assign(value); - // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) +inline void CloseDocumentRequest::unsafe_arena_set_allocated_text_document( + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(text_document_); + } + text_document_ = text_document; + if (text_document) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.text_document) } -inline void GetConsoleTypesResponse::add_console_types(std::string&& value) { - console_types_.Add(std::move(value)); - // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* CloseDocumentRequest::release_text_document() { + + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* temp = text_document_; + text_document_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; } -inline void GetConsoleTypesResponse::add_console_types(const char* value) { - GOOGLE_DCHECK(value != nullptr); - console_types_.Add()->assign(value); - // @@protoc_insertion_point(field_add_char:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* CloseDocumentRequest::unsafe_arena_release_text_document() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.text_document) + + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* temp = text_document_; + text_document_ = nullptr; + return temp; } -inline void GetConsoleTypesResponse::add_console_types(const char* value, size_t size) { - console_types_.Add()->assign(reinterpret_cast(value), size); - // @@protoc_insertion_point(field_add_pointer:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* CloseDocumentRequest::_internal_mutable_text_document() { + + if (text_document_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier>(GetArenaForAllocation()); + text_document_ = p; + } + return text_document_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& -GetConsoleTypesResponse::console_types() const { - // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) - return console_types_; +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* CloseDocumentRequest::mutable_text_document() { + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* _msg = _internal_mutable_text_document(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.text_document) + return _msg; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* -GetConsoleTypesResponse::mutable_console_types() { - // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse.console_types) - return &console_types_; +inline void CloseDocumentRequest::set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete text_document_; + } + if (text_document) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(text_document); + if (message_arena != submessage_arena) { + text_document = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, text_document, submessage_arena); + } + + } else { + + } + text_document_ = text_document; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.text_document) } // ------------------------------------------------------------------- -// StartConsoleRequest +// ChangeDocumentRequest_TextDocumentContentChangeEvent -// .io.deephaven.proto.backplane.grpc.Ticket result_id = 1; -inline bool StartConsoleRequest::_internal_has_result_id() const { - return this != internal_default_instance() && result_id_ != nullptr; +// .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; +inline bool ChangeDocumentRequest_TextDocumentContentChangeEvent::_internal_has_range() const { + return this != internal_default_instance() && range_ != nullptr; } -inline bool StartConsoleRequest::has_result_id() const { - return _internal_has_result_id(); +inline bool ChangeDocumentRequest_TextDocumentContentChangeEvent::has_range() const { + return _internal_has_range(); } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& StartConsoleRequest::_internal_result_id() const { - const ::io::deephaven::proto::backplane::grpc::Ticket* p = result_id_; - return p != nullptr ? *p : reinterpret_cast( - ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::clear_range() { + if (GetArenaForAllocation() == nullptr && range_ != nullptr) { + delete range_; + } + range_ = nullptr; } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& StartConsoleRequest::result_id() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.result_id) - return _internal_result_id(); +inline const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& ChangeDocumentRequest_TextDocumentContentChangeEvent::_internal_range() const { + const ::io::deephaven::proto::backplane::script::grpc::DocumentRange* p = range_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_DocumentRange_default_instance_); } -inline void StartConsoleRequest::unsafe_arena_set_allocated_result_id( - ::io::deephaven::proto::backplane::grpc::Ticket* result_id) { +inline const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& ChangeDocumentRequest_TextDocumentContentChangeEvent::range() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.range) + return _internal_range(); +} +inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::unsafe_arena_set_allocated_range( + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(range_); } - result_id_ = result_id; - if (result_id) { + range_ = range; + if (range) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.result_id) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.range) } -inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleRequest::release_result_id() { +inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* ChangeDocumentRequest_TextDocumentContentChangeEvent::release_range() { - ::io::deephaven::proto::backplane::grpc::Ticket* temp = result_id_; - result_id_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* temp = range_; + range_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -9789,134 +15824,153 @@ inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleRequest::rel #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleRequest::unsafe_arena_release_result_id() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.result_id) +inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* ChangeDocumentRequest_TextDocumentContentChangeEvent::unsafe_arena_release_range() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.range) - ::io::deephaven::proto::backplane::grpc::Ticket* temp = result_id_; - result_id_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* temp = range_; + range_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleRequest::_internal_mutable_result_id() { +inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* ChangeDocumentRequest_TextDocumentContentChangeEvent::_internal_mutable_range() { - if (result_id_ == nullptr) { - auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); - result_id_ = p; + if (range_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::DocumentRange>(GetArenaForAllocation()); + range_ = p; } - return result_id_; + return range_; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleRequest::mutable_result_id() { - ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_result_id(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.result_id) +inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* ChangeDocumentRequest_TextDocumentContentChangeEvent::mutable_range() { + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* _msg = _internal_mutable_range(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.range) return _msg; } -inline void StartConsoleRequest::set_allocated_result_id(::io::deephaven::proto::backplane::grpc::Ticket* result_id) { +inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::set_allocated_range(::io::deephaven::proto::backplane::script::grpc::DocumentRange* range) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id_); + delete range_; } - if (result_id) { + if (range) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id)); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(range); if (message_arena != submessage_arena) { - result_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, result_id, submessage_arena); + range = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, range, submessage_arena); } } else { } - result_id_ = result_id; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.result_id) + range_ = range; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.range) +} + +// int32 range_length = 2; +inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::clear_range_length() { + range_length_ = 0; +} +inline int32_t ChangeDocumentRequest_TextDocumentContentChangeEvent::_internal_range_length() const { + return range_length_; +} +inline int32_t ChangeDocumentRequest_TextDocumentContentChangeEvent::range_length() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.range_length) + return _internal_range_length(); +} +inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::_internal_set_range_length(int32_t value) { + + range_length_ = value; +} +inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::set_range_length(int32_t value) { + _internal_set_range_length(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.range_length) } -// string session_type = 2; -inline void StartConsoleRequest::clear_session_type() { - session_type_.ClearToEmpty(); +// string text = 3; +inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::clear_text() { + text_.ClearToEmpty(); } -inline const std::string& StartConsoleRequest::session_type() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.session_type) - return _internal_session_type(); +inline const std::string& ChangeDocumentRequest_TextDocumentContentChangeEvent::text() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.text) + return _internal_text(); } template inline PROTOBUF_ALWAYS_INLINE -void StartConsoleRequest::set_session_type(ArgT0&& arg0, ArgT... args) { +void ChangeDocumentRequest_TextDocumentContentChangeEvent::set_text(ArgT0&& arg0, ArgT... args) { - session_type_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.session_type) + text_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.text) } -inline std::string* StartConsoleRequest::mutable_session_type() { - std::string* _s = _internal_mutable_session_type(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.session_type) +inline std::string* ChangeDocumentRequest_TextDocumentContentChangeEvent::mutable_text() { + std::string* _s = _internal_mutable_text(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.text) return _s; } -inline const std::string& StartConsoleRequest::_internal_session_type() const { - return session_type_.Get(); +inline const std::string& ChangeDocumentRequest_TextDocumentContentChangeEvent::_internal_text() const { + return text_.Get(); } -inline void StartConsoleRequest::_internal_set_session_type(const std::string& value) { +inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::_internal_set_text(const std::string& value) { - session_type_.Set(value, GetArenaForAllocation()); + text_.Set(value, GetArenaForAllocation()); } -inline std::string* StartConsoleRequest::_internal_mutable_session_type() { +inline std::string* ChangeDocumentRequest_TextDocumentContentChangeEvent::_internal_mutable_text() { - return session_type_.Mutable(GetArenaForAllocation()); + return text_.Mutable(GetArenaForAllocation()); } -inline std::string* StartConsoleRequest::release_session_type() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.session_type) - return session_type_.Release(); +inline std::string* ChangeDocumentRequest_TextDocumentContentChangeEvent::release_text() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.text) + return text_.Release(); } -inline void StartConsoleRequest::set_allocated_session_type(std::string* session_type) { - if (session_type != nullptr) { +inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::set_allocated_text(std::string* text) { + if (text != nullptr) { } else { } - session_type_.SetAllocated(session_type, GetArenaForAllocation()); + text_.SetAllocated(text, GetArenaForAllocation()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (session_type_.IsDefault()) { - session_type_.Set("", GetArenaForAllocation()); + if (text_.IsDefault()) { + text_.Set("", GetArenaForAllocation()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.session_type) + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.text) } // ------------------------------------------------------------------- -// StartConsoleResponse +// ChangeDocumentRequest -// .io.deephaven.proto.backplane.grpc.Ticket result_id = 1; -inline bool StartConsoleResponse::_internal_has_result_id() const { - return this != internal_default_instance() && result_id_ != nullptr; +// .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; +inline bool ChangeDocumentRequest::_internal_has_console_id() const { + return this != internal_default_instance() && console_id_ != nullptr; } -inline bool StartConsoleResponse::has_result_id() const { - return _internal_has_result_id(); +inline bool ChangeDocumentRequest::has_console_id() const { + return _internal_has_console_id(); } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& StartConsoleResponse::_internal_result_id() const { - const ::io::deephaven::proto::backplane::grpc::Ticket* p = result_id_; +inline const ::io::deephaven::proto::backplane::grpc::Ticket& ChangeDocumentRequest::_internal_console_id() const { + const ::io::deephaven::proto::backplane::grpc::Ticket* p = console_id_; return p != nullptr ? *p : reinterpret_cast( ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& StartConsoleResponse::result_id() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.StartConsoleResponse.result_id) - return _internal_result_id(); +inline const ::io::deephaven::proto::backplane::grpc::Ticket& ChangeDocumentRequest::console_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.console_id) + return _internal_console_id(); } -inline void StartConsoleResponse::unsafe_arena_set_allocated_result_id( - ::io::deephaven::proto::backplane::grpc::Ticket* result_id) { +inline void ChangeDocumentRequest::unsafe_arena_set_allocated_console_id( + ::io::deephaven::proto::backplane::grpc::Ticket* console_id) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); } - result_id_ = result_id; - if (result_id) { + console_id_ = console_id; + if (console_id) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.StartConsoleResponse.result_id) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.console_id) } -inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleResponse::release_result_id() { +inline ::io::deephaven::proto::backplane::grpc::Ticket* ChangeDocumentRequest::release_console_id() { - ::io::deephaven::proto::backplane::grpc::Ticket* temp = result_id_; - result_id_ = nullptr; + ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; + console_id_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -9928,375 +15982,310 @@ inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleResponse::re #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleResponse::unsafe_arena_release_result_id() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.StartConsoleResponse.result_id) +inline ::io::deephaven::proto::backplane::grpc::Ticket* ChangeDocumentRequest::unsafe_arena_release_console_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.console_id) - ::io::deephaven::proto::backplane::grpc::Ticket* temp = result_id_; - result_id_ = nullptr; + ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; + console_id_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleResponse::_internal_mutable_result_id() { +inline ::io::deephaven::proto::backplane::grpc::Ticket* ChangeDocumentRequest::_internal_mutable_console_id() { - if (result_id_ == nullptr) { + if (console_id_ == nullptr) { auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); - result_id_ = p; + console_id_ = p; } - return result_id_; + return console_id_; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* StartConsoleResponse::mutable_result_id() { - ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_result_id(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.StartConsoleResponse.result_id) +inline ::io::deephaven::proto::backplane::grpc::Ticket* ChangeDocumentRequest::mutable_console_id() { + ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_console_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.console_id) return _msg; } -inline void StartConsoleResponse::set_allocated_result_id(::io::deephaven::proto::backplane::grpc::Ticket* result_id) { +inline void ChangeDocumentRequest::set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id_); + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); } - if (result_id) { + if (console_id) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id)); + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id)); if (message_arena != submessage_arena) { - result_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, result_id, submessage_arena); + console_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, console_id, submessage_arena); } } else { } - result_id_ = result_id; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.StartConsoleResponse.result_id) -} - -// ------------------------------------------------------------------- - -// GetHeapInfoRequest - -// ------------------------------------------------------------------- - -// GetHeapInfoResponse - -// int64 max_memory = 1 [jstype = JS_STRING]; -inline void GetHeapInfoResponse::clear_max_memory() { - max_memory_ = int64_t{0}; -} -inline int64_t GetHeapInfoResponse::_internal_max_memory() const { - return max_memory_; -} -inline int64_t GetHeapInfoResponse::max_memory() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse.max_memory) - return _internal_max_memory(); -} -inline void GetHeapInfoResponse::_internal_set_max_memory(int64_t value) { - - max_memory_ = value; -} -inline void GetHeapInfoResponse::set_max_memory(int64_t value) { - _internal_set_max_memory(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse.max_memory) -} - -// int64 total_memory = 2 [jstype = JS_STRING]; -inline void GetHeapInfoResponse::clear_total_memory() { - total_memory_ = int64_t{0}; -} -inline int64_t GetHeapInfoResponse::_internal_total_memory() const { - return total_memory_; -} -inline int64_t GetHeapInfoResponse::total_memory() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse.total_memory) - return _internal_total_memory(); -} -inline void GetHeapInfoResponse::_internal_set_total_memory(int64_t value) { - - total_memory_ = value; -} -inline void GetHeapInfoResponse::set_total_memory(int64_t value) { - _internal_set_total_memory(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse.total_memory) -} - -// int64 free_memory = 3 [jstype = JS_STRING]; -inline void GetHeapInfoResponse::clear_free_memory() { - free_memory_ = int64_t{0}; -} -inline int64_t GetHeapInfoResponse::_internal_free_memory() const { - return free_memory_; -} -inline int64_t GetHeapInfoResponse::free_memory() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse.free_memory) - return _internal_free_memory(); -} -inline void GetHeapInfoResponse::_internal_set_free_memory(int64_t value) { - - free_memory_ = value; -} -inline void GetHeapInfoResponse::set_free_memory(int64_t value) { - _internal_set_free_memory(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse.free_memory) + console_id_ = console_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.console_id) } -// ------------------------------------------------------------------- - -// LogSubscriptionRequest - -// int64 last_seen_log_timestamp = 1 [jstype = JS_STRING]; -inline void LogSubscriptionRequest::clear_last_seen_log_timestamp() { - last_seen_log_timestamp_ = int64_t{0}; -} -inline int64_t LogSubscriptionRequest::_internal_last_seen_log_timestamp() const { - return last_seen_log_timestamp_; -} -inline int64_t LogSubscriptionRequest::last_seen_log_timestamp() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.last_seen_log_timestamp) - return _internal_last_seen_log_timestamp(); +// .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; +inline bool ChangeDocumentRequest::_internal_has_text_document() const { + return this != internal_default_instance() && text_document_ != nullptr; } -inline void LogSubscriptionRequest::_internal_set_last_seen_log_timestamp(int64_t value) { - - last_seen_log_timestamp_ = value; +inline bool ChangeDocumentRequest::has_text_document() const { + return _internal_has_text_document(); } -inline void LogSubscriptionRequest::set_last_seen_log_timestamp(int64_t value) { - _internal_set_last_seen_log_timestamp(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.last_seen_log_timestamp) +inline void ChangeDocumentRequest::clear_text_document() { + if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { + delete text_document_; + } + text_document_ = nullptr; } - -// repeated string levels = 2; -inline int LogSubscriptionRequest::_internal_levels_size() const { - return levels_.size(); +inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& ChangeDocumentRequest::_internal_text_document() const { + const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* p = text_document_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_VersionedTextDocumentIdentifier_default_instance_); } -inline int LogSubscriptionRequest::levels_size() const { - return _internal_levels_size(); +inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& ChangeDocumentRequest::text_document() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.text_document) + return _internal_text_document(); } -inline void LogSubscriptionRequest::clear_levels() { - levels_.Clear(); +inline void ChangeDocumentRequest::unsafe_arena_set_allocated_text_document( + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(text_document_); + } + text_document_ = text_document; + if (text_document) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.text_document) } -inline std::string* LogSubscriptionRequest::add_levels() { - std::string* _s = _internal_add_levels(); - // @@protoc_insertion_point(field_add_mutable:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) - return _s; +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* ChangeDocumentRequest::release_text_document() { + + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* temp = text_document_; + text_document_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; } -inline const std::string& LogSubscriptionRequest::_internal_levels(int index) const { - return levels_.Get(index); +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* ChangeDocumentRequest::unsafe_arena_release_text_document() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.text_document) + + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* temp = text_document_; + text_document_ = nullptr; + return temp; } -inline const std::string& LogSubscriptionRequest::levels(int index) const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) - return _internal_levels(index); +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* ChangeDocumentRequest::_internal_mutable_text_document() { + + if (text_document_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier>(GetArenaForAllocation()); + text_document_ = p; + } + return text_document_; } -inline std::string* LogSubscriptionRequest::mutable_levels(int index) { - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) - return levels_.Mutable(index); +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* ChangeDocumentRequest::mutable_text_document() { + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* _msg = _internal_mutable_text_document(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.text_document) + return _msg; } -inline void LogSubscriptionRequest::set_levels(int index, const std::string& value) { - levels_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) +inline void ChangeDocumentRequest::set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete text_document_; + } + if (text_document) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(text_document); + if (message_arena != submessage_arena) { + text_document = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, text_document, submessage_arena); + } + + } else { + + } + text_document_ = text_document; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.text_document) } -inline void LogSubscriptionRequest::set_levels(int index, std::string&& value) { - levels_.Mutable(index)->assign(std::move(value)); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) + +// repeated .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent content_changes = 3; +inline int ChangeDocumentRequest::_internal_content_changes_size() const { + return content_changes_.size(); } -inline void LogSubscriptionRequest::set_levels(int index, const char* value) { - GOOGLE_DCHECK(value != nullptr); - levels_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set_char:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) +inline int ChangeDocumentRequest::content_changes_size() const { + return _internal_content_changes_size(); } -inline void LogSubscriptionRequest::set_levels(int index, const char* value, size_t size) { - levels_.Mutable(index)->assign( - reinterpret_cast(value), size); - // @@protoc_insertion_point(field_set_pointer:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) +inline void ChangeDocumentRequest::clear_content_changes() { + content_changes_.Clear(); } -inline std::string* LogSubscriptionRequest::_internal_add_levels() { - return levels_.Add(); +inline ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent* ChangeDocumentRequest::mutable_content_changes(int index) { + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.content_changes) + return content_changes_.Mutable(index); } -inline void LogSubscriptionRequest::add_levels(const std::string& value) { - levels_.Add()->assign(value); - // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent >* +ChangeDocumentRequest::mutable_content_changes() { + // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.content_changes) + return &content_changes_; } -inline void LogSubscriptionRequest::add_levels(std::string&& value) { - levels_.Add(std::move(value)); - // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) +inline const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent& ChangeDocumentRequest::_internal_content_changes(int index) const { + return content_changes_.Get(index); } -inline void LogSubscriptionRequest::add_levels(const char* value) { - GOOGLE_DCHECK(value != nullptr); - levels_.Add()->assign(value); - // @@protoc_insertion_point(field_add_char:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) +inline const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent& ChangeDocumentRequest::content_changes(int index) const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.content_changes) + return _internal_content_changes(index); } -inline void LogSubscriptionRequest::add_levels(const char* value, size_t size) { - levels_.Add()->assign(reinterpret_cast(value), size); - // @@protoc_insertion_point(field_add_pointer:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) +inline ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent* ChangeDocumentRequest::_internal_add_content_changes() { + return content_changes_.Add(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& -LogSubscriptionRequest::levels() const { - // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) - return levels_; +inline ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent* ChangeDocumentRequest::add_content_changes() { + ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent* _add = _internal_add_content_changes(); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.content_changes) + return _add; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* -LogSubscriptionRequest::mutable_levels() { - // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest.levels) - return &levels_; +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent >& +ChangeDocumentRequest::content_changes() const { + // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.content_changes) + return content_changes_; } // ------------------------------------------------------------------- -// LogSubscriptionData - -// int64 micros = 1 [jstype = JS_STRING]; -inline void LogSubscriptionData::clear_micros() { - micros_ = int64_t{0}; -} -inline int64_t LogSubscriptionData::_internal_micros() const { - return micros_; -} -inline int64_t LogSubscriptionData::micros() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.micros) - return _internal_micros(); -} -inline void LogSubscriptionData::_internal_set_micros(int64_t value) { - - micros_ = value; -} -inline void LogSubscriptionData::set_micros(int64_t value) { - _internal_set_micros(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.micros) -} +// DocumentRange -// string log_level = 2; -inline void LogSubscriptionData::clear_log_level() { - log_level_.ClearToEmpty(); -} -inline const std::string& LogSubscriptionData::log_level() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.log_level) - return _internal_log_level(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void LogSubscriptionData::set_log_level(ArgT0&& arg0, ArgT... args) { - - log_level_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.log_level) -} -inline std::string* LogSubscriptionData::mutable_log_level() { - std::string* _s = _internal_mutable_log_level(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.log_level) - return _s; +// .io.deephaven.proto.backplane.script.grpc.Position start = 1; +inline bool DocumentRange::_internal_has_start() const { + return this != internal_default_instance() && start_ != nullptr; } -inline const std::string& LogSubscriptionData::_internal_log_level() const { - return log_level_.Get(); +inline bool DocumentRange::has_start() const { + return _internal_has_start(); } -inline void LogSubscriptionData::_internal_set_log_level(const std::string& value) { - - log_level_.Set(value, GetArenaForAllocation()); +inline void DocumentRange::clear_start() { + if (GetArenaForAllocation() == nullptr && start_ != nullptr) { + delete start_; + } + start_ = nullptr; } -inline std::string* LogSubscriptionData::_internal_mutable_log_level() { - - return log_level_.Mutable(GetArenaForAllocation()); +inline const ::io::deephaven::proto::backplane::script::grpc::Position& DocumentRange::_internal_start() const { + const ::io::deephaven::proto::backplane::script::grpc::Position* p = start_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_Position_default_instance_); } -inline std::string* LogSubscriptionData::release_log_level() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.log_level) - return log_level_.Release(); +inline const ::io::deephaven::proto::backplane::script::grpc::Position& DocumentRange::start() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.DocumentRange.start) + return _internal_start(); } -inline void LogSubscriptionData::set_allocated_log_level(std::string* log_level) { - if (log_level != nullptr) { +inline void DocumentRange::unsafe_arena_set_allocated_start( + ::io::deephaven::proto::backplane::script::grpc::Position* start) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(start_); + } + start_ = start; + if (start) { } else { } - log_level_.SetAllocated(log_level, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (log_level_.IsDefault()) { - log_level_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.log_level) -} - -// string message = 3; -inline void LogSubscriptionData::clear_message() { - message_.ClearToEmpty(); -} -inline const std::string& LogSubscriptionData::message() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.message) - return _internal_message(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void LogSubscriptionData::set_message(ArgT0&& arg0, ArgT... args) { - - message_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.message) -} -inline std::string* LogSubscriptionData::mutable_message() { - std::string* _s = _internal_mutable_message(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.message) - return _s; + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.DocumentRange.start) } -inline const std::string& LogSubscriptionData::_internal_message() const { - return message_.Get(); +inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange::release_start() { + + ::io::deephaven::proto::backplane::script::grpc::Position* temp = start_; + start_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; } -inline void LogSubscriptionData::_internal_set_message(const std::string& value) { +inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange::unsafe_arena_release_start() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.DocumentRange.start) - message_.Set(value, GetArenaForAllocation()); + ::io::deephaven::proto::backplane::script::grpc::Position* temp = start_; + start_ = nullptr; + return temp; } -inline std::string* LogSubscriptionData::_internal_mutable_message() { +inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange::_internal_mutable_start() { - return message_.Mutable(GetArenaForAllocation()); + if (start_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::Position>(GetArenaForAllocation()); + start_ = p; + } + return start_; } -inline std::string* LogSubscriptionData::release_message() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.message) - return message_.Release(); +inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange::mutable_start() { + ::io::deephaven::proto::backplane::script::grpc::Position* _msg = _internal_mutable_start(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.DocumentRange.start) + return _msg; } -inline void LogSubscriptionData::set_allocated_message(std::string* message) { - if (message != nullptr) { +inline void DocumentRange::set_allocated_start(::io::deephaven::proto::backplane::script::grpc::Position* start) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete start_; + } + if (start) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(start); + if (message_arena != submessage_arena) { + start = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, start, submessage_arena); + } } else { } - message_.SetAllocated(message, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (message_.IsDefault()) { - message_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.LogSubscriptionData.message) + start_ = start; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.DocumentRange.start) } -// ------------------------------------------------------------------- - -// ExecuteCommandRequest - -// .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; -inline bool ExecuteCommandRequest::_internal_has_console_id() const { - return this != internal_default_instance() && console_id_ != nullptr; +// .io.deephaven.proto.backplane.script.grpc.Position end = 2; +inline bool DocumentRange::_internal_has_end() const { + return this != internal_default_instance() && end_ != nullptr; } -inline bool ExecuteCommandRequest::has_console_id() const { - return _internal_has_console_id(); +inline bool DocumentRange::has_end() const { + return _internal_has_end(); } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& ExecuteCommandRequest::_internal_console_id() const { - const ::io::deephaven::proto::backplane::grpc::Ticket* p = console_id_; - return p != nullptr ? *p : reinterpret_cast( - ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +inline void DocumentRange::clear_end() { + if (GetArenaForAllocation() == nullptr && end_ != nullptr) { + delete end_; + } + end_ = nullptr; } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& ExecuteCommandRequest::console_id() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.console_id) - return _internal_console_id(); +inline const ::io::deephaven::proto::backplane::script::grpc::Position& DocumentRange::_internal_end() const { + const ::io::deephaven::proto::backplane::script::grpc::Position* p = end_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_Position_default_instance_); } -inline void ExecuteCommandRequest::unsafe_arena_set_allocated_console_id( - ::io::deephaven::proto::backplane::grpc::Ticket* console_id) { +inline const ::io::deephaven::proto::backplane::script::grpc::Position& DocumentRange::end() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.DocumentRange.end) + return _internal_end(); +} +inline void DocumentRange::unsafe_arena_set_allocated_end( + ::io::deephaven::proto::backplane::script::grpc::Position* end) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(end_); } - console_id_ = console_id; - if (console_id) { + end_ = end; + if (end) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.console_id) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.DocumentRange.end) } -inline ::io::deephaven::proto::backplane::grpc::Ticket* ExecuteCommandRequest::release_console_id() { +inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange::release_end() { - ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; - console_id_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::Position* temp = end_; + end_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -10308,257 +16297,289 @@ inline ::io::deephaven::proto::backplane::grpc::Ticket* ExecuteCommandRequest::r #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* ExecuteCommandRequest::unsafe_arena_release_console_id() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.console_id) +inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange::unsafe_arena_release_end() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.DocumentRange.end) - ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; - console_id_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::Position* temp = end_; + end_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* ExecuteCommandRequest::_internal_mutable_console_id() { +inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange::_internal_mutable_end() { - if (console_id_ == nullptr) { - auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); - console_id_ = p; + if (end_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::Position>(GetArenaForAllocation()); + end_ = p; } - return console_id_; + return end_; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* ExecuteCommandRequest::mutable_console_id() { - ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_console_id(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.console_id) +inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange::mutable_end() { + ::io::deephaven::proto::backplane::script::grpc::Position* _msg = _internal_mutable_end(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.DocumentRange.end) return _msg; } -inline void ExecuteCommandRequest::set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id) { +inline void DocumentRange::set_allocated_end(::io::deephaven::proto::backplane::script::grpc::Position* end) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + delete end_; } - if (console_id) { + if (end) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id)); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(end); if (message_arena != submessage_arena) { - console_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, console_id, submessage_arena); + end = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, end, submessage_arena); } } else { } - console_id_ = console_id; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.console_id) + end_ = end; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.DocumentRange.end) } -// string code = 3; -inline void ExecuteCommandRequest::clear_code() { - code_.ClearToEmpty(); +// ------------------------------------------------------------------- + +// VersionedTextDocumentIdentifier + +// string uri = 1; +inline void VersionedTextDocumentIdentifier::clear_uri() { + uri_.ClearToEmpty(); } -inline const std::string& ExecuteCommandRequest::code() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.code) - return _internal_code(); +inline const std::string& VersionedTextDocumentIdentifier::uri() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.uri) + return _internal_uri(); } template inline PROTOBUF_ALWAYS_INLINE -void ExecuteCommandRequest::set_code(ArgT0&& arg0, ArgT... args) { +void VersionedTextDocumentIdentifier::set_uri(ArgT0&& arg0, ArgT... args) { - code_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.code) + uri_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.uri) } -inline std::string* ExecuteCommandRequest::mutable_code() { - std::string* _s = _internal_mutable_code(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.code) +inline std::string* VersionedTextDocumentIdentifier::mutable_uri() { + std::string* _s = _internal_mutable_uri(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.uri) return _s; } -inline const std::string& ExecuteCommandRequest::_internal_code() const { - return code_.Get(); +inline const std::string& VersionedTextDocumentIdentifier::_internal_uri() const { + return uri_.Get(); } -inline void ExecuteCommandRequest::_internal_set_code(const std::string& value) { +inline void VersionedTextDocumentIdentifier::_internal_set_uri(const std::string& value) { - code_.Set(value, GetArenaForAllocation()); + uri_.Set(value, GetArenaForAllocation()); +} +inline std::string* VersionedTextDocumentIdentifier::_internal_mutable_uri() { + + return uri_.Mutable(GetArenaForAllocation()); +} +inline std::string* VersionedTextDocumentIdentifier::release_uri() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.uri) + return uri_.Release(); +} +inline void VersionedTextDocumentIdentifier::set_allocated_uri(std::string* uri) { + if (uri != nullptr) { + + } else { + + } + uri_.SetAllocated(uri, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (uri_.IsDefault()) { + uri_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.uri) +} + +// int32 version = 2; +inline void VersionedTextDocumentIdentifier::clear_version() { + version_ = 0; +} +inline int32_t VersionedTextDocumentIdentifier::_internal_version() const { + return version_; +} +inline int32_t VersionedTextDocumentIdentifier::version() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.version) + return _internal_version(); +} +inline void VersionedTextDocumentIdentifier::_internal_set_version(int32_t value) { + + version_ = value; +} +inline void VersionedTextDocumentIdentifier::set_version(int32_t value) { + _internal_set_version(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.version) +} + +// ------------------------------------------------------------------- + +// Position + +// int32 line = 1; +inline void Position::clear_line() { + line_ = 0; +} +inline int32_t Position::_internal_line() const { + return line_; +} +inline int32_t Position::line() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.Position.line) + return _internal_line(); +} +inline void Position::_internal_set_line(int32_t value) { + + line_ = value; +} +inline void Position::set_line(int32_t value) { + _internal_set_line(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.Position.line) +} + +// int32 character = 2; +inline void Position::clear_character() { + character_ = 0; +} +inline int32_t Position::_internal_character() const { + return character_; +} +inline int32_t Position::character() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.Position.character) + return _internal_character(); } -inline std::string* ExecuteCommandRequest::_internal_mutable_code() { +inline void Position::_internal_set_character(int32_t value) { - return code_.Mutable(GetArenaForAllocation()); -} -inline std::string* ExecuteCommandRequest::release_code() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.code) - return code_.Release(); + character_ = value; } -inline void ExecuteCommandRequest::set_allocated_code(std::string* code) { - if (code != nullptr) { - - } else { - - } - code_.SetAllocated(code, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (code_.IsDefault()) { - code_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.code) +inline void Position::set_character(int32_t value) { + _internal_set_character(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.Position.character) } // ------------------------------------------------------------------- -// ExecuteCommandResponse +// MarkupContent -// string error_message = 1; -inline void ExecuteCommandResponse::clear_error_message() { - error_message_.ClearToEmpty(); +// string kind = 1; +inline void MarkupContent::clear_kind() { + kind_.ClearToEmpty(); } -inline const std::string& ExecuteCommandResponse::error_message() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.error_message) - return _internal_error_message(); +inline const std::string& MarkupContent::kind() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.MarkupContent.kind) + return _internal_kind(); } template inline PROTOBUF_ALWAYS_INLINE -void ExecuteCommandResponse::set_error_message(ArgT0&& arg0, ArgT... args) { +void MarkupContent::set_kind(ArgT0&& arg0, ArgT... args) { - error_message_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.error_message) + kind_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.MarkupContent.kind) } -inline std::string* ExecuteCommandResponse::mutable_error_message() { - std::string* _s = _internal_mutable_error_message(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.error_message) +inline std::string* MarkupContent::mutable_kind() { + std::string* _s = _internal_mutable_kind(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.MarkupContent.kind) return _s; } -inline const std::string& ExecuteCommandResponse::_internal_error_message() const { - return error_message_.Get(); +inline const std::string& MarkupContent::_internal_kind() const { + return kind_.Get(); } -inline void ExecuteCommandResponse::_internal_set_error_message(const std::string& value) { +inline void MarkupContent::_internal_set_kind(const std::string& value) { - error_message_.Set(value, GetArenaForAllocation()); + kind_.Set(value, GetArenaForAllocation()); } -inline std::string* ExecuteCommandResponse::_internal_mutable_error_message() { +inline std::string* MarkupContent::_internal_mutable_kind() { - return error_message_.Mutable(GetArenaForAllocation()); + return kind_.Mutable(GetArenaForAllocation()); } -inline std::string* ExecuteCommandResponse::release_error_message() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.error_message) - return error_message_.Release(); +inline std::string* MarkupContent::release_kind() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.MarkupContent.kind) + return kind_.Release(); } -inline void ExecuteCommandResponse::set_allocated_error_message(std::string* error_message) { - if (error_message != nullptr) { +inline void MarkupContent::set_allocated_kind(std::string* kind) { + if (kind != nullptr) { } else { } - error_message_.SetAllocated(error_message, GetArenaForAllocation()); + kind_.SetAllocated(kind, GetArenaForAllocation()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (error_message_.IsDefault()) { - error_message_.Set("", GetArenaForAllocation()); + if (kind_.IsDefault()) { + kind_.Set("", GetArenaForAllocation()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.error_message) + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.MarkupContent.kind) } -// .io.deephaven.proto.backplane.grpc.FieldsChangeUpdate changes = 2; -inline bool ExecuteCommandResponse::_internal_has_changes() const { - return this != internal_default_instance() && changes_ != nullptr; -} -inline bool ExecuteCommandResponse::has_changes() const { - return _internal_has_changes(); +// string value = 2; +inline void MarkupContent::clear_value() { + value_.ClearToEmpty(); } -inline const ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate& ExecuteCommandResponse::_internal_changes() const { - const ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* p = changes_; - return p != nullptr ? *p : reinterpret_cast( - ::io::deephaven::proto::backplane::grpc::_FieldsChangeUpdate_default_instance_); +inline const std::string& MarkupContent::value() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.MarkupContent.value) + return _internal_value(); } -inline const ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate& ExecuteCommandResponse::changes() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.changes) - return _internal_changes(); +template +inline PROTOBUF_ALWAYS_INLINE +void MarkupContent::set_value(ArgT0&& arg0, ArgT... args) { + + value_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.MarkupContent.value) } -inline void ExecuteCommandResponse::unsafe_arena_set_allocated_changes( - ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* changes) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(changes_); - } - changes_ = changes; - if (changes) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.changes) +inline std::string* MarkupContent::mutable_value() { + std::string* _s = _internal_mutable_value(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.MarkupContent.value) + return _s; } -inline ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* ExecuteCommandResponse::release_changes() { - - ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* temp = changes_; - changes_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const std::string& MarkupContent::_internal_value() const { + return value_.Get(); } -inline ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* ExecuteCommandResponse::unsafe_arena_release_changes() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.changes) +inline void MarkupContent::_internal_set_value(const std::string& value) { - ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* temp = changes_; - changes_ = nullptr; - return temp; + value_.Set(value, GetArenaForAllocation()); } -inline ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* ExecuteCommandResponse::_internal_mutable_changes() { +inline std::string* MarkupContent::_internal_mutable_value() { - if (changes_ == nullptr) { - auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate>(GetArenaForAllocation()); - changes_ = p; - } - return changes_; + return value_.Mutable(GetArenaForAllocation()); } -inline ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* ExecuteCommandResponse::mutable_changes() { - ::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* _msg = _internal_mutable_changes(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.changes) - return _msg; +inline std::string* MarkupContent::release_value() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.MarkupContent.value) + return value_.Release(); } -inline void ExecuteCommandResponse::set_allocated_changes(::io::deephaven::proto::backplane::grpc::FieldsChangeUpdate* changes) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(changes_); - } - if (changes) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(changes)); - if (message_arena != submessage_arena) { - changes = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, changes, submessage_arena); - } +inline void MarkupContent::set_allocated_value(std::string* value) { + if (value != nullptr) { } else { } - changes_ = changes; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.changes) + value_.SetAllocated(value, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (value_.IsDefault()) { + value_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.MarkupContent.value) } // ------------------------------------------------------------------- -// BindTableToVariableRequest +// GetCompletionItemsRequest -// .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; -inline bool BindTableToVariableRequest::_internal_has_console_id() const { +// .io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated = true]; +inline bool GetCompletionItemsRequest::_internal_has_console_id() const { return this != internal_default_instance() && console_id_ != nullptr; } -inline bool BindTableToVariableRequest::has_console_id() const { +inline bool GetCompletionItemsRequest::has_console_id() const { return _internal_has_console_id(); } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& BindTableToVariableRequest::_internal_console_id() const { +inline const ::io::deephaven::proto::backplane::grpc::Ticket& GetCompletionItemsRequest::_internal_console_id() const { const ::io::deephaven::proto::backplane::grpc::Ticket* p = console_id_; return p != nullptr ? *p : reinterpret_cast( ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& BindTableToVariableRequest::console_id() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.console_id) +inline const ::io::deephaven::proto::backplane::grpc::Ticket& GetCompletionItemsRequest::console_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.console_id) return _internal_console_id(); } -inline void BindTableToVariableRequest::unsafe_arena_set_allocated_console_id( +inline void GetCompletionItemsRequest::unsafe_arena_set_allocated_console_id( ::io::deephaven::proto::backplane::grpc::Ticket* console_id) { if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); @@ -10569,9 +16590,9 @@ inline void BindTableToVariableRequest::unsafe_arena_set_allocated_console_id( } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.console_id) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.console_id) } -inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableRequest::release_console_id() { +inline ::io::deephaven::proto::backplane::grpc::Ticket* GetCompletionItemsRequest::release_console_id() { ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; console_id_ = nullptr; @@ -10586,14 +16607,14 @@ inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableReque #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableRequest::unsafe_arena_release_console_id() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.console_id) +inline ::io::deephaven::proto::backplane::grpc::Ticket* GetCompletionItemsRequest::unsafe_arena_release_console_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.console_id) ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; console_id_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableRequest::_internal_mutable_console_id() { +inline ::io::deephaven::proto::backplane::grpc::Ticket* GetCompletionItemsRequest::_internal_mutable_console_id() { if (console_id_ == nullptr) { auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); @@ -10601,12 +16622,12 @@ inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableReque } return console_id_; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableRequest::mutable_console_id() { +inline ::io::deephaven::proto::backplane::grpc::Ticket* GetCompletionItemsRequest::mutable_console_id() { ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_console_id(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.console_id) + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.console_id) return _msg; } -inline void BindTableToVariableRequest::set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id) { +inline void GetCompletionItemsRequest::set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); @@ -10624,92 +16645,48 @@ inline void BindTableToVariableRequest::set_allocated_console_id(::io::deephaven } console_id_ = console_id; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.console_id) + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.console_id) } -// string variable_name = 3; -inline void BindTableToVariableRequest::clear_variable_name() { - variable_name_.ClearToEmpty(); -} -inline const std::string& BindTableToVariableRequest::variable_name() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.variable_name) - return _internal_variable_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void BindTableToVariableRequest::set_variable_name(ArgT0&& arg0, ArgT... args) { - - variable_name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.variable_name) -} -inline std::string* BindTableToVariableRequest::mutable_variable_name() { - std::string* _s = _internal_mutable_variable_name(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.variable_name) - return _s; -} -inline const std::string& BindTableToVariableRequest::_internal_variable_name() const { - return variable_name_.Get(); -} -inline void BindTableToVariableRequest::_internal_set_variable_name(const std::string& value) { - - variable_name_.Set(value, GetArenaForAllocation()); -} -inline std::string* BindTableToVariableRequest::_internal_mutable_variable_name() { - - return variable_name_.Mutable(GetArenaForAllocation()); +// .io.deephaven.proto.backplane.script.grpc.CompletionContext context = 2; +inline bool GetCompletionItemsRequest::_internal_has_context() const { + return this != internal_default_instance() && context_ != nullptr; } -inline std::string* BindTableToVariableRequest::release_variable_name() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.variable_name) - return variable_name_.Release(); +inline bool GetCompletionItemsRequest::has_context() const { + return _internal_has_context(); } -inline void BindTableToVariableRequest::set_allocated_variable_name(std::string* variable_name) { - if (variable_name != nullptr) { - - } else { - - } - variable_name_.SetAllocated(variable_name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (variable_name_.IsDefault()) { - variable_name_.Set("", GetArenaForAllocation()); +inline void GetCompletionItemsRequest::clear_context() { + if (GetArenaForAllocation() == nullptr && context_ != nullptr) { + delete context_; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.variable_name) -} - -// .io.deephaven.proto.backplane.grpc.Ticket table_id = 4; -inline bool BindTableToVariableRequest::_internal_has_table_id() const { - return this != internal_default_instance() && table_id_ != nullptr; -} -inline bool BindTableToVariableRequest::has_table_id() const { - return _internal_has_table_id(); + context_ = nullptr; } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& BindTableToVariableRequest::_internal_table_id() const { - const ::io::deephaven::proto::backplane::grpc::Ticket* p = table_id_; - return p != nullptr ? *p : reinterpret_cast( - ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +inline const ::io::deephaven::proto::backplane::script::grpc::CompletionContext& GetCompletionItemsRequest::_internal_context() const { + const ::io::deephaven::proto::backplane::script::grpc::CompletionContext* p = context_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_CompletionContext_default_instance_); } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& BindTableToVariableRequest::table_id() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.table_id) - return _internal_table_id(); +inline const ::io::deephaven::proto::backplane::script::grpc::CompletionContext& GetCompletionItemsRequest::context() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.context) + return _internal_context(); } -inline void BindTableToVariableRequest::unsafe_arena_set_allocated_table_id( - ::io::deephaven::proto::backplane::grpc::Ticket* table_id) { +inline void GetCompletionItemsRequest::unsafe_arena_set_allocated_context( + ::io::deephaven::proto::backplane::script::grpc::CompletionContext* context) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(table_id_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(context_); } - table_id_ = table_id; - if (table_id) { + context_ = context; + if (context) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.table_id) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.context) } -inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableRequest::release_table_id() { +inline ::io::deephaven::proto::backplane::script::grpc::CompletionContext* GetCompletionItemsRequest::release_context() { - ::io::deephaven::proto::backplane::grpc::Ticket* temp = table_id_; - table_id_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::CompletionContext* temp = context_; + context_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -10721,88 +16698,85 @@ inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableReque #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableRequest::unsafe_arena_release_table_id() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.table_id) +inline ::io::deephaven::proto::backplane::script::grpc::CompletionContext* GetCompletionItemsRequest::unsafe_arena_release_context() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.context) - ::io::deephaven::proto::backplane::grpc::Ticket* temp = table_id_; - table_id_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::CompletionContext* temp = context_; + context_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableRequest::_internal_mutable_table_id() { +inline ::io::deephaven::proto::backplane::script::grpc::CompletionContext* GetCompletionItemsRequest::_internal_mutable_context() { - if (table_id_ == nullptr) { - auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); - table_id_ = p; + if (context_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::CompletionContext>(GetArenaForAllocation()); + context_ = p; } - return table_id_; + return context_; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* BindTableToVariableRequest::mutable_table_id() { - ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_table_id(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.table_id) +inline ::io::deephaven::proto::backplane::script::grpc::CompletionContext* GetCompletionItemsRequest::mutable_context() { + ::io::deephaven::proto::backplane::script::grpc::CompletionContext* _msg = _internal_mutable_context(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.context) return _msg; } -inline void BindTableToVariableRequest::set_allocated_table_id(::io::deephaven::proto::backplane::grpc::Ticket* table_id) { +inline void GetCompletionItemsRequest::set_allocated_context(::io::deephaven::proto::backplane::script::grpc::CompletionContext* context) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(table_id_); + delete context_; } - if (table_id) { + if (context) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(table_id)); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(context); if (message_arena != submessage_arena) { - table_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, table_id, submessage_arena); + context = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, context, submessage_arena); } } else { } - table_id_ = table_id; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.table_id) + context_ = context; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.context) } -// ------------------------------------------------------------------- - -// BindTableToVariableResponse - -// ------------------------------------------------------------------- - -// CancelCommandRequest - -// .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; -inline bool CancelCommandRequest::_internal_has_console_id() const { - return this != internal_default_instance() && console_id_ != nullptr; +// .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 3; +inline bool GetCompletionItemsRequest::_internal_has_text_document() const { + return this != internal_default_instance() && text_document_ != nullptr; } -inline bool CancelCommandRequest::has_console_id() const { - return _internal_has_console_id(); +inline bool GetCompletionItemsRequest::has_text_document() const { + return _internal_has_text_document(); } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& CancelCommandRequest::_internal_console_id() const { - const ::io::deephaven::proto::backplane::grpc::Ticket* p = console_id_; - return p != nullptr ? *p : reinterpret_cast( - ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +inline void GetCompletionItemsRequest::clear_text_document() { + if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { + delete text_document_; + } + text_document_ = nullptr; } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& CancelCommandRequest::console_id() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.console_id) - return _internal_console_id(); +inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& GetCompletionItemsRequest::_internal_text_document() const { + const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* p = text_document_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_VersionedTextDocumentIdentifier_default_instance_); } -inline void CancelCommandRequest::unsafe_arena_set_allocated_console_id( - ::io::deephaven::proto::backplane::grpc::Ticket* console_id) { +inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& GetCompletionItemsRequest::text_document() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.text_document) + return _internal_text_document(); +} +inline void GetCompletionItemsRequest::unsafe_arena_set_allocated_text_document( + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(text_document_); } - console_id_ = console_id; - if (console_id) { + text_document_ = text_document; + if (text_document) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.console_id) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.text_document) } -inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::release_console_id() { +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetCompletionItemsRequest::release_text_document() { - ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; - console_id_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* temp = text_document_; + text_document_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -10814,80 +16788,85 @@ inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::re #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::unsafe_arena_release_console_id() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.console_id) +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetCompletionItemsRequest::unsafe_arena_release_text_document() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.text_document) - ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; - console_id_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* temp = text_document_; + text_document_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::_internal_mutable_console_id() { +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetCompletionItemsRequest::_internal_mutable_text_document() { - if (console_id_ == nullptr) { - auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); - console_id_ = p; + if (text_document_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier>(GetArenaForAllocation()); + text_document_ = p; } - return console_id_; + return text_document_; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::mutable_console_id() { - ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_console_id(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.console_id) +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetCompletionItemsRequest::mutable_text_document() { + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* _msg = _internal_mutable_text_document(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.text_document) return _msg; } -inline void CancelCommandRequest::set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id) { +inline void GetCompletionItemsRequest::set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + delete text_document_; } - if (console_id) { + if (text_document) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id)); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(text_document); if (message_arena != submessage_arena) { - console_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, console_id, submessage_arena); + text_document = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, text_document, submessage_arena); } } else { } - console_id_ = console_id; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.console_id) + text_document_ = text_document; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.text_document) } -// .io.deephaven.proto.backplane.grpc.Ticket command_id = 2; -inline bool CancelCommandRequest::_internal_has_command_id() const { - return this != internal_default_instance() && command_id_ != nullptr; +// .io.deephaven.proto.backplane.script.grpc.Position position = 4; +inline bool GetCompletionItemsRequest::_internal_has_position() const { + return this != internal_default_instance() && position_ != nullptr; } -inline bool CancelCommandRequest::has_command_id() const { - return _internal_has_command_id(); +inline bool GetCompletionItemsRequest::has_position() const { + return _internal_has_position(); } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& CancelCommandRequest::_internal_command_id() const { - const ::io::deephaven::proto::backplane::grpc::Ticket* p = command_id_; - return p != nullptr ? *p : reinterpret_cast( - ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +inline void GetCompletionItemsRequest::clear_position() { + if (GetArenaForAllocation() == nullptr && position_ != nullptr) { + delete position_; + } + position_ = nullptr; } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& CancelCommandRequest::command_id() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.command_id) - return _internal_command_id(); +inline const ::io::deephaven::proto::backplane::script::grpc::Position& GetCompletionItemsRequest::_internal_position() const { + const ::io::deephaven::proto::backplane::script::grpc::Position* p = position_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_Position_default_instance_); } -inline void CancelCommandRequest::unsafe_arena_set_allocated_command_id( - ::io::deephaven::proto::backplane::grpc::Ticket* command_id) { +inline const ::io::deephaven::proto::backplane::script::grpc::Position& GetCompletionItemsRequest::position() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.position) + return _internal_position(); +} +inline void GetCompletionItemsRequest::unsafe_arena_set_allocated_position( + ::io::deephaven::proto::backplane::script::grpc::Position* position) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(command_id_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(position_); } - command_id_ = command_id; - if (command_id) { + position_ = position; + if (position) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.command_id) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.position) } -inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::release_command_id() { +inline ::io::deephaven::proto::backplane::script::grpc::Position* GetCompletionItemsRequest::release_position() { - ::io::deephaven::proto::backplane::grpc::Ticket* temp = command_id_; - command_id_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::Position* temp = position_; + position_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -10899,579 +16878,467 @@ inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::re #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::unsafe_arena_release_command_id() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.command_id) +inline ::io::deephaven::proto::backplane::script::grpc::Position* GetCompletionItemsRequest::unsafe_arena_release_position() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.position) - ::io::deephaven::proto::backplane::grpc::Ticket* temp = command_id_; - command_id_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::Position* temp = position_; + position_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::_internal_mutable_command_id() { +inline ::io::deephaven::proto::backplane::script::grpc::Position* GetCompletionItemsRequest::_internal_mutable_position() { - if (command_id_ == nullptr) { - auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); - command_id_ = p; - } - return command_id_; -} -inline ::io::deephaven::proto::backplane::grpc::Ticket* CancelCommandRequest::mutable_command_id() { - ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_command_id(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.command_id) - return _msg; -} -inline void CancelCommandRequest::set_allocated_command_id(::io::deephaven::proto::backplane::grpc::Ticket* command_id) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(command_id_); - } - if (command_id) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(command_id)); - if (message_arena != submessage_arena) { - command_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, command_id, submessage_arena); - } - - } else { - + if (position_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::Position>(GetArenaForAllocation()); + position_ = p; } - command_id_ = command_id; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.command_id) -} - -// ------------------------------------------------------------------- - -// CancelCommandResponse - -// ------------------------------------------------------------------- - -// AutoCompleteRequest - -// .io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest open_document = 1; -inline bool AutoCompleteRequest::_internal_has_open_document() const { - return request_case() == kOpenDocument; -} -inline bool AutoCompleteRequest::has_open_document() const { - return _internal_has_open_document(); -} -inline void AutoCompleteRequest::set_has_open_document() { - _oneof_case_[0] = kOpenDocument; + return position_; } -inline void AutoCompleteRequest::clear_open_document() { - if (_internal_has_open_document()) { - if (GetArenaForAllocation() == nullptr) { - delete request_.open_document_; - } - clear_has_request(); - } +inline ::io::deephaven::proto::backplane::script::grpc::Position* GetCompletionItemsRequest::mutable_position() { + ::io::deephaven::proto::backplane::script::grpc::Position* _msg = _internal_mutable_position(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.position) + return _msg; } -inline ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* AutoCompleteRequest::release_open_document() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.open_document) - if (_internal_has_open_document()) { - clear_has_request(); - ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* temp = request_.open_document_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); +inline void GetCompletionItemsRequest::set_allocated_position(::io::deephaven::proto::backplane::script::grpc::Position* position) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete position_; + } + if (position) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(position); + if (message_arena != submessage_arena) { + position = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, position, submessage_arena); } - request_.open_document_ = nullptr; - return temp; + } else { - return nullptr; + } + position_ = position; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.position) } -inline const ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest& AutoCompleteRequest::_internal_open_document() const { - return _internal_has_open_document() - ? *request_.open_document_ - : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest&>(::io::deephaven::proto::backplane::script::grpc::_OpenDocumentRequest_default_instance_); + +// int32 request_id = 5 [deprecated = true]; +inline void GetCompletionItemsRequest::clear_request_id() { + request_id_ = 0; } -inline const ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest& AutoCompleteRequest::open_document() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.open_document) - return _internal_open_document(); +inline int32_t GetCompletionItemsRequest::_internal_request_id() const { + return request_id_; } -inline ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* AutoCompleteRequest::unsafe_arena_release_open_document() { - // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.open_document) - if (_internal_has_open_document()) { - clear_has_request(); - ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* temp = request_.open_document_; - request_.open_document_ = nullptr; - return temp; - } else { - return nullptr; - } +inline int32_t GetCompletionItemsRequest::request_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.request_id) + return _internal_request_id(); } -inline void AutoCompleteRequest::unsafe_arena_set_allocated_open_document(::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* open_document) { - clear_request(); - if (open_document) { - set_has_open_document(); - request_.open_document_ = open_document; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.open_document) +inline void GetCompletionItemsRequest::_internal_set_request_id(int32_t value) { + + request_id_ = value; } -inline ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* AutoCompleteRequest::_internal_mutable_open_document() { - if (!_internal_has_open_document()) { - clear_request(); - set_has_open_document(); - request_.open_document_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest >(GetArenaForAllocation()); - } - return request_.open_document_; +inline void GetCompletionItemsRequest::set_request_id(int32_t value) { + _internal_set_request_id(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.request_id) } -inline ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* AutoCompleteRequest::mutable_open_document() { - ::io::deephaven::proto::backplane::script::grpc::OpenDocumentRequest* _msg = _internal_mutable_open_document(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.open_document) - return _msg; + +// ------------------------------------------------------------------- + +// CompletionContext + +// int32 trigger_kind = 1; +inline void CompletionContext::clear_trigger_kind() { + trigger_kind_ = 0; +} +inline int32_t CompletionContext::_internal_trigger_kind() const { + return trigger_kind_; +} +inline int32_t CompletionContext::trigger_kind() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_kind) + return _internal_trigger_kind(); +} +inline void CompletionContext::_internal_set_trigger_kind(int32_t value) { + + trigger_kind_ = value; +} +inline void CompletionContext::set_trigger_kind(int32_t value) { + _internal_set_trigger_kind(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_kind) } -// .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest change_document = 2; -inline bool AutoCompleteRequest::_internal_has_change_document() const { - return request_case() == kChangeDocument; +// string trigger_character = 2; +inline void CompletionContext::clear_trigger_character() { + trigger_character_.ClearToEmpty(); } -inline bool AutoCompleteRequest::has_change_document() const { - return _internal_has_change_document(); +inline const std::string& CompletionContext::trigger_character() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_character) + return _internal_trigger_character(); } -inline void AutoCompleteRequest::set_has_change_document() { - _oneof_case_[0] = kChangeDocument; +template +inline PROTOBUF_ALWAYS_INLINE +void CompletionContext::set_trigger_character(ArgT0&& arg0, ArgT... args) { + + trigger_character_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_character) } -inline void AutoCompleteRequest::clear_change_document() { - if (_internal_has_change_document()) { - if (GetArenaForAllocation() == nullptr) { - delete request_.change_document_; - } - clear_has_request(); - } +inline std::string* CompletionContext::mutable_trigger_character() { + std::string* _s = _internal_mutable_trigger_character(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_character) + return _s; } -inline ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* AutoCompleteRequest::release_change_document() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.change_document) - if (_internal_has_change_document()) { - clear_has_request(); - ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* temp = request_.change_document_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } - request_.change_document_ = nullptr; - return temp; - } else { - return nullptr; - } +inline const std::string& CompletionContext::_internal_trigger_character() const { + return trigger_character_.Get(); } -inline const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest& AutoCompleteRequest::_internal_change_document() const { - return _internal_has_change_document() - ? *request_.change_document_ - : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest&>(::io::deephaven::proto::backplane::script::grpc::_ChangeDocumentRequest_default_instance_); +inline void CompletionContext::_internal_set_trigger_character(const std::string& value) { + + trigger_character_.Set(value, GetArenaForAllocation()); } -inline const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest& AutoCompleteRequest::change_document() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.change_document) - return _internal_change_document(); +inline std::string* CompletionContext::_internal_mutable_trigger_character() { + + return trigger_character_.Mutable(GetArenaForAllocation()); } -inline ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* AutoCompleteRequest::unsafe_arena_release_change_document() { - // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.change_document) - if (_internal_has_change_document()) { - clear_has_request(); - ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* temp = request_.change_document_; - request_.change_document_ = nullptr; - return temp; +inline std::string* CompletionContext::release_trigger_character() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_character) + return trigger_character_.Release(); +} +inline void CompletionContext::set_allocated_trigger_character(std::string* trigger_character) { + if (trigger_character != nullptr) { + } else { - return nullptr; + } -} -inline void AutoCompleteRequest::unsafe_arena_set_allocated_change_document(::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* change_document) { - clear_request(); - if (change_document) { - set_has_change_document(); - request_.change_document_ = change_document; + trigger_character_.SetAllocated(trigger_character, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (trigger_character_.IsDefault()) { + trigger_character_.Set("", GetArenaForAllocation()); } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.change_document) +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_character) } -inline ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* AutoCompleteRequest::_internal_mutable_change_document() { - if (!_internal_has_change_document()) { - clear_request(); - set_has_change_document(); - request_.change_document_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest >(GetArenaForAllocation()); - } - return request_.change_document_; + +// ------------------------------------------------------------------- + +// GetCompletionItemsResponse + +// repeated .io.deephaven.proto.backplane.script.grpc.CompletionItem items = 1; +inline int GetCompletionItemsResponse::_internal_items_size() const { + return items_.size(); } -inline ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* AutoCompleteRequest::mutable_change_document() { - ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest* _msg = _internal_mutable_change_document(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.change_document) - return _msg; +inline int GetCompletionItemsResponse::items_size() const { + return _internal_items_size(); } - -// .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest get_completion_items = 3; -inline bool AutoCompleteRequest::_internal_has_get_completion_items() const { - return request_case() == kGetCompletionItems; +inline void GetCompletionItemsResponse::clear_items() { + items_.Clear(); } -inline bool AutoCompleteRequest::has_get_completion_items() const { - return _internal_has_get_completion_items(); +inline ::io::deephaven::proto::backplane::script::grpc::CompletionItem* GetCompletionItemsResponse::mutable_items(int index) { + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.items) + return items_.Mutable(index); } -inline void AutoCompleteRequest::set_has_get_completion_items() { - _oneof_case_[0] = kGetCompletionItems; +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::CompletionItem >* +GetCompletionItemsResponse::mutable_items() { + // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.items) + return &items_; } -inline void AutoCompleteRequest::clear_get_completion_items() { - if (_internal_has_get_completion_items()) { - if (GetArenaForAllocation() == nullptr) { - delete request_.get_completion_items_; - } - clear_has_request(); - } +inline const ::io::deephaven::proto::backplane::script::grpc::CompletionItem& GetCompletionItemsResponse::_internal_items(int index) const { + return items_.Get(index); } -inline ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* AutoCompleteRequest::release_get_completion_items() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_completion_items) - if (_internal_has_get_completion_items()) { - clear_has_request(); - ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* temp = request_.get_completion_items_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } - request_.get_completion_items_ = nullptr; - return temp; - } else { - return nullptr; - } +inline const ::io::deephaven::proto::backplane::script::grpc::CompletionItem& GetCompletionItemsResponse::items(int index) const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.items) + return _internal_items(index); +} +inline ::io::deephaven::proto::backplane::script::grpc::CompletionItem* GetCompletionItemsResponse::_internal_add_items() { + return items_.Add(); +} +inline ::io::deephaven::proto::backplane::script::grpc::CompletionItem* GetCompletionItemsResponse::add_items() { + ::io::deephaven::proto::backplane::script::grpc::CompletionItem* _add = _internal_add_items(); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.items) + return _add; } -inline const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest& AutoCompleteRequest::_internal_get_completion_items() const { - return _internal_has_get_completion_items() - ? *request_.get_completion_items_ - : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest&>(::io::deephaven::proto::backplane::script::grpc::_GetCompletionItemsRequest_default_instance_); +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::CompletionItem >& +GetCompletionItemsResponse::items() const { + // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.items) + return items_; } -inline const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest& AutoCompleteRequest::get_completion_items() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_completion_items) - return _internal_get_completion_items(); + +// int32 request_id = 2 [deprecated = true]; +inline void GetCompletionItemsResponse::clear_request_id() { + request_id_ = 0; } -inline ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* AutoCompleteRequest::unsafe_arena_release_get_completion_items() { - // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_completion_items) - if (_internal_has_get_completion_items()) { - clear_has_request(); - ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* temp = request_.get_completion_items_; - request_.get_completion_items_ = nullptr; - return temp; - } else { - return nullptr; - } +inline int32_t GetCompletionItemsResponse::_internal_request_id() const { + return request_id_; } -inline void AutoCompleteRequest::unsafe_arena_set_allocated_get_completion_items(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* get_completion_items) { - clear_request(); - if (get_completion_items) { - set_has_get_completion_items(); - request_.get_completion_items_ = get_completion_items; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_completion_items) +inline int32_t GetCompletionItemsResponse::request_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.request_id) + return _internal_request_id(); } -inline ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* AutoCompleteRequest::_internal_mutable_get_completion_items() { - if (!_internal_has_get_completion_items()) { - clear_request(); - set_has_get_completion_items(); - request_.get_completion_items_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest >(GetArenaForAllocation()); - } - return request_.get_completion_items_; +inline void GetCompletionItemsResponse::_internal_set_request_id(int32_t value) { + + request_id_ = value; } -inline ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* AutoCompleteRequest::mutable_get_completion_items() { - ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsRequest* _msg = _internal_mutable_get_completion_items(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_completion_items) - return _msg; +inline void GetCompletionItemsResponse::set_request_id(int32_t value) { + _internal_set_request_id(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.request_id) } -// .io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest close_document = 4; -inline bool AutoCompleteRequest::_internal_has_close_document() const { - return request_case() == kCloseDocument; -} -inline bool AutoCompleteRequest::has_close_document() const { - return _internal_has_close_document(); +// bool success = 3 [deprecated = true]; +inline void GetCompletionItemsResponse::clear_success() { + success_ = false; } -inline void AutoCompleteRequest::set_has_close_document() { - _oneof_case_[0] = kCloseDocument; +inline bool GetCompletionItemsResponse::_internal_success() const { + return success_; } -inline void AutoCompleteRequest::clear_close_document() { - if (_internal_has_close_document()) { - if (GetArenaForAllocation() == nullptr) { - delete request_.close_document_; - } - clear_has_request(); - } +inline bool GetCompletionItemsResponse::success() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.success) + return _internal_success(); } -inline ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* AutoCompleteRequest::release_close_document() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.close_document) - if (_internal_has_close_document()) { - clear_has_request(); - ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* temp = request_.close_document_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } - request_.close_document_ = nullptr; - return temp; - } else { - return nullptr; - } +inline void GetCompletionItemsResponse::_internal_set_success(bool value) { + + success_ = value; } -inline const ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest& AutoCompleteRequest::_internal_close_document() const { - return _internal_has_close_document() - ? *request_.close_document_ - : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest&>(::io::deephaven::proto::backplane::script::grpc::_CloseDocumentRequest_default_instance_); +inline void GetCompletionItemsResponse::set_success(bool value) { + _internal_set_success(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.success) } -inline const ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest& AutoCompleteRequest::close_document() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.close_document) - return _internal_close_document(); + +// ------------------------------------------------------------------- + +// CompletionItem + +// int32 start = 1; +inline void CompletionItem::clear_start() { + start_ = 0; } -inline ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* AutoCompleteRequest::unsafe_arena_release_close_document() { - // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.close_document) - if (_internal_has_close_document()) { - clear_has_request(); - ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* temp = request_.close_document_; - request_.close_document_ = nullptr; - return temp; - } else { - return nullptr; - } +inline int32_t CompletionItem::_internal_start() const { + return start_; } -inline void AutoCompleteRequest::unsafe_arena_set_allocated_close_document(::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* close_document) { - clear_request(); - if (close_document) { - set_has_close_document(); - request_.close_document_ = close_document; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.close_document) +inline int32_t CompletionItem::start() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.start) + return _internal_start(); } -inline ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* AutoCompleteRequest::_internal_mutable_close_document() { - if (!_internal_has_close_document()) { - clear_request(); - set_has_close_document(); - request_.close_document_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest >(GetArenaForAllocation()); - } - return request_.close_document_; +inline void CompletionItem::_internal_set_start(int32_t value) { + + start_ = value; } -inline ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* AutoCompleteRequest::mutable_close_document() { - ::io::deephaven::proto::backplane::script::grpc::CloseDocumentRequest* _msg = _internal_mutable_close_document(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.close_document) - return _msg; +inline void CompletionItem::set_start(int32_t value) { + _internal_set_start(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.start) } -inline bool AutoCompleteRequest::has_request() const { - return request_case() != REQUEST_NOT_SET; +// int32 length = 2; +inline void CompletionItem::clear_length() { + length_ = 0; } -inline void AutoCompleteRequest::clear_has_request() { - _oneof_case_[0] = REQUEST_NOT_SET; +inline int32_t CompletionItem::_internal_length() const { + return length_; } -inline AutoCompleteRequest::RequestCase AutoCompleteRequest::request_case() const { - return AutoCompleteRequest::RequestCase(_oneof_case_[0]); +inline int32_t CompletionItem::length() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.length) + return _internal_length(); +} +inline void CompletionItem::_internal_set_length(int32_t value) { + + length_ = value; +} +inline void CompletionItem::set_length(int32_t value) { + _internal_set_length(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.length) } -// ------------------------------------------------------------------- - -// AutoCompleteResponse -// .io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse completion_items = 1; -inline bool AutoCompleteResponse::_internal_has_completion_items() const { - return response_case() == kCompletionItems; +// string label = 3; +inline void CompletionItem::clear_label() { + label_.ClearToEmpty(); } -inline bool AutoCompleteResponse::has_completion_items() const { - return _internal_has_completion_items(); +inline const std::string& CompletionItem::label() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.label) + return _internal_label(); } -inline void AutoCompleteResponse::set_has_completion_items() { - _oneof_case_[0] = kCompletionItems; +template +inline PROTOBUF_ALWAYS_INLINE +void CompletionItem::set_label(ArgT0&& arg0, ArgT... args) { + + label_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.label) } -inline void AutoCompleteResponse::clear_completion_items() { - if (_internal_has_completion_items()) { - if (GetArenaForAllocation() == nullptr) { - delete response_.completion_items_; - } - clear_has_response(); - } +inline std::string* CompletionItem::mutable_label() { + std::string* _s = _internal_mutable_label(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.label) + return _s; } -inline ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* AutoCompleteResponse::release_completion_items() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.completion_items) - if (_internal_has_completion_items()) { - clear_has_response(); - ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* temp = response_.completion_items_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } - response_.completion_items_ = nullptr; - return temp; - } else { - return nullptr; - } +inline const std::string& CompletionItem::_internal_label() const { + return label_.Get(); } -inline const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse& AutoCompleteResponse::_internal_completion_items() const { - return _internal_has_completion_items() - ? *response_.completion_items_ - : reinterpret_cast< ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse&>(::io::deephaven::proto::backplane::script::grpc::_GetCompletionItemsResponse_default_instance_); +inline void CompletionItem::_internal_set_label(const std::string& value) { + + label_.Set(value, GetArenaForAllocation()); } -inline const ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse& AutoCompleteResponse::completion_items() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.completion_items) - return _internal_completion_items(); +inline std::string* CompletionItem::_internal_mutable_label() { + + return label_.Mutable(GetArenaForAllocation()); } -inline ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* AutoCompleteResponse::unsafe_arena_release_completion_items() { - // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.completion_items) - if (_internal_has_completion_items()) { - clear_has_response(); - ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* temp = response_.completion_items_; - response_.completion_items_ = nullptr; - return temp; +inline std::string* CompletionItem::release_label() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CompletionItem.label) + return label_.Release(); +} +inline void CompletionItem::set_allocated_label(std::string* label) { + if (label != nullptr) { + } else { - return nullptr; + } -} -inline void AutoCompleteResponse::unsafe_arena_set_allocated_completion_items(::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* completion_items) { - clear_response(); - if (completion_items) { - set_has_completion_items(); - response_.completion_items_ = completion_items; + label_.SetAllocated(label, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (label_.IsDefault()) { + label_.Set("", GetArenaForAllocation()); } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.completion_items) +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionItem.label) } -inline ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* AutoCompleteResponse::_internal_mutable_completion_items() { - if (!_internal_has_completion_items()) { - clear_response(); - set_has_completion_items(); - response_.completion_items_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse >(GetArenaForAllocation()); - } - return response_.completion_items_; + +// int32 kind = 4; +inline void CompletionItem::clear_kind() { + kind_ = 0; } -inline ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* AutoCompleteResponse::mutable_completion_items() { - ::io::deephaven::proto::backplane::script::grpc::GetCompletionItemsResponse* _msg = _internal_mutable_completion_items(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.completion_items) - return _msg; +inline int32_t CompletionItem::_internal_kind() const { + return kind_; } - -inline bool AutoCompleteResponse::has_response() const { - return response_case() != RESPONSE_NOT_SET; +inline int32_t CompletionItem::kind() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.kind) + return _internal_kind(); } -inline void AutoCompleteResponse::clear_has_response() { - _oneof_case_[0] = RESPONSE_NOT_SET; +inline void CompletionItem::_internal_set_kind(int32_t value) { + + kind_ = value; } -inline AutoCompleteResponse::ResponseCase AutoCompleteResponse::response_case() const { - return AutoCompleteResponse::ResponseCase(_oneof_case_[0]); +inline void CompletionItem::set_kind(int32_t value) { + _internal_set_kind(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.kind) } -// ------------------------------------------------------------------- - -// BrowserNextResponse - -// ------------------------------------------------------------------- - -// OpenDocumentRequest -// .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; -inline bool OpenDocumentRequest::_internal_has_console_id() const { - return this != internal_default_instance() && console_id_ != nullptr; -} -inline bool OpenDocumentRequest::has_console_id() const { - return _internal_has_console_id(); +// string detail = 5; +inline void CompletionItem::clear_detail() { + detail_.ClearToEmpty(); } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& OpenDocumentRequest::_internal_console_id() const { - const ::io::deephaven::proto::backplane::grpc::Ticket* p = console_id_; - return p != nullptr ? *p : reinterpret_cast( - ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +inline const std::string& CompletionItem::detail() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.detail) + return _internal_detail(); } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& OpenDocumentRequest::console_id() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.console_id) - return _internal_console_id(); +template +inline PROTOBUF_ALWAYS_INLINE +void CompletionItem::set_detail(ArgT0&& arg0, ArgT... args) { + + detail_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.detail) } -inline void OpenDocumentRequest::unsafe_arena_set_allocated_console_id( - ::io::deephaven::proto::backplane::grpc::Ticket* console_id) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); - } - console_id_ = console_id; - if (console_id) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.console_id) +inline std::string* CompletionItem::mutable_detail() { + std::string* _s = _internal_mutable_detail(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.detail) + return _s; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* OpenDocumentRequest::release_console_id() { - - ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; - console_id_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const std::string& CompletionItem::_internal_detail() const { + return detail_.Get(); } -inline ::io::deephaven::proto::backplane::grpc::Ticket* OpenDocumentRequest::unsafe_arena_release_console_id() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.console_id) +inline void CompletionItem::_internal_set_detail(const std::string& value) { - ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; - console_id_ = nullptr; - return temp; + detail_.Set(value, GetArenaForAllocation()); } -inline ::io::deephaven::proto::backplane::grpc::Ticket* OpenDocumentRequest::_internal_mutable_console_id() { +inline std::string* CompletionItem::_internal_mutable_detail() { - if (console_id_ == nullptr) { - auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); - console_id_ = p; - } - return console_id_; + return detail_.Mutable(GetArenaForAllocation()); } -inline ::io::deephaven::proto::backplane::grpc::Ticket* OpenDocumentRequest::mutable_console_id() { - ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_console_id(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.console_id) - return _msg; +inline std::string* CompletionItem::release_detail() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CompletionItem.detail) + return detail_.Release(); } -inline void OpenDocumentRequest::set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); - } - if (console_id) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id)); - if (message_arena != submessage_arena) { - console_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, console_id, submessage_arena); - } +inline void CompletionItem::set_allocated_detail(std::string* detail) { + if (detail != nullptr) { } else { } - console_id_ = console_id; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.console_id) + detail_.SetAllocated(detail, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (detail_.IsDefault()) { + detail_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionItem.detail) } -// .io.deephaven.proto.backplane.script.grpc.TextDocumentItem text_document = 2; -inline bool OpenDocumentRequest::_internal_has_text_document() const { - return this != internal_default_instance() && text_document_ != nullptr; +// bool deprecated = 7; +inline void CompletionItem::clear_deprecated() { + deprecated_ = false; } -inline bool OpenDocumentRequest::has_text_document() const { - return _internal_has_text_document(); +inline bool CompletionItem::_internal_deprecated() const { + return deprecated_; } -inline void OpenDocumentRequest::clear_text_document() { - if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { - delete text_document_; +inline bool CompletionItem::deprecated() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.deprecated) + return _internal_deprecated(); +} +inline void CompletionItem::_internal_set_deprecated(bool value) { + + deprecated_ = value; +} +inline void CompletionItem::set_deprecated(bool value) { + _internal_set_deprecated(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.deprecated) +} + +// bool preselect = 8; +inline void CompletionItem::clear_preselect() { + preselect_ = false; +} +inline bool CompletionItem::_internal_preselect() const { + return preselect_; +} +inline bool CompletionItem::preselect() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.preselect) + return _internal_preselect(); +} +inline void CompletionItem::_internal_set_preselect(bool value) { + + preselect_ = value; +} +inline void CompletionItem::set_preselect(bool value) { + _internal_set_preselect(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.preselect) +} + +// .io.deephaven.proto.backplane.script.grpc.TextEdit text_edit = 9; +inline bool CompletionItem::_internal_has_text_edit() const { + return this != internal_default_instance() && text_edit_ != nullptr; +} +inline bool CompletionItem::has_text_edit() const { + return _internal_has_text_edit(); +} +inline void CompletionItem::clear_text_edit() { + if (GetArenaForAllocation() == nullptr && text_edit_ != nullptr) { + delete text_edit_; } - text_document_ = nullptr; + text_edit_ = nullptr; } -inline const ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem& OpenDocumentRequest::_internal_text_document() const { - const ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* p = text_document_; - return p != nullptr ? *p : reinterpret_cast( - ::io::deephaven::proto::backplane::script::grpc::_TextDocumentItem_default_instance_); +inline const ::io::deephaven::proto::backplane::script::grpc::TextEdit& CompletionItem::_internal_text_edit() const { + const ::io::deephaven::proto::backplane::script::grpc::TextEdit* p = text_edit_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_TextEdit_default_instance_); } -inline const ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem& OpenDocumentRequest::text_document() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.text_document) - return _internal_text_document(); +inline const ::io::deephaven::proto::backplane::script::grpc::TextEdit& CompletionItem::text_edit() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.text_edit) + return _internal_text_edit(); } -inline void OpenDocumentRequest::unsafe_arena_set_allocated_text_document( - ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* text_document) { +inline void CompletionItem::unsafe_arena_set_allocated_text_edit( + ::io::deephaven::proto::backplane::script::grpc::TextEdit* text_edit) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(text_document_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(text_edit_); } - text_document_ = text_document; - if (text_document) { + text_edit_ = text_edit; + if (text_edit) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.text_document) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionItem.text_edit) } -inline ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* OpenDocumentRequest::release_text_document() { +inline ::io::deephaven::proto::backplane::script::grpc::TextEdit* CompletionItem::release_text_edit() { - ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* temp = text_document_; - text_document_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::TextEdit* temp = text_edit_; + text_edit_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -11483,348 +17350,320 @@ inline ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* OpenDo #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* OpenDocumentRequest::unsafe_arena_release_text_document() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.text_document) +inline ::io::deephaven::proto::backplane::script::grpc::TextEdit* CompletionItem::unsafe_arena_release_text_edit() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CompletionItem.text_edit) - ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* temp = text_document_; - text_document_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::TextEdit* temp = text_edit_; + text_edit_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* OpenDocumentRequest::_internal_mutable_text_document() { +inline ::io::deephaven::proto::backplane::script::grpc::TextEdit* CompletionItem::_internal_mutable_text_edit() { - if (text_document_ == nullptr) { - auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::TextDocumentItem>(GetArenaForAllocation()); - text_document_ = p; + if (text_edit_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::TextEdit>(GetArenaForAllocation()); + text_edit_ = p; } - return text_document_; + return text_edit_; } -inline ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* OpenDocumentRequest::mutable_text_document() { - ::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* _msg = _internal_mutable_text_document(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.text_document) +inline ::io::deephaven::proto::backplane::script::grpc::TextEdit* CompletionItem::mutable_text_edit() { + ::io::deephaven::proto::backplane::script::grpc::TextEdit* _msg = _internal_mutable_text_edit(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.text_edit) return _msg; } -inline void OpenDocumentRequest::set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::TextDocumentItem* text_document) { +inline void CompletionItem::set_allocated_text_edit(::io::deephaven::proto::backplane::script::grpc::TextEdit* text_edit) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete text_document_; + delete text_edit_; } - if (text_document) { + if (text_edit) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(text_document); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(text_edit); if (message_arena != submessage_arena) { - text_document = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, text_document, submessage_arena); + text_edit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, text_edit, submessage_arena); } } else { } - text_document_ = text_document; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.text_document) + text_edit_ = text_edit; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionItem.text_edit) } -// ------------------------------------------------------------------- - -// TextDocumentItem - -// string uri = 1; -inline void TextDocumentItem::clear_uri() { - uri_.ClearToEmpty(); +// string sort_text = 10; +inline void CompletionItem::clear_sort_text() { + sort_text_.ClearToEmpty(); } -inline const std::string& TextDocumentItem::uri() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.uri) - return _internal_uri(); +inline const std::string& CompletionItem::sort_text() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.sort_text) + return _internal_sort_text(); } template inline PROTOBUF_ALWAYS_INLINE -void TextDocumentItem::set_uri(ArgT0&& arg0, ArgT... args) { +void CompletionItem::set_sort_text(ArgT0&& arg0, ArgT... args) { - uri_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.uri) + sort_text_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.sort_text) } -inline std::string* TextDocumentItem::mutable_uri() { - std::string* _s = _internal_mutable_uri(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.uri) +inline std::string* CompletionItem::mutable_sort_text() { + std::string* _s = _internal_mutable_sort_text(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.sort_text) return _s; } -inline const std::string& TextDocumentItem::_internal_uri() const { - return uri_.Get(); +inline const std::string& CompletionItem::_internal_sort_text() const { + return sort_text_.Get(); } -inline void TextDocumentItem::_internal_set_uri(const std::string& value) { +inline void CompletionItem::_internal_set_sort_text(const std::string& value) { - uri_.Set(value, GetArenaForAllocation()); + sort_text_.Set(value, GetArenaForAllocation()); } -inline std::string* TextDocumentItem::_internal_mutable_uri() { +inline std::string* CompletionItem::_internal_mutable_sort_text() { - return uri_.Mutable(GetArenaForAllocation()); + return sort_text_.Mutable(GetArenaForAllocation()); } -inline std::string* TextDocumentItem::release_uri() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.uri) - return uri_.Release(); +inline std::string* CompletionItem::release_sort_text() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CompletionItem.sort_text) + return sort_text_.Release(); } -inline void TextDocumentItem::set_allocated_uri(std::string* uri) { - if (uri != nullptr) { +inline void CompletionItem::set_allocated_sort_text(std::string* sort_text) { + if (sort_text != nullptr) { } else { } - uri_.SetAllocated(uri, GetArenaForAllocation()); + sort_text_.SetAllocated(sort_text, GetArenaForAllocation()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (uri_.IsDefault()) { - uri_.Set("", GetArenaForAllocation()); + if (sort_text_.IsDefault()) { + sort_text_.Set("", GetArenaForAllocation()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.uri) + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionItem.sort_text) } -// string language_id = 2; -inline void TextDocumentItem::clear_language_id() { - language_id_.ClearToEmpty(); +// string filter_text = 11; +inline void CompletionItem::clear_filter_text() { + filter_text_.ClearToEmpty(); } -inline const std::string& TextDocumentItem::language_id() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.language_id) - return _internal_language_id(); +inline const std::string& CompletionItem::filter_text() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.filter_text) + return _internal_filter_text(); } template inline PROTOBUF_ALWAYS_INLINE -void TextDocumentItem::set_language_id(ArgT0&& arg0, ArgT... args) { +void CompletionItem::set_filter_text(ArgT0&& arg0, ArgT... args) { - language_id_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.language_id) + filter_text_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.filter_text) } -inline std::string* TextDocumentItem::mutable_language_id() { - std::string* _s = _internal_mutable_language_id(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.language_id) +inline std::string* CompletionItem::mutable_filter_text() { + std::string* _s = _internal_mutable_filter_text(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.filter_text) return _s; } -inline const std::string& TextDocumentItem::_internal_language_id() const { - return language_id_.Get(); +inline const std::string& CompletionItem::_internal_filter_text() const { + return filter_text_.Get(); } -inline void TextDocumentItem::_internal_set_language_id(const std::string& value) { +inline void CompletionItem::_internal_set_filter_text(const std::string& value) { - language_id_.Set(value, GetArenaForAllocation()); + filter_text_.Set(value, GetArenaForAllocation()); } -inline std::string* TextDocumentItem::_internal_mutable_language_id() { +inline std::string* CompletionItem::_internal_mutable_filter_text() { - return language_id_.Mutable(GetArenaForAllocation()); + return filter_text_.Mutable(GetArenaForAllocation()); } -inline std::string* TextDocumentItem::release_language_id() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.language_id) - return language_id_.Release(); +inline std::string* CompletionItem::release_filter_text() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CompletionItem.filter_text) + return filter_text_.Release(); } -inline void TextDocumentItem::set_allocated_language_id(std::string* language_id) { - if (language_id != nullptr) { +inline void CompletionItem::set_allocated_filter_text(std::string* filter_text) { + if (filter_text != nullptr) { } else { } - language_id_.SetAllocated(language_id, GetArenaForAllocation()); + filter_text_.SetAllocated(filter_text, GetArenaForAllocation()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (language_id_.IsDefault()) { - language_id_.Set("", GetArenaForAllocation()); + if (filter_text_.IsDefault()) { + filter_text_.Set("", GetArenaForAllocation()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.language_id) + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionItem.filter_text) } -// int32 version = 3; -inline void TextDocumentItem::clear_version() { - version_ = 0; +// int32 insert_text_format = 12; +inline void CompletionItem::clear_insert_text_format() { + insert_text_format_ = 0; } -inline int32_t TextDocumentItem::_internal_version() const { - return version_; +inline int32_t CompletionItem::_internal_insert_text_format() const { + return insert_text_format_; } -inline int32_t TextDocumentItem::version() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.version) - return _internal_version(); +inline int32_t CompletionItem::insert_text_format() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.insert_text_format) + return _internal_insert_text_format(); } -inline void TextDocumentItem::_internal_set_version(int32_t value) { +inline void CompletionItem::_internal_set_insert_text_format(int32_t value) { - version_ = value; + insert_text_format_ = value; } -inline void TextDocumentItem::set_version(int32_t value) { - _internal_set_version(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.version) +inline void CompletionItem::set_insert_text_format(int32_t value) { + _internal_set_insert_text_format(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.insert_text_format) } -// string text = 4; -inline void TextDocumentItem::clear_text() { - text_.ClearToEmpty(); +// repeated .io.deephaven.proto.backplane.script.grpc.TextEdit additional_text_edits = 13; +inline int CompletionItem::_internal_additional_text_edits_size() const { + return additional_text_edits_.size(); } -inline const std::string& TextDocumentItem::text() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.text) - return _internal_text(); +inline int CompletionItem::additional_text_edits_size() const { + return _internal_additional_text_edits_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void TextDocumentItem::set_text(ArgT0&& arg0, ArgT... args) { - - text_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.text) +inline void CompletionItem::clear_additional_text_edits() { + additional_text_edits_.Clear(); } -inline std::string* TextDocumentItem::mutable_text() { - std::string* _s = _internal_mutable_text(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.text) - return _s; +inline ::io::deephaven::proto::backplane::script::grpc::TextEdit* CompletionItem::mutable_additional_text_edits(int index) { + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.additional_text_edits) + return additional_text_edits_.Mutable(index); } -inline const std::string& TextDocumentItem::_internal_text() const { - return text_.Get(); +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::TextEdit >* +CompletionItem::mutable_additional_text_edits() { + // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.CompletionItem.additional_text_edits) + return &additional_text_edits_; } -inline void TextDocumentItem::_internal_set_text(const std::string& value) { - - text_.Set(value, GetArenaForAllocation()); +inline const ::io::deephaven::proto::backplane::script::grpc::TextEdit& CompletionItem::_internal_additional_text_edits(int index) const { + return additional_text_edits_.Get(index); } -inline std::string* TextDocumentItem::_internal_mutable_text() { - - return text_.Mutable(GetArenaForAllocation()); +inline const ::io::deephaven::proto::backplane::script::grpc::TextEdit& CompletionItem::additional_text_edits(int index) const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.additional_text_edits) + return _internal_additional_text_edits(index); } -inline std::string* TextDocumentItem::release_text() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.text) - return text_.Release(); +inline ::io::deephaven::proto::backplane::script::grpc::TextEdit* CompletionItem::_internal_add_additional_text_edits() { + return additional_text_edits_.Add(); } -inline void TextDocumentItem::set_allocated_text(std::string* text) { - if (text != nullptr) { - - } else { - - } - text_.SetAllocated(text, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (text_.IsDefault()) { - text_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.TextDocumentItem.text) +inline ::io::deephaven::proto::backplane::script::grpc::TextEdit* CompletionItem::add_additional_text_edits() { + ::io::deephaven::proto::backplane::script::grpc::TextEdit* _add = _internal_add_additional_text_edits(); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.CompletionItem.additional_text_edits) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::TextEdit >& +CompletionItem::additional_text_edits() const { + // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.CompletionItem.additional_text_edits) + return additional_text_edits_; +} + +// repeated string commit_characters = 14; +inline int CompletionItem::_internal_commit_characters_size() const { + return commit_characters_.size(); +} +inline int CompletionItem::commit_characters_size() const { + return _internal_commit_characters_size(); +} +inline void CompletionItem::clear_commit_characters() { + commit_characters_.Clear(); +} +inline std::string* CompletionItem::add_commit_characters() { + std::string* _s = _internal_add_commit_characters(); + // @@protoc_insertion_point(field_add_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) + return _s; +} +inline const std::string& CompletionItem::_internal_commit_characters(int index) const { + return commit_characters_.Get(index); +} +inline const std::string& CompletionItem::commit_characters(int index) const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) + return _internal_commit_characters(index); +} +inline std::string* CompletionItem::mutable_commit_characters(int index) { + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) + return commit_characters_.Mutable(index); } - -// ------------------------------------------------------------------- - -// CloseDocumentRequest - -// .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; -inline bool CloseDocumentRequest::_internal_has_console_id() const { - return this != internal_default_instance() && console_id_ != nullptr; +inline void CompletionItem::set_commit_characters(int index, const std::string& value) { + commit_characters_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) } -inline bool CloseDocumentRequest::has_console_id() const { - return _internal_has_console_id(); +inline void CompletionItem::set_commit_characters(int index, std::string&& value) { + commit_characters_.Mutable(index)->assign(std::move(value)); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& CloseDocumentRequest::_internal_console_id() const { - const ::io::deephaven::proto::backplane::grpc::Ticket* p = console_id_; - return p != nullptr ? *p : reinterpret_cast( - ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +inline void CompletionItem::set_commit_characters(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + commit_characters_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& CloseDocumentRequest::console_id() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.console_id) - return _internal_console_id(); +inline void CompletionItem::set_commit_characters(int index, const char* value, size_t size) { + commit_characters_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) } -inline void CloseDocumentRequest::unsafe_arena_set_allocated_console_id( - ::io::deephaven::proto::backplane::grpc::Ticket* console_id) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); - } - console_id_ = console_id; - if (console_id) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.console_id) +inline std::string* CompletionItem::_internal_add_commit_characters() { + return commit_characters_.Add(); } -inline ::io::deephaven::proto::backplane::grpc::Ticket* CloseDocumentRequest::release_console_id() { - - ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; - console_id_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline void CompletionItem::add_commit_characters(const std::string& value) { + commit_characters_.Add()->assign(value); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) } -inline ::io::deephaven::proto::backplane::grpc::Ticket* CloseDocumentRequest::unsafe_arena_release_console_id() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.console_id) - - ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; - console_id_ = nullptr; - return temp; +inline void CompletionItem::add_commit_characters(std::string&& value) { + commit_characters_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) } -inline ::io::deephaven::proto::backplane::grpc::Ticket* CloseDocumentRequest::_internal_mutable_console_id() { - - if (console_id_ == nullptr) { - auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); - console_id_ = p; - } - return console_id_; +inline void CompletionItem::add_commit_characters(const char* value) { + GOOGLE_DCHECK(value != nullptr); + commit_characters_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) } -inline ::io::deephaven::proto::backplane::grpc::Ticket* CloseDocumentRequest::mutable_console_id() { - ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_console_id(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.console_id) - return _msg; +inline void CompletionItem::add_commit_characters(const char* value, size_t size) { + commit_characters_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) } -inline void CloseDocumentRequest::set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); - } - if (console_id) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id)); - if (message_arena != submessage_arena) { - console_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, console_id, submessage_arena); - } - - } else { - - } - console_id_ = console_id; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.console_id) +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& +CompletionItem::commit_characters() const { + // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) + return commit_characters_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* +CompletionItem::mutable_commit_characters() { + // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) + return &commit_characters_; } -// .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; -inline bool CloseDocumentRequest::_internal_has_text_document() const { - return this != internal_default_instance() && text_document_ != nullptr; +// .io.deephaven.proto.backplane.script.grpc.MarkupContent documentation = 15; +inline bool CompletionItem::_internal_has_documentation() const { + return this != internal_default_instance() && documentation_ != nullptr; } -inline bool CloseDocumentRequest::has_text_document() const { - return _internal_has_text_document(); +inline bool CompletionItem::has_documentation() const { + return _internal_has_documentation(); } -inline void CloseDocumentRequest::clear_text_document() { - if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { - delete text_document_; +inline void CompletionItem::clear_documentation() { + if (GetArenaForAllocation() == nullptr && documentation_ != nullptr) { + delete documentation_; } - text_document_ = nullptr; + documentation_ = nullptr; } -inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& CloseDocumentRequest::_internal_text_document() const { - const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* p = text_document_; - return p != nullptr ? *p : reinterpret_cast( - ::io::deephaven::proto::backplane::script::grpc::_VersionedTextDocumentIdentifier_default_instance_); +inline const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& CompletionItem::_internal_documentation() const { + const ::io::deephaven::proto::backplane::script::grpc::MarkupContent* p = documentation_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_MarkupContent_default_instance_); } -inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& CloseDocumentRequest::text_document() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.text_document) - return _internal_text_document(); +inline const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& CompletionItem::documentation() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.documentation) + return _internal_documentation(); } -inline void CloseDocumentRequest::unsafe_arena_set_allocated_text_document( - ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document) { +inline void CompletionItem::unsafe_arena_set_allocated_documentation( + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* documentation) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(text_document_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(documentation_); } - text_document_ = text_document; - if (text_document) { + documentation_ = documentation; + if (documentation) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.text_document) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionItem.documentation) } -inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* CloseDocumentRequest::release_text_document() { +inline ::io::deephaven::proto::backplane::script::grpc::MarkupContent* CompletionItem::release_documentation() { - ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* temp = text_document_; - text_document_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* temp = documentation_; + documentation_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -11836,73 +17675,73 @@ inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIde #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* CloseDocumentRequest::unsafe_arena_release_text_document() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.text_document) +inline ::io::deephaven::proto::backplane::script::grpc::MarkupContent* CompletionItem::unsafe_arena_release_documentation() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CompletionItem.documentation) - ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* temp = text_document_; - text_document_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* temp = documentation_; + documentation_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* CloseDocumentRequest::_internal_mutable_text_document() { +inline ::io::deephaven::proto::backplane::script::grpc::MarkupContent* CompletionItem::_internal_mutable_documentation() { - if (text_document_ == nullptr) { - auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier>(GetArenaForAllocation()); - text_document_ = p; + if (documentation_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::MarkupContent>(GetArenaForAllocation()); + documentation_ = p; } - return text_document_; + return documentation_; } -inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* CloseDocumentRequest::mutable_text_document() { - ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* _msg = _internal_mutable_text_document(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.text_document) +inline ::io::deephaven::proto::backplane::script::grpc::MarkupContent* CompletionItem::mutable_documentation() { + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* _msg = _internal_mutable_documentation(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.documentation) return _msg; } -inline void CloseDocumentRequest::set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document) { +inline void CompletionItem::set_allocated_documentation(::io::deephaven::proto::backplane::script::grpc::MarkupContent* documentation) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete text_document_; + delete documentation_; } - if (text_document) { + if (documentation) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(text_document); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(documentation); if (message_arena != submessage_arena) { - text_document = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, text_document, submessage_arena); + documentation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, documentation, submessage_arena); } } else { } - text_document_ = text_document; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.text_document) + documentation_ = documentation; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionItem.documentation) } // ------------------------------------------------------------------- -// ChangeDocumentRequest_TextDocumentContentChangeEvent +// TextEdit // .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; -inline bool ChangeDocumentRequest_TextDocumentContentChangeEvent::_internal_has_range() const { +inline bool TextEdit::_internal_has_range() const { return this != internal_default_instance() && range_ != nullptr; } -inline bool ChangeDocumentRequest_TextDocumentContentChangeEvent::has_range() const { +inline bool TextEdit::has_range() const { return _internal_has_range(); } -inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::clear_range() { +inline void TextEdit::clear_range() { if (GetArenaForAllocation() == nullptr && range_ != nullptr) { delete range_; } range_ = nullptr; } -inline const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& ChangeDocumentRequest_TextDocumentContentChangeEvent::_internal_range() const { +inline const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& TextEdit::_internal_range() const { const ::io::deephaven::proto::backplane::script::grpc::DocumentRange* p = range_; return p != nullptr ? *p : reinterpret_cast( ::io::deephaven::proto::backplane::script::grpc::_DocumentRange_default_instance_); } -inline const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& ChangeDocumentRequest_TextDocumentContentChangeEvent::range() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.range) +inline const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& TextEdit::range() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.TextEdit.range) return _internal_range(); } -inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::unsafe_arena_set_allocated_range( +inline void TextEdit::unsafe_arena_set_allocated_range( ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range) { if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(range_); @@ -11913,9 +17752,9 @@ inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::unsafe_arena_s } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.range) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.TextEdit.range) } -inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* ChangeDocumentRequest_TextDocumentContentChangeEvent::release_range() { +inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* TextEdit::release_range() { ::io::deephaven::proto::backplane::script::grpc::DocumentRange* temp = range_; range_ = nullptr; @@ -11930,14 +17769,14 @@ inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* ChangeDoc #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* ChangeDocumentRequest_TextDocumentContentChangeEvent::unsafe_arena_release_range() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.range) +inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* TextEdit::unsafe_arena_release_range() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.TextEdit.range) ::io::deephaven::proto::backplane::script::grpc::DocumentRange* temp = range_; range_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* ChangeDocumentRequest_TextDocumentContentChangeEvent::_internal_mutable_range() { +inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* TextEdit::_internal_mutable_range() { if (range_ == nullptr) { auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::DocumentRange>(GetArenaForAllocation()); @@ -11945,12 +17784,12 @@ inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* ChangeDoc } return range_; } -inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* ChangeDocumentRequest_TextDocumentContentChangeEvent::mutable_range() { +inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* TextEdit::mutable_range() { ::io::deephaven::proto::backplane::script::grpc::DocumentRange* _msg = _internal_mutable_range(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.range) + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.TextEdit.range) return _msg; } -inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::set_allocated_range(::io::deephaven::proto::backplane::script::grpc::DocumentRange* range) { +inline void TextEdit::set_allocated_range(::io::deephaven::proto::backplane::script::grpc::DocumentRange* range) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { delete range_; @@ -11967,65 +17806,45 @@ inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::set_allocated_ } range_ = range; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.range) -} - -// int32 range_length = 2; -inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::clear_range_length() { - range_length_ = 0; -} -inline int32_t ChangeDocumentRequest_TextDocumentContentChangeEvent::_internal_range_length() const { - return range_length_; -} -inline int32_t ChangeDocumentRequest_TextDocumentContentChangeEvent::range_length() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.range_length) - return _internal_range_length(); -} -inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::_internal_set_range_length(int32_t value) { - - range_length_ = value; -} -inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::set_range_length(int32_t value) { - _internal_set_range_length(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.range_length) + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.TextEdit.range) } -// string text = 3; -inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::clear_text() { +// string text = 2; +inline void TextEdit::clear_text() { text_.ClearToEmpty(); } -inline const std::string& ChangeDocumentRequest_TextDocumentContentChangeEvent::text() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.text) +inline const std::string& TextEdit::text() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.TextEdit.text) return _internal_text(); } template inline PROTOBUF_ALWAYS_INLINE -void ChangeDocumentRequest_TextDocumentContentChangeEvent::set_text(ArgT0&& arg0, ArgT... args) { +void TextEdit::set_text(ArgT0&& arg0, ArgT... args) { text_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.text) + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.TextEdit.text) } -inline std::string* ChangeDocumentRequest_TextDocumentContentChangeEvent::mutable_text() { +inline std::string* TextEdit::mutable_text() { std::string* _s = _internal_mutable_text(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.text) + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.TextEdit.text) return _s; } -inline const std::string& ChangeDocumentRequest_TextDocumentContentChangeEvent::_internal_text() const { +inline const std::string& TextEdit::_internal_text() const { return text_.Get(); } -inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::_internal_set_text(const std::string& value) { +inline void TextEdit::_internal_set_text(const std::string& value) { text_.Set(value, GetArenaForAllocation()); } -inline std::string* ChangeDocumentRequest_TextDocumentContentChangeEvent::_internal_mutable_text() { +inline std::string* TextEdit::_internal_mutable_text() { return text_.Mutable(GetArenaForAllocation()); } -inline std::string* ChangeDocumentRequest_TextDocumentContentChangeEvent::release_text() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.text) +inline std::string* TextEdit::release_text() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.TextEdit.text) return text_.Release(); } -inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::set_allocated_text(std::string* text) { +inline void TextEdit::set_allocated_text(std::string* text) { if (text != nullptr) { } else { @@ -12037,46 +17856,52 @@ inline void ChangeDocumentRequest_TextDocumentContentChangeEvent::set_allocated_ text_.Set("", GetArenaForAllocation()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.text) + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.TextEdit.text) } // ------------------------------------------------------------------- -// ChangeDocumentRequest +// GetSignatureHelpRequest -// .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; -inline bool ChangeDocumentRequest::_internal_has_console_id() const { - return this != internal_default_instance() && console_id_ != nullptr; +// .io.deephaven.proto.backplane.script.grpc.SignatureHelpContext context = 1; +inline bool GetSignatureHelpRequest::_internal_has_context() const { + return this != internal_default_instance() && context_ != nullptr; } -inline bool ChangeDocumentRequest::has_console_id() const { - return _internal_has_console_id(); +inline bool GetSignatureHelpRequest::has_context() const { + return _internal_has_context(); } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& ChangeDocumentRequest::_internal_console_id() const { - const ::io::deephaven::proto::backplane::grpc::Ticket* p = console_id_; - return p != nullptr ? *p : reinterpret_cast( - ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +inline void GetSignatureHelpRequest::clear_context() { + if (GetArenaForAllocation() == nullptr && context_ != nullptr) { + delete context_; + } + context_ = nullptr; } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& ChangeDocumentRequest::console_id() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.console_id) - return _internal_console_id(); +inline const ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext& GetSignatureHelpRequest::_internal_context() const { + const ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* p = context_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_SignatureHelpContext_default_instance_); } -inline void ChangeDocumentRequest::unsafe_arena_set_allocated_console_id( - ::io::deephaven::proto::backplane::grpc::Ticket* console_id) { +inline const ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext& GetSignatureHelpRequest::context() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.context) + return _internal_context(); +} +inline void GetSignatureHelpRequest::unsafe_arena_set_allocated_context( + ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* context) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(context_); } - console_id_ = console_id; - if (console_id) { + context_ = context; + if (context) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.console_id) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.context) } -inline ::io::deephaven::proto::backplane::grpc::Ticket* ChangeDocumentRequest::release_console_id() { +inline ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* GetSignatureHelpRequest::release_context() { - ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; - console_id_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* temp = context_; + context_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -12088,70 +17913,69 @@ inline ::io::deephaven::proto::backplane::grpc::Ticket* ChangeDocumentRequest::r #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* ChangeDocumentRequest::unsafe_arena_release_console_id() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.console_id) +inline ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* GetSignatureHelpRequest::unsafe_arena_release_context() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.context) - ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; - console_id_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* temp = context_; + context_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* ChangeDocumentRequest::_internal_mutable_console_id() { +inline ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* GetSignatureHelpRequest::_internal_mutable_context() { - if (console_id_ == nullptr) { - auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); - console_id_ = p; + if (context_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext>(GetArenaForAllocation()); + context_ = p; } - return console_id_; + return context_; } -inline ::io::deephaven::proto::backplane::grpc::Ticket* ChangeDocumentRequest::mutable_console_id() { - ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_console_id(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.console_id) +inline ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* GetSignatureHelpRequest::mutable_context() { + ::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* _msg = _internal_mutable_context(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.context) return _msg; } -inline void ChangeDocumentRequest::set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id) { +inline void GetSignatureHelpRequest::set_allocated_context(::io::deephaven::proto::backplane::script::grpc::SignatureHelpContext* context) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); + delete context_; } - if (console_id) { + if (context) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id)); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(context); if (message_arena != submessage_arena) { - console_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, console_id, submessage_arena); + context = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, context, submessage_arena); } } else { } - console_id_ = console_id; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.console_id) + context_ = context; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.context) } // .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 2; -inline bool ChangeDocumentRequest::_internal_has_text_document() const { +inline bool GetSignatureHelpRequest::_internal_has_text_document() const { return this != internal_default_instance() && text_document_ != nullptr; } -inline bool ChangeDocumentRequest::has_text_document() const { +inline bool GetSignatureHelpRequest::has_text_document() const { return _internal_has_text_document(); } -inline void ChangeDocumentRequest::clear_text_document() { +inline void GetSignatureHelpRequest::clear_text_document() { if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { delete text_document_; } text_document_ = nullptr; } -inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& ChangeDocumentRequest::_internal_text_document() const { +inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& GetSignatureHelpRequest::_internal_text_document() const { const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* p = text_document_; return p != nullptr ? *p : reinterpret_cast( ::io::deephaven::proto::backplane::script::grpc::_VersionedTextDocumentIdentifier_default_instance_); } -inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& ChangeDocumentRequest::text_document() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.text_document) +inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& GetSignatureHelpRequest::text_document() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.text_document) return _internal_text_document(); } -inline void ChangeDocumentRequest::unsafe_arena_set_allocated_text_document( +inline void GetSignatureHelpRequest::unsafe_arena_set_allocated_text_document( ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document) { if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(text_document_); @@ -12162,9 +17986,9 @@ inline void ChangeDocumentRequest::unsafe_arena_set_allocated_text_document( } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.text_document) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.text_document) } -inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* ChangeDocumentRequest::release_text_document() { +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetSignatureHelpRequest::release_text_document() { ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* temp = text_document_; text_document_ = nullptr; @@ -12179,14 +18003,14 @@ inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIde #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* ChangeDocumentRequest::unsafe_arena_release_text_document() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.text_document) +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetSignatureHelpRequest::unsafe_arena_release_text_document() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.text_document) ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* temp = text_document_; text_document_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* ChangeDocumentRequest::_internal_mutable_text_document() { +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetSignatureHelpRequest::_internal_mutable_text_document() { if (text_document_ == nullptr) { auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier>(GetArenaForAllocation()); @@ -12194,12 +18018,12 @@ inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIde } return text_document_; } -inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* ChangeDocumentRequest::mutable_text_document() { +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetSignatureHelpRequest::mutable_text_document() { ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* _msg = _internal_mutable_text_document(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.text_document) + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.text_document) return _msg; } -inline void ChangeDocumentRequest::set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document) { +inline void GetSignatureHelpRequest::set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { delete text_document_; @@ -12216,92 +18040,48 @@ inline void ChangeDocumentRequest::set_allocated_text_document(::io::deephaven:: } text_document_ = text_document; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.text_document) -} - -// repeated .io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent content_changes = 3; -inline int ChangeDocumentRequest::_internal_content_changes_size() const { - return content_changes_.size(); -} -inline int ChangeDocumentRequest::content_changes_size() const { - return _internal_content_changes_size(); -} -inline void ChangeDocumentRequest::clear_content_changes() { - content_changes_.Clear(); -} -inline ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent* ChangeDocumentRequest::mutable_content_changes(int index) { - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.content_changes) - return content_changes_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent >* -ChangeDocumentRequest::mutable_content_changes() { - // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.content_changes) - return &content_changes_; -} -inline const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent& ChangeDocumentRequest::_internal_content_changes(int index) const { - return content_changes_.Get(index); -} -inline const ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent& ChangeDocumentRequest::content_changes(int index) const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.content_changes) - return _internal_content_changes(index); -} -inline ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent* ChangeDocumentRequest::_internal_add_content_changes() { - return content_changes_.Add(); -} -inline ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent* ChangeDocumentRequest::add_content_changes() { - ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent* _add = _internal_add_content_changes(); - // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.content_changes) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::ChangeDocumentRequest_TextDocumentContentChangeEvent >& -ChangeDocumentRequest::content_changes() const { - // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.content_changes) - return content_changes_; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.text_document) } -// ------------------------------------------------------------------- - -// DocumentRange - -// .io.deephaven.proto.backplane.script.grpc.Position start = 1; -inline bool DocumentRange::_internal_has_start() const { - return this != internal_default_instance() && start_ != nullptr; +// .io.deephaven.proto.backplane.script.grpc.Position position = 3; +inline bool GetSignatureHelpRequest::_internal_has_position() const { + return this != internal_default_instance() && position_ != nullptr; } -inline bool DocumentRange::has_start() const { - return _internal_has_start(); +inline bool GetSignatureHelpRequest::has_position() const { + return _internal_has_position(); } -inline void DocumentRange::clear_start() { - if (GetArenaForAllocation() == nullptr && start_ != nullptr) { - delete start_; +inline void GetSignatureHelpRequest::clear_position() { + if (GetArenaForAllocation() == nullptr && position_ != nullptr) { + delete position_; } - start_ = nullptr; + position_ = nullptr; } -inline const ::io::deephaven::proto::backplane::script::grpc::Position& DocumentRange::_internal_start() const { - const ::io::deephaven::proto::backplane::script::grpc::Position* p = start_; +inline const ::io::deephaven::proto::backplane::script::grpc::Position& GetSignatureHelpRequest::_internal_position() const { + const ::io::deephaven::proto::backplane::script::grpc::Position* p = position_; return p != nullptr ? *p : reinterpret_cast( ::io::deephaven::proto::backplane::script::grpc::_Position_default_instance_); } -inline const ::io::deephaven::proto::backplane::script::grpc::Position& DocumentRange::start() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.DocumentRange.start) - return _internal_start(); +inline const ::io::deephaven::proto::backplane::script::grpc::Position& GetSignatureHelpRequest::position() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.position) + return _internal_position(); } -inline void DocumentRange::unsafe_arena_set_allocated_start( - ::io::deephaven::proto::backplane::script::grpc::Position* start) { +inline void GetSignatureHelpRequest::unsafe_arena_set_allocated_position( + ::io::deephaven::proto::backplane::script::grpc::Position* position) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(start_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(position_); } - start_ = start; - if (start) { + position_ = position; + if (position) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.DocumentRange.start) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.position) } -inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange::release_start() { +inline ::io::deephaven::proto::backplane::script::grpc::Position* GetSignatureHelpRequest::release_position() { - ::io::deephaven::proto::backplane::script::grpc::Position* temp = start_; - start_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::Position* temp = position_; + position_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -12313,85 +18093,197 @@ inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange: #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange::unsafe_arena_release_start() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.DocumentRange.start) +inline ::io::deephaven::proto::backplane::script::grpc::Position* GetSignatureHelpRequest::unsafe_arena_release_position() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.position) - ::io::deephaven::proto::backplane::script::grpc::Position* temp = start_; - start_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::Position* temp = position_; + position_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange::_internal_mutable_start() { +inline ::io::deephaven::proto::backplane::script::grpc::Position* GetSignatureHelpRequest::_internal_mutable_position() { - if (start_ == nullptr) { + if (position_ == nullptr) { auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::Position>(GetArenaForAllocation()); - start_ = p; + position_ = p; } - return start_; + return position_; } -inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange::mutable_start() { - ::io::deephaven::proto::backplane::script::grpc::Position* _msg = _internal_mutable_start(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.DocumentRange.start) +inline ::io::deephaven::proto::backplane::script::grpc::Position* GetSignatureHelpRequest::mutable_position() { + ::io::deephaven::proto::backplane::script::grpc::Position* _msg = _internal_mutable_position(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.position) return _msg; } -inline void DocumentRange::set_allocated_start(::io::deephaven::proto::backplane::script::grpc::Position* start) { +inline void GetSignatureHelpRequest::set_allocated_position(::io::deephaven::proto::backplane::script::grpc::Position* position) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete start_; + delete position_; } - if (start) { + if (position) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(start); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(position); if (message_arena != submessage_arena) { - start = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, start, submessage_arena); + position = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, position, submessage_arena); } } else { } - start_ = start; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.DocumentRange.start) + position_ = position; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.position) +} + +// ------------------------------------------------------------------- + +// SignatureHelpContext + +// int32 trigger_kind = 1; +inline void SignatureHelpContext::clear_trigger_kind() { + trigger_kind_ = 0; +} +inline int32_t SignatureHelpContext::_internal_trigger_kind() const { + return trigger_kind_; +} +inline int32_t SignatureHelpContext::trigger_kind() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.trigger_kind) + return _internal_trigger_kind(); +} +inline void SignatureHelpContext::_internal_set_trigger_kind(int32_t value) { + + trigger_kind_ = value; +} +inline void SignatureHelpContext::set_trigger_kind(int32_t value) { + _internal_set_trigger_kind(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.trigger_kind) +} + +// optional string trigger_character = 2; +inline bool SignatureHelpContext::_internal_has_trigger_character() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool SignatureHelpContext::has_trigger_character() const { + return _internal_has_trigger_character(); +} +inline void SignatureHelpContext::clear_trigger_character() { + trigger_character_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; +} +inline const std::string& SignatureHelpContext::trigger_character() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.trigger_character) + return _internal_trigger_character(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void SignatureHelpContext::set_trigger_character(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + trigger_character_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.trigger_character) +} +inline std::string* SignatureHelpContext::mutable_trigger_character() { + std::string* _s = _internal_mutable_trigger_character(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.trigger_character) + return _s; +} +inline const std::string& SignatureHelpContext::_internal_trigger_character() const { + return trigger_character_.Get(); +} +inline void SignatureHelpContext::_internal_set_trigger_character(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + trigger_character_.Set(value, GetArenaForAllocation()); +} +inline std::string* SignatureHelpContext::_internal_mutable_trigger_character() { + _has_bits_[0] |= 0x00000001u; + return trigger_character_.Mutable(GetArenaForAllocation()); +} +inline std::string* SignatureHelpContext::release_trigger_character() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.trigger_character) + if (!_internal_has_trigger_character()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + auto* p = trigger_character_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (trigger_character_.IsDefault()) { + trigger_character_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; +} +inline void SignatureHelpContext::set_allocated_trigger_character(std::string* trigger_character) { + if (trigger_character != nullptr) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + trigger_character_.SetAllocated(trigger_character, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (trigger_character_.IsDefault()) { + trigger_character_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.trigger_character) +} + +// bool is_retrigger = 3; +inline void SignatureHelpContext::clear_is_retrigger() { + is_retrigger_ = false; +} +inline bool SignatureHelpContext::_internal_is_retrigger() const { + return is_retrigger_; +} +inline bool SignatureHelpContext::is_retrigger() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.is_retrigger) + return _internal_is_retrigger(); +} +inline void SignatureHelpContext::_internal_set_is_retrigger(bool value) { + + is_retrigger_ = value; +} +inline void SignatureHelpContext::set_is_retrigger(bool value) { + _internal_set_is_retrigger(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.is_retrigger) } -// .io.deephaven.proto.backplane.script.grpc.Position end = 2; -inline bool DocumentRange::_internal_has_end() const { - return this != internal_default_instance() && end_ != nullptr; +// .io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse active_signature_help = 4; +inline bool SignatureHelpContext::_internal_has_active_signature_help() const { + return this != internal_default_instance() && active_signature_help_ != nullptr; } -inline bool DocumentRange::has_end() const { - return _internal_has_end(); +inline bool SignatureHelpContext::has_active_signature_help() const { + return _internal_has_active_signature_help(); } -inline void DocumentRange::clear_end() { - if (GetArenaForAllocation() == nullptr && end_ != nullptr) { - delete end_; +inline void SignatureHelpContext::clear_active_signature_help() { + if (GetArenaForAllocation() == nullptr && active_signature_help_ != nullptr) { + delete active_signature_help_; } - end_ = nullptr; + active_signature_help_ = nullptr; } -inline const ::io::deephaven::proto::backplane::script::grpc::Position& DocumentRange::_internal_end() const { - const ::io::deephaven::proto::backplane::script::grpc::Position* p = end_; - return p != nullptr ? *p : reinterpret_cast( - ::io::deephaven::proto::backplane::script::grpc::_Position_default_instance_); +inline const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse& SignatureHelpContext::_internal_active_signature_help() const { + const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* p = active_signature_help_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_GetSignatureHelpResponse_default_instance_); } -inline const ::io::deephaven::proto::backplane::script::grpc::Position& DocumentRange::end() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.DocumentRange.end) - return _internal_end(); +inline const ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse& SignatureHelpContext::active_signature_help() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.active_signature_help) + return _internal_active_signature_help(); } -inline void DocumentRange::unsafe_arena_set_allocated_end( - ::io::deephaven::proto::backplane::script::grpc::Position* end) { +inline void SignatureHelpContext::unsafe_arena_set_allocated_active_signature_help( + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* active_signature_help) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(end_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(active_signature_help_); } - end_ = end; - if (end) { + active_signature_help_ = active_signature_help; + if (active_signature_help) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.DocumentRange.end) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.active_signature_help) } -inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange::release_end() { +inline ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* SignatureHelpContext::release_active_signature_help() { - ::io::deephaven::proto::backplane::script::grpc::Position* temp = end_; - end_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* temp = active_signature_help_; + active_signature_help_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -12403,292 +18295,451 @@ inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange: #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange::unsafe_arena_release_end() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.DocumentRange.end) +inline ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* SignatureHelpContext::unsafe_arena_release_active_signature_help() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.active_signature_help) - ::io::deephaven::proto::backplane::script::grpc::Position* temp = end_; - end_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* temp = active_signature_help_; + active_signature_help_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange::_internal_mutable_end() { +inline ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* SignatureHelpContext::_internal_mutable_active_signature_help() { - if (end_ == nullptr) { - auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::Position>(GetArenaForAllocation()); - end_ = p; + if (active_signature_help_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse>(GetArenaForAllocation()); + active_signature_help_ = p; } - return end_; + return active_signature_help_; } -inline ::io::deephaven::proto::backplane::script::grpc::Position* DocumentRange::mutable_end() { - ::io::deephaven::proto::backplane::script::grpc::Position* _msg = _internal_mutable_end(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.DocumentRange.end) +inline ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* SignatureHelpContext::mutable_active_signature_help() { + ::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* _msg = _internal_mutable_active_signature_help(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.active_signature_help) return _msg; } -inline void DocumentRange::set_allocated_end(::io::deephaven::proto::backplane::script::grpc::Position* end) { +inline void SignatureHelpContext::set_allocated_active_signature_help(::io::deephaven::proto::backplane::script::grpc::GetSignatureHelpResponse* active_signature_help) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete end_; + delete active_signature_help_; } - if (end) { + if (active_signature_help) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(end); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(active_signature_help); if (message_arena != submessage_arena) { - end = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, end, submessage_arena); + active_signature_help = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, active_signature_help, submessage_arena); } } else { } - end_ = end; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.DocumentRange.end) + active_signature_help_ = active_signature_help; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.active_signature_help) } // ------------------------------------------------------------------- -// VersionedTextDocumentIdentifier +// GetSignatureHelpResponse -// string uri = 1; -inline void VersionedTextDocumentIdentifier::clear_uri() { - uri_.ClearToEmpty(); +// repeated .io.deephaven.proto.backplane.script.grpc.SignatureInformation signatures = 1; +inline int GetSignatureHelpResponse::_internal_signatures_size() const { + return signatures_.size(); } -inline const std::string& VersionedTextDocumentIdentifier::uri() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.uri) - return _internal_uri(); +inline int GetSignatureHelpResponse::signatures_size() const { + return _internal_signatures_size(); +} +inline void GetSignatureHelpResponse::clear_signatures() { + signatures_.Clear(); +} +inline ::io::deephaven::proto::backplane::script::grpc::SignatureInformation* GetSignatureHelpResponse::mutable_signatures(int index) { + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse.signatures) + return signatures_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::SignatureInformation >* +GetSignatureHelpResponse::mutable_signatures() { + // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse.signatures) + return &signatures_; +} +inline const ::io::deephaven::proto::backplane::script::grpc::SignatureInformation& GetSignatureHelpResponse::_internal_signatures(int index) const { + return signatures_.Get(index); +} +inline const ::io::deephaven::proto::backplane::script::grpc::SignatureInformation& GetSignatureHelpResponse::signatures(int index) const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse.signatures) + return _internal_signatures(index); +} +inline ::io::deephaven::proto::backplane::script::grpc::SignatureInformation* GetSignatureHelpResponse::_internal_add_signatures() { + return signatures_.Add(); +} +inline ::io::deephaven::proto::backplane::script::grpc::SignatureInformation* GetSignatureHelpResponse::add_signatures() { + ::io::deephaven::proto::backplane::script::grpc::SignatureInformation* _add = _internal_add_signatures(); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse.signatures) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::SignatureInformation >& +GetSignatureHelpResponse::signatures() const { + // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse.signatures) + return signatures_; +} + +// optional int32 active_signature = 2; +inline bool GetSignatureHelpResponse::_internal_has_active_signature() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool GetSignatureHelpResponse::has_active_signature() const { + return _internal_has_active_signature(); +} +inline void GetSignatureHelpResponse::clear_active_signature() { + active_signature_ = 0; + _has_bits_[0] &= ~0x00000001u; +} +inline int32_t GetSignatureHelpResponse::_internal_active_signature() const { + return active_signature_; +} +inline int32_t GetSignatureHelpResponse::active_signature() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse.active_signature) + return _internal_active_signature(); +} +inline void GetSignatureHelpResponse::_internal_set_active_signature(int32_t value) { + _has_bits_[0] |= 0x00000001u; + active_signature_ = value; +} +inline void GetSignatureHelpResponse::set_active_signature(int32_t value) { + _internal_set_active_signature(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse.active_signature) +} + +// optional int32 active_parameter = 3; +inline bool GetSignatureHelpResponse::_internal_has_active_parameter() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool GetSignatureHelpResponse::has_active_parameter() const { + return _internal_has_active_parameter(); +} +inline void GetSignatureHelpResponse::clear_active_parameter() { + active_parameter_ = 0; + _has_bits_[0] &= ~0x00000002u; +} +inline int32_t GetSignatureHelpResponse::_internal_active_parameter() const { + return active_parameter_; +} +inline int32_t GetSignatureHelpResponse::active_parameter() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse.active_parameter) + return _internal_active_parameter(); +} +inline void GetSignatureHelpResponse::_internal_set_active_parameter(int32_t value) { + _has_bits_[0] |= 0x00000002u; + active_parameter_ = value; +} +inline void GetSignatureHelpResponse::set_active_parameter(int32_t value) { + _internal_set_active_parameter(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse.active_parameter) +} + +// ------------------------------------------------------------------- + +// SignatureInformation + +// string label = 1; +inline void SignatureInformation::clear_label() { + label_.ClearToEmpty(); +} +inline const std::string& SignatureInformation::label() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.SignatureInformation.label) + return _internal_label(); } template inline PROTOBUF_ALWAYS_INLINE -void VersionedTextDocumentIdentifier::set_uri(ArgT0&& arg0, ArgT... args) { +void SignatureInformation::set_label(ArgT0&& arg0, ArgT... args) { - uri_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.uri) + label_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.SignatureInformation.label) } -inline std::string* VersionedTextDocumentIdentifier::mutable_uri() { - std::string* _s = _internal_mutable_uri(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.uri) +inline std::string* SignatureInformation::mutable_label() { + std::string* _s = _internal_mutable_label(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.SignatureInformation.label) return _s; } -inline const std::string& VersionedTextDocumentIdentifier::_internal_uri() const { - return uri_.Get(); +inline const std::string& SignatureInformation::_internal_label() const { + return label_.Get(); } -inline void VersionedTextDocumentIdentifier::_internal_set_uri(const std::string& value) { +inline void SignatureInformation::_internal_set_label(const std::string& value) { - uri_.Set(value, GetArenaForAllocation()); + label_.Set(value, GetArenaForAllocation()); } -inline std::string* VersionedTextDocumentIdentifier::_internal_mutable_uri() { +inline std::string* SignatureInformation::_internal_mutable_label() { - return uri_.Mutable(GetArenaForAllocation()); + return label_.Mutable(GetArenaForAllocation()); } -inline std::string* VersionedTextDocumentIdentifier::release_uri() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.uri) - return uri_.Release(); +inline std::string* SignatureInformation::release_label() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.SignatureInformation.label) + return label_.Release(); } -inline void VersionedTextDocumentIdentifier::set_allocated_uri(std::string* uri) { - if (uri != nullptr) { +inline void SignatureInformation::set_allocated_label(std::string* label) { + if (label != nullptr) { } else { } - uri_.SetAllocated(uri, GetArenaForAllocation()); + label_.SetAllocated(label, GetArenaForAllocation()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (uri_.IsDefault()) { - uri_.Set("", GetArenaForAllocation()); + if (label_.IsDefault()) { + label_.Set("", GetArenaForAllocation()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.uri) + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.SignatureInformation.label) } -// int32 version = 2; -inline void VersionedTextDocumentIdentifier::clear_version() { - version_ = 0; +// .io.deephaven.proto.backplane.script.grpc.MarkupContent documentation = 2; +inline bool SignatureInformation::_internal_has_documentation() const { + return this != internal_default_instance() && documentation_ != nullptr; } -inline int32_t VersionedTextDocumentIdentifier::_internal_version() const { - return version_; +inline bool SignatureInformation::has_documentation() const { + return _internal_has_documentation(); } -inline int32_t VersionedTextDocumentIdentifier::version() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.version) - return _internal_version(); +inline void SignatureInformation::clear_documentation() { + if (GetArenaForAllocation() == nullptr && documentation_ != nullptr) { + delete documentation_; + } + documentation_ = nullptr; } -inline void VersionedTextDocumentIdentifier::_internal_set_version(int32_t value) { - - version_ = value; +inline const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& SignatureInformation::_internal_documentation() const { + const ::io::deephaven::proto::backplane::script::grpc::MarkupContent* p = documentation_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_MarkupContent_default_instance_); } -inline void VersionedTextDocumentIdentifier::set_version(int32_t value) { - _internal_set_version(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier.version) +inline const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& SignatureInformation::documentation() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.SignatureInformation.documentation) + return _internal_documentation(); } - -// ------------------------------------------------------------------- - -// Position - -// int32 line = 1; -inline void Position::clear_line() { - line_ = 0; +inline void SignatureInformation::unsafe_arena_set_allocated_documentation( + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* documentation) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(documentation_); + } + documentation_ = documentation; + if (documentation) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.SignatureInformation.documentation) } -inline int32_t Position::_internal_line() const { - return line_; +inline ::io::deephaven::proto::backplane::script::grpc::MarkupContent* SignatureInformation::release_documentation() { + + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* temp = documentation_; + documentation_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; } -inline int32_t Position::line() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.Position.line) - return _internal_line(); +inline ::io::deephaven::proto::backplane::script::grpc::MarkupContent* SignatureInformation::unsafe_arena_release_documentation() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.SignatureInformation.documentation) + + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* temp = documentation_; + documentation_ = nullptr; + return temp; } -inline void Position::_internal_set_line(int32_t value) { +inline ::io::deephaven::proto::backplane::script::grpc::MarkupContent* SignatureInformation::_internal_mutable_documentation() { - line_ = value; + if (documentation_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::MarkupContent>(GetArenaForAllocation()); + documentation_ = p; + } + return documentation_; } -inline void Position::set_line(int32_t value) { - _internal_set_line(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.Position.line) +inline ::io::deephaven::proto::backplane::script::grpc::MarkupContent* SignatureInformation::mutable_documentation() { + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* _msg = _internal_mutable_documentation(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.SignatureInformation.documentation) + return _msg; +} +inline void SignatureInformation::set_allocated_documentation(::io::deephaven::proto::backplane::script::grpc::MarkupContent* documentation) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete documentation_; + } + if (documentation) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(documentation); + if (message_arena != submessage_arena) { + documentation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, documentation, submessage_arena); + } + + } else { + + } + documentation_ = documentation; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.SignatureInformation.documentation) } -// int32 character = 2; -inline void Position::clear_character() { - character_ = 0; +// repeated .io.deephaven.proto.backplane.script.grpc.ParameterInformation parameters = 3; +inline int SignatureInformation::_internal_parameters_size() const { + return parameters_.size(); } -inline int32_t Position::_internal_character() const { - return character_; +inline int SignatureInformation::parameters_size() const { + return _internal_parameters_size(); } -inline int32_t Position::character() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.Position.character) - return _internal_character(); +inline void SignatureInformation::clear_parameters() { + parameters_.Clear(); } -inline void Position::_internal_set_character(int32_t value) { - - character_ = value; +inline ::io::deephaven::proto::backplane::script::grpc::ParameterInformation* SignatureInformation::mutable_parameters(int index) { + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.SignatureInformation.parameters) + return parameters_.Mutable(index); } -inline void Position::set_character(int32_t value) { - _internal_set_character(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.Position.character) +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::ParameterInformation >* +SignatureInformation::mutable_parameters() { + // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.SignatureInformation.parameters) + return ¶meters_; +} +inline const ::io::deephaven::proto::backplane::script::grpc::ParameterInformation& SignatureInformation::_internal_parameters(int index) const { + return parameters_.Get(index); +} +inline const ::io::deephaven::proto::backplane::script::grpc::ParameterInformation& SignatureInformation::parameters(int index) const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.SignatureInformation.parameters) + return _internal_parameters(index); +} +inline ::io::deephaven::proto::backplane::script::grpc::ParameterInformation* SignatureInformation::_internal_add_parameters() { + return parameters_.Add(); +} +inline ::io::deephaven::proto::backplane::script::grpc::ParameterInformation* SignatureInformation::add_parameters() { + ::io::deephaven::proto::backplane::script::grpc::ParameterInformation* _add = _internal_add_parameters(); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.SignatureInformation.parameters) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::ParameterInformation >& +SignatureInformation::parameters() const { + // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.SignatureInformation.parameters) + return parameters_; } -// ------------------------------------------------------------------- - -// GetCompletionItemsRequest - -// .io.deephaven.proto.backplane.grpc.Ticket console_id = 1; -inline bool GetCompletionItemsRequest::_internal_has_console_id() const { - return this != internal_default_instance() && console_id_ != nullptr; +// optional int32 active_parameter = 4; +inline bool SignatureInformation::_internal_has_active_parameter() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; } -inline bool GetCompletionItemsRequest::has_console_id() const { - return _internal_has_console_id(); +inline bool SignatureInformation::has_active_parameter() const { + return _internal_has_active_parameter(); } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& GetCompletionItemsRequest::_internal_console_id() const { - const ::io::deephaven::proto::backplane::grpc::Ticket* p = console_id_; - return p != nullptr ? *p : reinterpret_cast( - ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +inline void SignatureInformation::clear_active_parameter() { + active_parameter_ = 0; + _has_bits_[0] &= ~0x00000001u; } -inline const ::io::deephaven::proto::backplane::grpc::Ticket& GetCompletionItemsRequest::console_id() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.console_id) - return _internal_console_id(); +inline int32_t SignatureInformation::_internal_active_parameter() const { + return active_parameter_; } -inline void GetCompletionItemsRequest::unsafe_arena_set_allocated_console_id( - ::io::deephaven::proto::backplane::grpc::Ticket* console_id) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); - } - console_id_ = console_id; - if (console_id) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.console_id) +inline int32_t SignatureInformation::active_parameter() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.SignatureInformation.active_parameter) + return _internal_active_parameter(); +} +inline void SignatureInformation::_internal_set_active_parameter(int32_t value) { + _has_bits_[0] |= 0x00000001u; + active_parameter_ = value; +} +inline void SignatureInformation::set_active_parameter(int32_t value) { + _internal_set_active_parameter(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.SignatureInformation.active_parameter) +} + +// ------------------------------------------------------------------- + +// ParameterInformation + +// string label = 1; +inline void ParameterInformation::clear_label() { + label_.ClearToEmpty(); } -inline ::io::deephaven::proto::backplane::grpc::Ticket* GetCompletionItemsRequest::release_console_id() { - - ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; - console_id_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const std::string& ParameterInformation::label() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ParameterInformation.label) + return _internal_label(); } -inline ::io::deephaven::proto::backplane::grpc::Ticket* GetCompletionItemsRequest::unsafe_arena_release_console_id() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.console_id) +template +inline PROTOBUF_ALWAYS_INLINE +void ParameterInformation::set_label(ArgT0&& arg0, ArgT... args) { + + label_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.ParameterInformation.label) +} +inline std::string* ParameterInformation::mutable_label() { + std::string* _s = _internal_mutable_label(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ParameterInformation.label) + return _s; +} +inline const std::string& ParameterInformation::_internal_label() const { + return label_.Get(); +} +inline void ParameterInformation::_internal_set_label(const std::string& value) { - ::io::deephaven::proto::backplane::grpc::Ticket* temp = console_id_; - console_id_ = nullptr; - return temp; + label_.Set(value, GetArenaForAllocation()); } -inline ::io::deephaven::proto::backplane::grpc::Ticket* GetCompletionItemsRequest::_internal_mutable_console_id() { +inline std::string* ParameterInformation::_internal_mutable_label() { - if (console_id_ == nullptr) { - auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); - console_id_ = p; - } - return console_id_; + return label_.Mutable(GetArenaForAllocation()); } -inline ::io::deephaven::proto::backplane::grpc::Ticket* GetCompletionItemsRequest::mutable_console_id() { - ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_console_id(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.console_id) - return _msg; +inline std::string* ParameterInformation::release_label() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ParameterInformation.label) + return label_.Release(); } -inline void GetCompletionItemsRequest::set_allocated_console_id(::io::deephaven::proto::backplane::grpc::Ticket* console_id) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id_); - } - if (console_id) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(console_id)); - if (message_arena != submessage_arena) { - console_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, console_id, submessage_arena); - } +inline void ParameterInformation::set_allocated_label(std::string* label) { + if (label != nullptr) { } else { } - console_id_ = console_id; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.console_id) + label_.SetAllocated(label, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (label_.IsDefault()) { + label_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ParameterInformation.label) } -// .io.deephaven.proto.backplane.script.grpc.CompletionContext context = 2; -inline bool GetCompletionItemsRequest::_internal_has_context() const { - return this != internal_default_instance() && context_ != nullptr; +// .io.deephaven.proto.backplane.script.grpc.MarkupContent documentation = 2; +inline bool ParameterInformation::_internal_has_documentation() const { + return this != internal_default_instance() && documentation_ != nullptr; } -inline bool GetCompletionItemsRequest::has_context() const { - return _internal_has_context(); +inline bool ParameterInformation::has_documentation() const { + return _internal_has_documentation(); } -inline void GetCompletionItemsRequest::clear_context() { - if (GetArenaForAllocation() == nullptr && context_ != nullptr) { - delete context_; +inline void ParameterInformation::clear_documentation() { + if (GetArenaForAllocation() == nullptr && documentation_ != nullptr) { + delete documentation_; } - context_ = nullptr; + documentation_ = nullptr; } -inline const ::io::deephaven::proto::backplane::script::grpc::CompletionContext& GetCompletionItemsRequest::_internal_context() const { - const ::io::deephaven::proto::backplane::script::grpc::CompletionContext* p = context_; - return p != nullptr ? *p : reinterpret_cast( - ::io::deephaven::proto::backplane::script::grpc::_CompletionContext_default_instance_); +inline const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& ParameterInformation::_internal_documentation() const { + const ::io::deephaven::proto::backplane::script::grpc::MarkupContent* p = documentation_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_MarkupContent_default_instance_); } -inline const ::io::deephaven::proto::backplane::script::grpc::CompletionContext& GetCompletionItemsRequest::context() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.context) - return _internal_context(); +inline const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& ParameterInformation::documentation() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.ParameterInformation.documentation) + return _internal_documentation(); } -inline void GetCompletionItemsRequest::unsafe_arena_set_allocated_context( - ::io::deephaven::proto::backplane::script::grpc::CompletionContext* context) { +inline void ParameterInformation::unsafe_arena_set_allocated_documentation( + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* documentation) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(context_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(documentation_); } - context_ = context; - if (context) { + documentation_ = documentation; + if (documentation) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.context) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.ParameterInformation.documentation) } -inline ::io::deephaven::proto::backplane::script::grpc::CompletionContext* GetCompletionItemsRequest::release_context() { +inline ::io::deephaven::proto::backplane::script::grpc::MarkupContent* ParameterInformation::release_documentation() { - ::io::deephaven::proto::backplane::script::grpc::CompletionContext* temp = context_; - context_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* temp = documentation_; + documentation_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -12700,69 +18751,73 @@ inline ::io::deephaven::proto::backplane::script::grpc::CompletionContext* GetCo #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::CompletionContext* GetCompletionItemsRequest::unsafe_arena_release_context() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.context) +inline ::io::deephaven::proto::backplane::script::grpc::MarkupContent* ParameterInformation::unsafe_arena_release_documentation() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.ParameterInformation.documentation) - ::io::deephaven::proto::backplane::script::grpc::CompletionContext* temp = context_; - context_ = nullptr; + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* temp = documentation_; + documentation_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::CompletionContext* GetCompletionItemsRequest::_internal_mutable_context() { +inline ::io::deephaven::proto::backplane::script::grpc::MarkupContent* ParameterInformation::_internal_mutable_documentation() { - if (context_ == nullptr) { - auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::CompletionContext>(GetArenaForAllocation()); - context_ = p; + if (documentation_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::MarkupContent>(GetArenaForAllocation()); + documentation_ = p; } - return context_; + return documentation_; } -inline ::io::deephaven::proto::backplane::script::grpc::CompletionContext* GetCompletionItemsRequest::mutable_context() { - ::io::deephaven::proto::backplane::script::grpc::CompletionContext* _msg = _internal_mutable_context(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.context) +inline ::io::deephaven::proto::backplane::script::grpc::MarkupContent* ParameterInformation::mutable_documentation() { + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* _msg = _internal_mutable_documentation(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.ParameterInformation.documentation) return _msg; } -inline void GetCompletionItemsRequest::set_allocated_context(::io::deephaven::proto::backplane::script::grpc::CompletionContext* context) { +inline void ParameterInformation::set_allocated_documentation(::io::deephaven::proto::backplane::script::grpc::MarkupContent* documentation) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete context_; + delete documentation_; } - if (context) { + if (documentation) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(context); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(documentation); if (message_arena != submessage_arena) { - context = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, context, submessage_arena); + documentation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, documentation, submessage_arena); } } else { } - context_ = context; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.context) + documentation_ = documentation; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.ParameterInformation.documentation) } -// .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 3; -inline bool GetCompletionItemsRequest::_internal_has_text_document() const { +// ------------------------------------------------------------------- + +// GetHoverRequest + +// .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 1; +inline bool GetHoverRequest::_internal_has_text_document() const { return this != internal_default_instance() && text_document_ != nullptr; } -inline bool GetCompletionItemsRequest::has_text_document() const { +inline bool GetHoverRequest::has_text_document() const { return _internal_has_text_document(); } -inline void GetCompletionItemsRequest::clear_text_document() { +inline void GetHoverRequest::clear_text_document() { if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { delete text_document_; } text_document_ = nullptr; } -inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& GetCompletionItemsRequest::_internal_text_document() const { +inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& GetHoverRequest::_internal_text_document() const { const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* p = text_document_; return p != nullptr ? *p : reinterpret_cast( ::io::deephaven::proto::backplane::script::grpc::_VersionedTextDocumentIdentifier_default_instance_); } -inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& GetCompletionItemsRequest::text_document() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.text_document) +inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& GetHoverRequest::text_document() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetHoverRequest.text_document) return _internal_text_document(); } -inline void GetCompletionItemsRequest::unsafe_arena_set_allocated_text_document( +inline void GetHoverRequest::unsafe_arena_set_allocated_text_document( ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document) { if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(text_document_); @@ -12773,9 +18828,9 @@ inline void GetCompletionItemsRequest::unsafe_arena_set_allocated_text_document( } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.text_document) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.GetHoverRequest.text_document) } -inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetCompletionItemsRequest::release_text_document() { +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetHoverRequest::release_text_document() { ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* temp = text_document_; text_document_ = nullptr; @@ -12790,14 +18845,14 @@ inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIde #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetCompletionItemsRequest::unsafe_arena_release_text_document() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.text_document) +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetHoverRequest::unsafe_arena_release_text_document() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetHoverRequest.text_document) ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* temp = text_document_; text_document_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetCompletionItemsRequest::_internal_mutable_text_document() { +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetHoverRequest::_internal_mutable_text_document() { if (text_document_ == nullptr) { auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier>(GetArenaForAllocation()); @@ -12805,12 +18860,12 @@ inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIde } return text_document_; } -inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetCompletionItemsRequest::mutable_text_document() { +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetHoverRequest::mutable_text_document() { ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* _msg = _internal_mutable_text_document(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.text_document) + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetHoverRequest.text_document) return _msg; } -inline void GetCompletionItemsRequest::set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document) { +inline void GetHoverRequest::set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { delete text_document_; @@ -12827,32 +18882,32 @@ inline void GetCompletionItemsRequest::set_allocated_text_document(::io::deephav } text_document_ = text_document; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.text_document) + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetHoverRequest.text_document) } -// .io.deephaven.proto.backplane.script.grpc.Position position = 4; -inline bool GetCompletionItemsRequest::_internal_has_position() const { +// .io.deephaven.proto.backplane.script.grpc.Position position = 2; +inline bool GetHoverRequest::_internal_has_position() const { return this != internal_default_instance() && position_ != nullptr; } -inline bool GetCompletionItemsRequest::has_position() const { +inline bool GetHoverRequest::has_position() const { return _internal_has_position(); } -inline void GetCompletionItemsRequest::clear_position() { +inline void GetHoverRequest::clear_position() { if (GetArenaForAllocation() == nullptr && position_ != nullptr) { delete position_; } position_ = nullptr; } -inline const ::io::deephaven::proto::backplane::script::grpc::Position& GetCompletionItemsRequest::_internal_position() const { +inline const ::io::deephaven::proto::backplane::script::grpc::Position& GetHoverRequest::_internal_position() const { const ::io::deephaven::proto::backplane::script::grpc::Position* p = position_; return p != nullptr ? *p : reinterpret_cast( ::io::deephaven::proto::backplane::script::grpc::_Position_default_instance_); } -inline const ::io::deephaven::proto::backplane::script::grpc::Position& GetCompletionItemsRequest::position() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.position) +inline const ::io::deephaven::proto::backplane::script::grpc::Position& GetHoverRequest::position() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetHoverRequest.position) return _internal_position(); } -inline void GetCompletionItemsRequest::unsafe_arena_set_allocated_position( +inline void GetHoverRequest::unsafe_arena_set_allocated_position( ::io::deephaven::proto::backplane::script::grpc::Position* position) { if (GetArenaForAllocation() == nullptr) { delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(position_); @@ -12863,9 +18918,9 @@ inline void GetCompletionItemsRequest::unsafe_arena_set_allocated_position( } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.position) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.GetHoverRequest.position) } -inline ::io::deephaven::proto::backplane::script::grpc::Position* GetCompletionItemsRequest::release_position() { +inline ::io::deephaven::proto::backplane::script::grpc::Position* GetHoverRequest::release_position() { ::io::deephaven::proto::backplane::script::grpc::Position* temp = position_; position_ = nullptr; @@ -12880,14 +18935,14 @@ inline ::io::deephaven::proto::backplane::script::grpc::Position* GetCompletionI #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::Position* GetCompletionItemsRequest::unsafe_arena_release_position() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.position) +inline ::io::deephaven::proto::backplane::script::grpc::Position* GetHoverRequest::unsafe_arena_release_position() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetHoverRequest.position) ::io::deephaven::proto::backplane::script::grpc::Position* temp = position_; position_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::Position* GetCompletionItemsRequest::_internal_mutable_position() { +inline ::io::deephaven::proto::backplane::script::grpc::Position* GetHoverRequest::_internal_mutable_position() { if (position_ == nullptr) { auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::Position>(GetArenaForAllocation()); @@ -12895,12 +18950,12 @@ inline ::io::deephaven::proto::backplane::script::grpc::Position* GetCompletionI } return position_; } -inline ::io::deephaven::proto::backplane::script::grpc::Position* GetCompletionItemsRequest::mutable_position() { +inline ::io::deephaven::proto::backplane::script::grpc::Position* GetHoverRequest::mutable_position() { ::io::deephaven::proto::backplane::script::grpc::Position* _msg = _internal_mutable_position(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.position) + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetHoverRequest.position) return _msg; } -inline void GetCompletionItemsRequest::set_allocated_position(::io::deephaven::proto::backplane::script::grpc::Position* position) { +inline void GetHoverRequest::set_allocated_position(::io::deephaven::proto::backplane::script::grpc::Position* position) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { delete position_; @@ -12917,809 +18972,982 @@ inline void GetCompletionItemsRequest::set_allocated_position(::io::deephaven::p } position_ = position; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.position) -} - -// int32 request_id = 5; -inline void GetCompletionItemsRequest::clear_request_id() { - request_id_ = 0; -} -inline int32_t GetCompletionItemsRequest::_internal_request_id() const { - return request_id_; -} -inline int32_t GetCompletionItemsRequest::request_id() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.request_id) - return _internal_request_id(); -} -inline void GetCompletionItemsRequest::_internal_set_request_id(int32_t value) { - - request_id_ = value; -} -inline void GetCompletionItemsRequest::set_request_id(int32_t value) { - _internal_set_request_id(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.request_id) + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetHoverRequest.position) } // ------------------------------------------------------------------- -// CompletionContext - -// int32 trigger_kind = 1; -inline void CompletionContext::clear_trigger_kind() { - trigger_kind_ = 0; -} -inline int32_t CompletionContext::_internal_trigger_kind() const { - return trigger_kind_; -} -inline int32_t CompletionContext::trigger_kind() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_kind) - return _internal_trigger_kind(); -} -inline void CompletionContext::_internal_set_trigger_kind(int32_t value) { - - trigger_kind_ = value; -} -inline void CompletionContext::set_trigger_kind(int32_t value) { - _internal_set_trigger_kind(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_kind) -} +// GetHoverResponse -// string trigger_character = 2; -inline void CompletionContext::clear_trigger_character() { - trigger_character_.ClearToEmpty(); -} -inline const std::string& CompletionContext::trigger_character() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_character) - return _internal_trigger_character(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void CompletionContext::set_trigger_character(ArgT0&& arg0, ArgT... args) { - - trigger_character_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_character) -} -inline std::string* CompletionContext::mutable_trigger_character() { - std::string* _s = _internal_mutable_trigger_character(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_character) - return _s; -} -inline const std::string& CompletionContext::_internal_trigger_character() const { - return trigger_character_.Get(); -} -inline void CompletionContext::_internal_set_trigger_character(const std::string& value) { - - trigger_character_.Set(value, GetArenaForAllocation()); -} -inline std::string* CompletionContext::_internal_mutable_trigger_character() { - - return trigger_character_.Mutable(GetArenaForAllocation()); +// .io.deephaven.proto.backplane.script.grpc.MarkupContent contents = 1; +inline bool GetHoverResponse::_internal_has_contents() const { + return this != internal_default_instance() && contents_ != nullptr; } -inline std::string* CompletionContext::release_trigger_character() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_character) - return trigger_character_.Release(); +inline bool GetHoverResponse::has_contents() const { + return _internal_has_contents(); } -inline void CompletionContext::set_allocated_trigger_character(std::string* trigger_character) { - if (trigger_character != nullptr) { - - } else { - - } - trigger_character_.SetAllocated(trigger_character, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (trigger_character_.IsDefault()) { - trigger_character_.Set("", GetArenaForAllocation()); +inline void GetHoverResponse::clear_contents() { + if (GetArenaForAllocation() == nullptr && contents_ != nullptr) { + delete contents_; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionContext.trigger_character) -} - -// ------------------------------------------------------------------- - -// GetCompletionItemsResponse - -// repeated .io.deephaven.proto.backplane.script.grpc.CompletionItem items = 1; -inline int GetCompletionItemsResponse::_internal_items_size() const { - return items_.size(); -} -inline int GetCompletionItemsResponse::items_size() const { - return _internal_items_size(); + contents_ = nullptr; } -inline void GetCompletionItemsResponse::clear_items() { - items_.Clear(); +inline const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& GetHoverResponse::_internal_contents() const { + const ::io::deephaven::proto::backplane::script::grpc::MarkupContent* p = contents_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_MarkupContent_default_instance_); } -inline ::io::deephaven::proto::backplane::script::grpc::CompletionItem* GetCompletionItemsResponse::mutable_items(int index) { - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.items) - return items_.Mutable(index); +inline const ::io::deephaven::proto::backplane::script::grpc::MarkupContent& GetHoverResponse::contents() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetHoverResponse.contents) + return _internal_contents(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::CompletionItem >* -GetCompletionItemsResponse::mutable_items() { - // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.items) - return &items_; +inline void GetHoverResponse::unsafe_arena_set_allocated_contents( + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* contents) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(contents_); + } + contents_ = contents; + if (contents) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.GetHoverResponse.contents) } -inline const ::io::deephaven::proto::backplane::script::grpc::CompletionItem& GetCompletionItemsResponse::_internal_items(int index) const { - return items_.Get(index); +inline ::io::deephaven::proto::backplane::script::grpc::MarkupContent* GetHoverResponse::release_contents() { + + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* temp = contents_; + contents_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; } -inline const ::io::deephaven::proto::backplane::script::grpc::CompletionItem& GetCompletionItemsResponse::items(int index) const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.items) - return _internal_items(index); +inline ::io::deephaven::proto::backplane::script::grpc::MarkupContent* GetHoverResponse::unsafe_arena_release_contents() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetHoverResponse.contents) + + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* temp = contents_; + contents_ = nullptr; + return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::CompletionItem* GetCompletionItemsResponse::_internal_add_items() { - return items_.Add(); +inline ::io::deephaven::proto::backplane::script::grpc::MarkupContent* GetHoverResponse::_internal_mutable_contents() { + + if (contents_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::MarkupContent>(GetArenaForAllocation()); + contents_ = p; + } + return contents_; } -inline ::io::deephaven::proto::backplane::script::grpc::CompletionItem* GetCompletionItemsResponse::add_items() { - ::io::deephaven::proto::backplane::script::grpc::CompletionItem* _add = _internal_add_items(); - // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.items) - return _add; +inline ::io::deephaven::proto::backplane::script::grpc::MarkupContent* GetHoverResponse::mutable_contents() { + ::io::deephaven::proto::backplane::script::grpc::MarkupContent* _msg = _internal_mutable_contents(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetHoverResponse.contents) + return _msg; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::CompletionItem >& -GetCompletionItemsResponse::items() const { - // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.items) - return items_; +inline void GetHoverResponse::set_allocated_contents(::io::deephaven::proto::backplane::script::grpc::MarkupContent* contents) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete contents_; + } + if (contents) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(contents); + if (message_arena != submessage_arena) { + contents = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, contents, submessage_arena); + } + + } else { + + } + contents_ = contents; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetHoverResponse.contents) } -// int32 request_id = 2; -inline void GetCompletionItemsResponse::clear_request_id() { - request_id_ = 0; +// .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 2; +inline bool GetHoverResponse::_internal_has_range() const { + return this != internal_default_instance() && range_ != nullptr; } -inline int32_t GetCompletionItemsResponse::_internal_request_id() const { - return request_id_; +inline bool GetHoverResponse::has_range() const { + return _internal_has_range(); } -inline int32_t GetCompletionItemsResponse::request_id() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.request_id) - return _internal_request_id(); +inline void GetHoverResponse::clear_range() { + if (GetArenaForAllocation() == nullptr && range_ != nullptr) { + delete range_; + } + range_ = nullptr; } -inline void GetCompletionItemsResponse::_internal_set_request_id(int32_t value) { - - request_id_ = value; +inline const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& GetHoverResponse::_internal_range() const { + const ::io::deephaven::proto::backplane::script::grpc::DocumentRange* p = range_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_DocumentRange_default_instance_); } -inline void GetCompletionItemsResponse::set_request_id(int32_t value) { - _internal_set_request_id(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.request_id) +inline const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& GetHoverResponse::range() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetHoverResponse.range) + return _internal_range(); } - -// bool success = 3; -inline void GetCompletionItemsResponse::clear_success() { - success_ = false; +inline void GetHoverResponse::unsafe_arena_set_allocated_range( + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(range_); + } + range_ = range; + if (range) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.GetHoverResponse.range) } -inline bool GetCompletionItemsResponse::_internal_success() const { - return success_; +inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* GetHoverResponse::release_range() { + + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* temp = range_; + range_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; } -inline bool GetCompletionItemsResponse::success() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.success) - return _internal_success(); +inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* GetHoverResponse::unsafe_arena_release_range() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetHoverResponse.range) + + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* temp = range_; + range_ = nullptr; + return temp; } -inline void GetCompletionItemsResponse::_internal_set_success(bool value) { +inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* GetHoverResponse::_internal_mutable_range() { - success_ = value; + if (range_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::DocumentRange>(GetArenaForAllocation()); + range_ = p; + } + return range_; } -inline void GetCompletionItemsResponse::set_success(bool value) { - _internal_set_success(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.success) +inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* GetHoverResponse::mutable_range() { + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* _msg = _internal_mutable_range(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetHoverResponse.range) + return _msg; +} +inline void GetHoverResponse::set_allocated_range(::io::deephaven::proto::backplane::script::grpc::DocumentRange* range) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete range_; + } + if (range) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(range); + if (message_arena != submessage_arena) { + range = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, range, submessage_arena); + } + + } else { + + } + range_ = range; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetHoverResponse.range) } // ------------------------------------------------------------------- -// CompletionItem +// GetDiagnosticRequest -// int32 start = 1; -inline void CompletionItem::clear_start() { - start_ = 0; +// .io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier text_document = 1; +inline bool GetDiagnosticRequest::_internal_has_text_document() const { + return this != internal_default_instance() && text_document_ != nullptr; } -inline int32_t CompletionItem::_internal_start() const { - return start_; +inline bool GetDiagnosticRequest::has_text_document() const { + return _internal_has_text_document(); } -inline int32_t CompletionItem::start() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.start) - return _internal_start(); +inline void GetDiagnosticRequest::clear_text_document() { + if (GetArenaForAllocation() == nullptr && text_document_ != nullptr) { + delete text_document_; + } + text_document_ = nullptr; } -inline void CompletionItem::_internal_set_start(int32_t value) { - - start_ = value; +inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& GetDiagnosticRequest::_internal_text_document() const { + const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* p = text_document_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_VersionedTextDocumentIdentifier_default_instance_); } -inline void CompletionItem::set_start(int32_t value) { - _internal_set_start(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.start) +inline const ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier& GetDiagnosticRequest::text_document() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.text_document) + return _internal_text_document(); } - -// int32 length = 2; -inline void CompletionItem::clear_length() { - length_ = 0; +inline void GetDiagnosticRequest::unsafe_arena_set_allocated_text_document( + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(text_document_); + } + text_document_ = text_document; + if (text_document) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.text_document) } -inline int32_t CompletionItem::_internal_length() const { - return length_; +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetDiagnosticRequest::release_text_document() { + + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* temp = text_document_; + text_document_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; } -inline int32_t CompletionItem::length() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.length) - return _internal_length(); +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetDiagnosticRequest::unsafe_arena_release_text_document() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.text_document) + + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* temp = text_document_; + text_document_ = nullptr; + return temp; } -inline void CompletionItem::_internal_set_length(int32_t value) { +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetDiagnosticRequest::_internal_mutable_text_document() { - length_ = value; + if (text_document_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier>(GetArenaForAllocation()); + text_document_ = p; + } + return text_document_; } -inline void CompletionItem::set_length(int32_t value) { - _internal_set_length(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.length) +inline ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* GetDiagnosticRequest::mutable_text_document() { + ::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* _msg = _internal_mutable_text_document(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.text_document) + return _msg; +} +inline void GetDiagnosticRequest::set_allocated_text_document(::io::deephaven::proto::backplane::script::grpc::VersionedTextDocumentIdentifier* text_document) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete text_document_; + } + if (text_document) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(text_document); + if (message_arena != submessage_arena) { + text_document = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, text_document, submessage_arena); + } + + } else { + + } + text_document_ = text_document; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.text_document) } -// string label = 3; -inline void CompletionItem::clear_label() { - label_.ClearToEmpty(); +// optional string identifier = 2; +inline bool GetDiagnosticRequest::_internal_has_identifier() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; } -inline const std::string& CompletionItem::label() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.label) - return _internal_label(); +inline bool GetDiagnosticRequest::has_identifier() const { + return _internal_has_identifier(); +} +inline void GetDiagnosticRequest::clear_identifier() { + identifier_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; +} +inline const std::string& GetDiagnosticRequest::identifier() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.identifier) + return _internal_identifier(); } template inline PROTOBUF_ALWAYS_INLINE -void CompletionItem::set_label(ArgT0&& arg0, ArgT... args) { - - label_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.label) +void GetDiagnosticRequest::set_identifier(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + identifier_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.identifier) } -inline std::string* CompletionItem::mutable_label() { - std::string* _s = _internal_mutable_label(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.label) +inline std::string* GetDiagnosticRequest::mutable_identifier() { + std::string* _s = _internal_mutable_identifier(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.identifier) return _s; } -inline const std::string& CompletionItem::_internal_label() const { - return label_.Get(); +inline const std::string& GetDiagnosticRequest::_internal_identifier() const { + return identifier_.Get(); } -inline void CompletionItem::_internal_set_label(const std::string& value) { - - label_.Set(value, GetArenaForAllocation()); +inline void GetDiagnosticRequest::_internal_set_identifier(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + identifier_.Set(value, GetArenaForAllocation()); } -inline std::string* CompletionItem::_internal_mutable_label() { - - return label_.Mutable(GetArenaForAllocation()); +inline std::string* GetDiagnosticRequest::_internal_mutable_identifier() { + _has_bits_[0] |= 0x00000001u; + return identifier_.Mutable(GetArenaForAllocation()); } -inline std::string* CompletionItem::release_label() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CompletionItem.label) - return label_.Release(); +inline std::string* GetDiagnosticRequest::release_identifier() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.identifier) + if (!_internal_has_identifier()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + auto* p = identifier_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (identifier_.IsDefault()) { + identifier_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; } -inline void CompletionItem::set_allocated_label(std::string* label) { - if (label != nullptr) { - +inline void GetDiagnosticRequest::set_allocated_identifier(std::string* identifier) { + if (identifier != nullptr) { + _has_bits_[0] |= 0x00000001u; } else { - + _has_bits_[0] &= ~0x00000001u; } - label_.SetAllocated(label, GetArenaForAllocation()); + identifier_.SetAllocated(identifier, GetArenaForAllocation()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (label_.IsDefault()) { - label_.Set("", GetArenaForAllocation()); + if (identifier_.IsDefault()) { + identifier_.Set("", GetArenaForAllocation()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionItem.label) + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.identifier) } -// int32 kind = 4; -inline void CompletionItem::clear_kind() { - kind_ = 0; -} -inline int32_t CompletionItem::_internal_kind() const { - return kind_; -} -inline int32_t CompletionItem::kind() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.kind) - return _internal_kind(); -} -inline void CompletionItem::_internal_set_kind(int32_t value) { - - kind_ = value; +// optional string previous_result_id = 3; +inline bool GetDiagnosticRequest::_internal_has_previous_result_id() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; } -inline void CompletionItem::set_kind(int32_t value) { - _internal_set_kind(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.kind) +inline bool GetDiagnosticRequest::has_previous_result_id() const { + return _internal_has_previous_result_id(); } - -// string detail = 5; -inline void CompletionItem::clear_detail() { - detail_.ClearToEmpty(); +inline void GetDiagnosticRequest::clear_previous_result_id() { + previous_result_id_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000002u; } -inline const std::string& CompletionItem::detail() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.detail) - return _internal_detail(); +inline const std::string& GetDiagnosticRequest::previous_result_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.previous_result_id) + return _internal_previous_result_id(); } template inline PROTOBUF_ALWAYS_INLINE -void CompletionItem::set_detail(ArgT0&& arg0, ArgT... args) { - - detail_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.detail) +void GetDiagnosticRequest::set_previous_result_id(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000002u; + previous_result_id_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.previous_result_id) } -inline std::string* CompletionItem::mutable_detail() { - std::string* _s = _internal_mutable_detail(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.detail) +inline std::string* GetDiagnosticRequest::mutable_previous_result_id() { + std::string* _s = _internal_mutable_previous_result_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.previous_result_id) return _s; } -inline const std::string& CompletionItem::_internal_detail() const { - return detail_.Get(); +inline const std::string& GetDiagnosticRequest::_internal_previous_result_id() const { + return previous_result_id_.Get(); } -inline void CompletionItem::_internal_set_detail(const std::string& value) { - - detail_.Set(value, GetArenaForAllocation()); +inline void GetDiagnosticRequest::_internal_set_previous_result_id(const std::string& value) { + _has_bits_[0] |= 0x00000002u; + previous_result_id_.Set(value, GetArenaForAllocation()); } -inline std::string* CompletionItem::_internal_mutable_detail() { - - return detail_.Mutable(GetArenaForAllocation()); +inline std::string* GetDiagnosticRequest::_internal_mutable_previous_result_id() { + _has_bits_[0] |= 0x00000002u; + return previous_result_id_.Mutable(GetArenaForAllocation()); } -inline std::string* CompletionItem::release_detail() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CompletionItem.detail) - return detail_.Release(); +inline std::string* GetDiagnosticRequest::release_previous_result_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.previous_result_id) + if (!_internal_has_previous_result_id()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000002u; + auto* p = previous_result_id_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (previous_result_id_.IsDefault()) { + previous_result_id_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; } -inline void CompletionItem::set_allocated_detail(std::string* detail) { - if (detail != nullptr) { - +inline void GetDiagnosticRequest::set_allocated_previous_result_id(std::string* previous_result_id) { + if (previous_result_id != nullptr) { + _has_bits_[0] |= 0x00000002u; } else { - + _has_bits_[0] &= ~0x00000002u; } - detail_.SetAllocated(detail, GetArenaForAllocation()); + previous_result_id_.SetAllocated(previous_result_id, GetArenaForAllocation()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (detail_.IsDefault()) { - detail_.Set("", GetArenaForAllocation()); + if (previous_result_id_.IsDefault()) { + previous_result_id_.Set("", GetArenaForAllocation()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionItem.detail) + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.previous_result_id) } -// string documentation = 6; -inline void CompletionItem::clear_documentation() { - documentation_.ClearToEmpty(); +// ------------------------------------------------------------------- + +// GetPullDiagnosticResponse + +// string kind = 1; +inline void GetPullDiagnosticResponse::clear_kind() { + kind_.ClearToEmpty(); } -inline const std::string& CompletionItem::documentation() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.documentation) - return _internal_documentation(); +inline const std::string& GetPullDiagnosticResponse::kind() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.kind) + return _internal_kind(); } template inline PROTOBUF_ALWAYS_INLINE -void CompletionItem::set_documentation(ArgT0&& arg0, ArgT... args) { +void GetPullDiagnosticResponse::set_kind(ArgT0&& arg0, ArgT... args) { - documentation_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.documentation) + kind_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.kind) } -inline std::string* CompletionItem::mutable_documentation() { - std::string* _s = _internal_mutable_documentation(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.documentation) +inline std::string* GetPullDiagnosticResponse::mutable_kind() { + std::string* _s = _internal_mutable_kind(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.kind) return _s; } -inline const std::string& CompletionItem::_internal_documentation() const { - return documentation_.Get(); +inline const std::string& GetPullDiagnosticResponse::_internal_kind() const { + return kind_.Get(); } -inline void CompletionItem::_internal_set_documentation(const std::string& value) { +inline void GetPullDiagnosticResponse::_internal_set_kind(const std::string& value) { - documentation_.Set(value, GetArenaForAllocation()); + kind_.Set(value, GetArenaForAllocation()); } -inline std::string* CompletionItem::_internal_mutable_documentation() { +inline std::string* GetPullDiagnosticResponse::_internal_mutable_kind() { - return documentation_.Mutable(GetArenaForAllocation()); + return kind_.Mutable(GetArenaForAllocation()); } -inline std::string* CompletionItem::release_documentation() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CompletionItem.documentation) - return documentation_.Release(); +inline std::string* GetPullDiagnosticResponse::release_kind() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.kind) + return kind_.Release(); } -inline void CompletionItem::set_allocated_documentation(std::string* documentation) { - if (documentation != nullptr) { +inline void GetPullDiagnosticResponse::set_allocated_kind(std::string* kind) { + if (kind != nullptr) { } else { } - documentation_.SetAllocated(documentation, GetArenaForAllocation()); + kind_.SetAllocated(kind, GetArenaForAllocation()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (documentation_.IsDefault()) { - documentation_.Set("", GetArenaForAllocation()); + if (kind_.IsDefault()) { + kind_.Set("", GetArenaForAllocation()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionItem.documentation) + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.kind) } -// bool deprecated = 7; -inline void CompletionItem::clear_deprecated() { - deprecated_ = false; +// optional string result_id = 2; +inline bool GetPullDiagnosticResponse::_internal_has_result_id() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; } -inline bool CompletionItem::_internal_deprecated() const { - return deprecated_; +inline bool GetPullDiagnosticResponse::has_result_id() const { + return _internal_has_result_id(); } -inline bool CompletionItem::deprecated() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.deprecated) - return _internal_deprecated(); +inline void GetPullDiagnosticResponse::clear_result_id() { + result_id_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; } -inline void CompletionItem::_internal_set_deprecated(bool value) { - - deprecated_ = value; +inline const std::string& GetPullDiagnosticResponse::result_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.result_id) + return _internal_result_id(); } -inline void CompletionItem::set_deprecated(bool value) { - _internal_set_deprecated(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.deprecated) +template +inline PROTOBUF_ALWAYS_INLINE +void GetPullDiagnosticResponse::set_result_id(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + result_id_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.result_id) } - -// bool preselect = 8; -inline void CompletionItem::clear_preselect() { - preselect_ = false; +inline std::string* GetPullDiagnosticResponse::mutable_result_id() { + std::string* _s = _internal_mutable_result_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.result_id) + return _s; } -inline bool CompletionItem::_internal_preselect() const { - return preselect_; +inline const std::string& GetPullDiagnosticResponse::_internal_result_id() const { + return result_id_.Get(); } -inline bool CompletionItem::preselect() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.preselect) - return _internal_preselect(); +inline void GetPullDiagnosticResponse::_internal_set_result_id(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + result_id_.Set(value, GetArenaForAllocation()); } -inline void CompletionItem::_internal_set_preselect(bool value) { - - preselect_ = value; +inline std::string* GetPullDiagnosticResponse::_internal_mutable_result_id() { + _has_bits_[0] |= 0x00000001u; + return result_id_.Mutable(GetArenaForAllocation()); } -inline void CompletionItem::set_preselect(bool value) { - _internal_set_preselect(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.preselect) +inline std::string* GetPullDiagnosticResponse::release_result_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.result_id) + if (!_internal_has_result_id()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + auto* p = result_id_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (result_id_.IsDefault()) { + result_id_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; } - -// .io.deephaven.proto.backplane.script.grpc.TextEdit text_edit = 9; -inline bool CompletionItem::_internal_has_text_edit() const { - return this != internal_default_instance() && text_edit_ != nullptr; +inline void GetPullDiagnosticResponse::set_allocated_result_id(std::string* result_id) { + if (result_id != nullptr) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + result_id_.SetAllocated(result_id, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (result_id_.IsDefault()) { + result_id_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.result_id) } -inline bool CompletionItem::has_text_edit() const { - return _internal_has_text_edit(); + +// repeated .io.deephaven.proto.backplane.script.grpc.Diagnostic items = 3; +inline int GetPullDiagnosticResponse::_internal_items_size() const { + return items_.size(); } -inline void CompletionItem::clear_text_edit() { - if (GetArenaForAllocation() == nullptr && text_edit_ != nullptr) { - delete text_edit_; - } - text_edit_ = nullptr; +inline int GetPullDiagnosticResponse::items_size() const { + return _internal_items_size(); } -inline const ::io::deephaven::proto::backplane::script::grpc::TextEdit& CompletionItem::_internal_text_edit() const { - const ::io::deephaven::proto::backplane::script::grpc::TextEdit* p = text_edit_; - return p != nullptr ? *p : reinterpret_cast( - ::io::deephaven::proto::backplane::script::grpc::_TextEdit_default_instance_); +inline void GetPullDiagnosticResponse::clear_items() { + items_.Clear(); } -inline const ::io::deephaven::proto::backplane::script::grpc::TextEdit& CompletionItem::text_edit() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.text_edit) - return _internal_text_edit(); +inline ::io::deephaven::proto::backplane::script::grpc::Diagnostic* GetPullDiagnosticResponse::mutable_items(int index) { + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.items) + return items_.Mutable(index); } -inline void CompletionItem::unsafe_arena_set_allocated_text_edit( - ::io::deephaven::proto::backplane::script::grpc::TextEdit* text_edit) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(text_edit_); - } - text_edit_ = text_edit; - if (text_edit) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionItem.text_edit) +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::Diagnostic >* +GetPullDiagnosticResponse::mutable_items() { + // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.items) + return &items_; } -inline ::io::deephaven::proto::backplane::script::grpc::TextEdit* CompletionItem::release_text_edit() { - - ::io::deephaven::proto::backplane::script::grpc::TextEdit* temp = text_edit_; - text_edit_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const ::io::deephaven::proto::backplane::script::grpc::Diagnostic& GetPullDiagnosticResponse::_internal_items(int index) const { + return items_.Get(index); } -inline ::io::deephaven::proto::backplane::script::grpc::TextEdit* CompletionItem::unsafe_arena_release_text_edit() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CompletionItem.text_edit) - - ::io::deephaven::proto::backplane::script::grpc::TextEdit* temp = text_edit_; - text_edit_ = nullptr; - return temp; +inline const ::io::deephaven::proto::backplane::script::grpc::Diagnostic& GetPullDiagnosticResponse::items(int index) const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.items) + return _internal_items(index); } -inline ::io::deephaven::proto::backplane::script::grpc::TextEdit* CompletionItem::_internal_mutable_text_edit() { - - if (text_edit_ == nullptr) { - auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::TextEdit>(GetArenaForAllocation()); - text_edit_ = p; - } - return text_edit_; +inline ::io::deephaven::proto::backplane::script::grpc::Diagnostic* GetPullDiagnosticResponse::_internal_add_items() { + return items_.Add(); } -inline ::io::deephaven::proto::backplane::script::grpc::TextEdit* CompletionItem::mutable_text_edit() { - ::io::deephaven::proto::backplane::script::grpc::TextEdit* _msg = _internal_mutable_text_edit(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.text_edit) - return _msg; +inline ::io::deephaven::proto::backplane::script::grpc::Diagnostic* GetPullDiagnosticResponse::add_items() { + ::io::deephaven::proto::backplane::script::grpc::Diagnostic* _add = _internal_add_items(); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.items) + return _add; } -inline void CompletionItem::set_allocated_text_edit(::io::deephaven::proto::backplane::script::grpc::TextEdit* text_edit) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete text_edit_; - } - if (text_edit) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(text_edit); - if (message_arena != submessage_arena) { - text_edit = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, text_edit, submessage_arena); - } - - } else { - - } - text_edit_ = text_edit; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionItem.text_edit) +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::Diagnostic >& +GetPullDiagnosticResponse::items() const { + // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.items) + return items_; } -// string sort_text = 10; -inline void CompletionItem::clear_sort_text() { - sort_text_.ClearToEmpty(); +// ------------------------------------------------------------------- + +// GetPublishDiagnosticResponse + +// string uri = 1; +inline void GetPublishDiagnosticResponse::clear_uri() { + uri_.ClearToEmpty(); } -inline const std::string& CompletionItem::sort_text() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.sort_text) - return _internal_sort_text(); +inline const std::string& GetPublishDiagnosticResponse::uri() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse.uri) + return _internal_uri(); } template inline PROTOBUF_ALWAYS_INLINE -void CompletionItem::set_sort_text(ArgT0&& arg0, ArgT... args) { +void GetPublishDiagnosticResponse::set_uri(ArgT0&& arg0, ArgT... args) { - sort_text_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.sort_text) + uri_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse.uri) } -inline std::string* CompletionItem::mutable_sort_text() { - std::string* _s = _internal_mutable_sort_text(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.sort_text) +inline std::string* GetPublishDiagnosticResponse::mutable_uri() { + std::string* _s = _internal_mutable_uri(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse.uri) return _s; } -inline const std::string& CompletionItem::_internal_sort_text() const { - return sort_text_.Get(); +inline const std::string& GetPublishDiagnosticResponse::_internal_uri() const { + return uri_.Get(); } -inline void CompletionItem::_internal_set_sort_text(const std::string& value) { +inline void GetPublishDiagnosticResponse::_internal_set_uri(const std::string& value) { - sort_text_.Set(value, GetArenaForAllocation()); + uri_.Set(value, GetArenaForAllocation()); } -inline std::string* CompletionItem::_internal_mutable_sort_text() { +inline std::string* GetPublishDiagnosticResponse::_internal_mutable_uri() { - return sort_text_.Mutable(GetArenaForAllocation()); + return uri_.Mutable(GetArenaForAllocation()); } -inline std::string* CompletionItem::release_sort_text() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CompletionItem.sort_text) - return sort_text_.Release(); +inline std::string* GetPublishDiagnosticResponse::release_uri() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse.uri) + return uri_.Release(); } -inline void CompletionItem::set_allocated_sort_text(std::string* sort_text) { - if (sort_text != nullptr) { +inline void GetPublishDiagnosticResponse::set_allocated_uri(std::string* uri) { + if (uri != nullptr) { } else { } - sort_text_.SetAllocated(sort_text, GetArenaForAllocation()); + uri_.SetAllocated(uri, GetArenaForAllocation()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (sort_text_.IsDefault()) { - sort_text_.Set("", GetArenaForAllocation()); + if (uri_.IsDefault()) { + uri_.Set("", GetArenaForAllocation()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionItem.sort_text) + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse.uri) } -// string filter_text = 11; -inline void CompletionItem::clear_filter_text() { - filter_text_.ClearToEmpty(); +// optional int32 version = 2; +inline bool GetPublishDiagnosticResponse::_internal_has_version() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; } -inline const std::string& CompletionItem::filter_text() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.filter_text) - return _internal_filter_text(); +inline bool GetPublishDiagnosticResponse::has_version() const { + return _internal_has_version(); +} +inline void GetPublishDiagnosticResponse::clear_version() { + version_ = 0; + _has_bits_[0] &= ~0x00000001u; +} +inline int32_t GetPublishDiagnosticResponse::_internal_version() const { + return version_; +} +inline int32_t GetPublishDiagnosticResponse::version() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse.version) + return _internal_version(); +} +inline void GetPublishDiagnosticResponse::_internal_set_version(int32_t value) { + _has_bits_[0] |= 0x00000001u; + version_ = value; +} +inline void GetPublishDiagnosticResponse::set_version(int32_t value) { + _internal_set_version(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse.version) +} + +// repeated .io.deephaven.proto.backplane.script.grpc.Diagnostic diagnostics = 3; +inline int GetPublishDiagnosticResponse::_internal_diagnostics_size() const { + return diagnostics_.size(); +} +inline int GetPublishDiagnosticResponse::diagnostics_size() const { + return _internal_diagnostics_size(); +} +inline void GetPublishDiagnosticResponse::clear_diagnostics() { + diagnostics_.Clear(); +} +inline ::io::deephaven::proto::backplane::script::grpc::Diagnostic* GetPublishDiagnosticResponse::mutable_diagnostics(int index) { + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse.diagnostics) + return diagnostics_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::Diagnostic >* +GetPublishDiagnosticResponse::mutable_diagnostics() { + // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse.diagnostics) + return &diagnostics_; +} +inline const ::io::deephaven::proto::backplane::script::grpc::Diagnostic& GetPublishDiagnosticResponse::_internal_diagnostics(int index) const { + return diagnostics_.Get(index); +} +inline const ::io::deephaven::proto::backplane::script::grpc::Diagnostic& GetPublishDiagnosticResponse::diagnostics(int index) const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse.diagnostics) + return _internal_diagnostics(index); +} +inline ::io::deephaven::proto::backplane::script::grpc::Diagnostic* GetPublishDiagnosticResponse::_internal_add_diagnostics() { + return diagnostics_.Add(); +} +inline ::io::deephaven::proto::backplane::script::grpc::Diagnostic* GetPublishDiagnosticResponse::add_diagnostics() { + ::io::deephaven::proto::backplane::script::grpc::Diagnostic* _add = _internal_add_diagnostics(); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse.diagnostics) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::Diagnostic >& +GetPublishDiagnosticResponse::diagnostics() const { + // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse.diagnostics) + return diagnostics_; +} + +// ------------------------------------------------------------------- + +// Diagnostic_CodeDescription + +// string href = 1; +inline void Diagnostic_CodeDescription::clear_href() { + href_.ClearToEmpty(); +} +inline const std::string& Diagnostic_CodeDescription::href() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription.href) + return _internal_href(); } template inline PROTOBUF_ALWAYS_INLINE -void CompletionItem::set_filter_text(ArgT0&& arg0, ArgT... args) { +void Diagnostic_CodeDescription::set_href(ArgT0&& arg0, ArgT... args) { - filter_text_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.filter_text) + href_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription.href) } -inline std::string* CompletionItem::mutable_filter_text() { - std::string* _s = _internal_mutable_filter_text(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.filter_text) +inline std::string* Diagnostic_CodeDescription::mutable_href() { + std::string* _s = _internal_mutable_href(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription.href) return _s; } -inline const std::string& CompletionItem::_internal_filter_text() const { - return filter_text_.Get(); +inline const std::string& Diagnostic_CodeDescription::_internal_href() const { + return href_.Get(); } -inline void CompletionItem::_internal_set_filter_text(const std::string& value) { +inline void Diagnostic_CodeDescription::_internal_set_href(const std::string& value) { - filter_text_.Set(value, GetArenaForAllocation()); + href_.Set(value, GetArenaForAllocation()); } -inline std::string* CompletionItem::_internal_mutable_filter_text() { +inline std::string* Diagnostic_CodeDescription::_internal_mutable_href() { - return filter_text_.Mutable(GetArenaForAllocation()); + return href_.Mutable(GetArenaForAllocation()); } -inline std::string* CompletionItem::release_filter_text() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.CompletionItem.filter_text) - return filter_text_.Release(); +inline std::string* Diagnostic_CodeDescription::release_href() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription.href) + return href_.Release(); } -inline void CompletionItem::set_allocated_filter_text(std::string* filter_text) { - if (filter_text != nullptr) { +inline void Diagnostic_CodeDescription::set_allocated_href(std::string* href) { + if (href != nullptr) { } else { } - filter_text_.SetAllocated(filter_text, GetArenaForAllocation()); + href_.SetAllocated(href, GetArenaForAllocation()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (filter_text_.IsDefault()) { - filter_text_.Set("", GetArenaForAllocation()); + if (href_.IsDefault()) { + href_.Set("", GetArenaForAllocation()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.CompletionItem.filter_text) + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription.href) } -// int32 insert_text_format = 12; -inline void CompletionItem::clear_insert_text_format() { - insert_text_format_ = 0; -} -inline int32_t CompletionItem::_internal_insert_text_format() const { - return insert_text_format_; -} -inline int32_t CompletionItem::insert_text_format() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.insert_text_format) - return _internal_insert_text_format(); -} -inline void CompletionItem::_internal_set_insert_text_format(int32_t value) { - - insert_text_format_ = value; -} -inline void CompletionItem::set_insert_text_format(int32_t value) { - _internal_set_insert_text_format(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.insert_text_format) -} +// ------------------------------------------------------------------- -// repeated .io.deephaven.proto.backplane.script.grpc.TextEdit additional_text_edits = 13; -inline int CompletionItem::_internal_additional_text_edits_size() const { - return additional_text_edits_.size(); -} -inline int CompletionItem::additional_text_edits_size() const { - return _internal_additional_text_edits_size(); +// Diagnostic + +// .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; +inline bool Diagnostic::_internal_has_range() const { + return this != internal_default_instance() && range_ != nullptr; } -inline void CompletionItem::clear_additional_text_edits() { - additional_text_edits_.Clear(); +inline bool Diagnostic::has_range() const { + return _internal_has_range(); } -inline ::io::deephaven::proto::backplane::script::grpc::TextEdit* CompletionItem::mutable_additional_text_edits(int index) { - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.additional_text_edits) - return additional_text_edits_.Mutable(index); +inline void Diagnostic::clear_range() { + if (GetArenaForAllocation() == nullptr && range_ != nullptr) { + delete range_; + } + range_ = nullptr; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::TextEdit >* -CompletionItem::mutable_additional_text_edits() { - // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.CompletionItem.additional_text_edits) - return &additional_text_edits_; +inline const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& Diagnostic::_internal_range() const { + const ::io::deephaven::proto::backplane::script::grpc::DocumentRange* p = range_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_DocumentRange_default_instance_); } -inline const ::io::deephaven::proto::backplane::script::grpc::TextEdit& CompletionItem::_internal_additional_text_edits(int index) const { - return additional_text_edits_.Get(index); +inline const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& Diagnostic::range() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.Diagnostic.range) + return _internal_range(); } -inline const ::io::deephaven::proto::backplane::script::grpc::TextEdit& CompletionItem::additional_text_edits(int index) const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.additional_text_edits) - return _internal_additional_text_edits(index); +inline void Diagnostic::unsafe_arena_set_allocated_range( + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(range_); + } + range_ = range; + if (range) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.Diagnostic.range) } -inline ::io::deephaven::proto::backplane::script::grpc::TextEdit* CompletionItem::_internal_add_additional_text_edits() { - return additional_text_edits_.Add(); +inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* Diagnostic::release_range() { + + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* temp = range_; + range_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::TextEdit* CompletionItem::add_additional_text_edits() { - ::io::deephaven::proto::backplane::script::grpc::TextEdit* _add = _internal_add_additional_text_edits(); - // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.CompletionItem.additional_text_edits) - return _add; +inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* Diagnostic::unsafe_arena_release_range() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.Diagnostic.range) + + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* temp = range_; + range_ = nullptr; + return temp; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::io::deephaven::proto::backplane::script::grpc::TextEdit >& -CompletionItem::additional_text_edits() const { - // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.CompletionItem.additional_text_edits) - return additional_text_edits_; +inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* Diagnostic::_internal_mutable_range() { + + if (range_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::DocumentRange>(GetArenaForAllocation()); + range_ = p; + } + return range_; } - -// repeated string commit_characters = 14; -inline int CompletionItem::_internal_commit_characters_size() const { - return commit_characters_.size(); +inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* Diagnostic::mutable_range() { + ::io::deephaven::proto::backplane::script::grpc::DocumentRange* _msg = _internal_mutable_range(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.Diagnostic.range) + return _msg; } -inline int CompletionItem::commit_characters_size() const { - return _internal_commit_characters_size(); +inline void Diagnostic::set_allocated_range(::io::deephaven::proto::backplane::script::grpc::DocumentRange* range) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete range_; + } + if (range) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(range); + if (message_arena != submessage_arena) { + range = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, range, submessage_arena); + } + + } else { + + } + range_ = range; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.Diagnostic.range) } -inline void CompletionItem::clear_commit_characters() { - commit_characters_.Clear(); + +// .io.deephaven.proto.backplane.script.grpc.Diagnostic.DiagnosticSeverity severity = 2; +inline void Diagnostic::clear_severity() { + severity_ = 0; } -inline std::string* CompletionItem::add_commit_characters() { - std::string* _s = _internal_add_commit_characters(); - // @@protoc_insertion_point(field_add_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) - return _s; +inline ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticSeverity Diagnostic::_internal_severity() const { + return static_cast< ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticSeverity >(severity_); } -inline const std::string& CompletionItem::_internal_commit_characters(int index) const { - return commit_characters_.Get(index); +inline ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticSeverity Diagnostic::severity() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.Diagnostic.severity) + return _internal_severity(); } -inline const std::string& CompletionItem::commit_characters(int index) const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) - return _internal_commit_characters(index); +inline void Diagnostic::_internal_set_severity(::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticSeverity value) { + + severity_ = value; } -inline std::string* CompletionItem::mutable_commit_characters(int index) { - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) - return commit_characters_.Mutable(index); +inline void Diagnostic::set_severity(::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticSeverity value) { + _internal_set_severity(value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.Diagnostic.severity) } -inline void CompletionItem::set_commit_characters(int index, const std::string& value) { - commit_characters_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) + +// optional string code = 3; +inline bool Diagnostic::_internal_has_code() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; } -inline void CompletionItem::set_commit_characters(int index, std::string&& value) { - commit_characters_.Mutable(index)->assign(std::move(value)); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) +inline bool Diagnostic::has_code() const { + return _internal_has_code(); } -inline void CompletionItem::set_commit_characters(int index, const char* value) { - GOOGLE_DCHECK(value != nullptr); - commit_characters_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set_char:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) +inline void Diagnostic::clear_code() { + code_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; } -inline void CompletionItem::set_commit_characters(int index, const char* value, size_t size) { - commit_characters_.Mutable(index)->assign( - reinterpret_cast(value), size); - // @@protoc_insertion_point(field_set_pointer:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) +inline const std::string& Diagnostic::code() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.Diagnostic.code) + return _internal_code(); } -inline std::string* CompletionItem::_internal_add_commit_characters() { - return commit_characters_.Add(); +template +inline PROTOBUF_ALWAYS_INLINE +void Diagnostic::set_code(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + code_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.Diagnostic.code) } -inline void CompletionItem::add_commit_characters(const std::string& value) { - commit_characters_.Add()->assign(value); - // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) +inline std::string* Diagnostic::mutable_code() { + std::string* _s = _internal_mutable_code(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.Diagnostic.code) + return _s; } -inline void CompletionItem::add_commit_characters(std::string&& value) { - commit_characters_.Add(std::move(value)); - // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) +inline const std::string& Diagnostic::_internal_code() const { + return code_.Get(); } -inline void CompletionItem::add_commit_characters(const char* value) { - GOOGLE_DCHECK(value != nullptr); - commit_characters_.Add()->assign(value); - // @@protoc_insertion_point(field_add_char:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) +inline void Diagnostic::_internal_set_code(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + code_.Set(value, GetArenaForAllocation()); } -inline void CompletionItem::add_commit_characters(const char* value, size_t size) { - commit_characters_.Add()->assign(reinterpret_cast(value), size); - // @@protoc_insertion_point(field_add_pointer:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) +inline std::string* Diagnostic::_internal_mutable_code() { + _has_bits_[0] |= 0x00000001u; + return code_.Mutable(GetArenaForAllocation()); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& -CompletionItem::commit_characters() const { - // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) - return commit_characters_; +inline std::string* Diagnostic::release_code() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.Diagnostic.code) + if (!_internal_has_code()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + auto* p = code_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (code_.IsDefault()) { + code_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* -CompletionItem::mutable_commit_characters() { - // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.CompletionItem.commit_characters) - return &commit_characters_; +inline void Diagnostic::set_allocated_code(std::string* code) { + if (code != nullptr) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + code_.SetAllocated(code, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (code_.IsDefault()) { + code_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.Diagnostic.code) } -// ------------------------------------------------------------------- - -// TextEdit - -// .io.deephaven.proto.backplane.script.grpc.DocumentRange range = 1; -inline bool TextEdit::_internal_has_range() const { - return this != internal_default_instance() && range_ != nullptr; +// optional .io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription code_description = 4; +inline bool Diagnostic::_internal_has_code_description() const { + bool value = (_has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || code_description_ != nullptr); + return value; } -inline bool TextEdit::has_range() const { - return _internal_has_range(); +inline bool Diagnostic::has_code_description() const { + return _internal_has_code_description(); } -inline void TextEdit::clear_range() { - if (GetArenaForAllocation() == nullptr && range_ != nullptr) { - delete range_; - } - range_ = nullptr; +inline void Diagnostic::clear_code_description() { + if (code_description_ != nullptr) code_description_->Clear(); + _has_bits_[0] &= ~0x00000008u; } -inline const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& TextEdit::_internal_range() const { - const ::io::deephaven::proto::backplane::script::grpc::DocumentRange* p = range_; - return p != nullptr ? *p : reinterpret_cast( - ::io::deephaven::proto::backplane::script::grpc::_DocumentRange_default_instance_); +inline const ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription& Diagnostic::_internal_code_description() const { + const ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* p = code_description_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::script::grpc::_Diagnostic_CodeDescription_default_instance_); } -inline const ::io::deephaven::proto::backplane::script::grpc::DocumentRange& TextEdit::range() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.TextEdit.range) - return _internal_range(); +inline const ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription& Diagnostic::code_description() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.Diagnostic.code_description) + return _internal_code_description(); } -inline void TextEdit::unsafe_arena_set_allocated_range( - ::io::deephaven::proto::backplane::script::grpc::DocumentRange* range) { +inline void Diagnostic::unsafe_arena_set_allocated_code_description( + ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* code_description) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(range_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(code_description_); } - range_ = range; - if (range) { - + code_description_ = code_description; + if (code_description) { + _has_bits_[0] |= 0x00000008u; } else { - + _has_bits_[0] &= ~0x00000008u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.TextEdit.range) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.script.grpc.Diagnostic.code_description) } -inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* TextEdit::release_range() { - - ::io::deephaven::proto::backplane::script::grpc::DocumentRange* temp = range_; - range_ = nullptr; +inline ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* Diagnostic::release_code_description() { + _has_bits_[0] &= ~0x00000008u; + ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* temp = code_description_; + code_description_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -13731,94 +19959,273 @@ inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* TextEdit: #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* TextEdit::unsafe_arena_release_range() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.TextEdit.range) - - ::io::deephaven::proto::backplane::script::grpc::DocumentRange* temp = range_; - range_ = nullptr; +inline ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* Diagnostic::unsafe_arena_release_code_description() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.Diagnostic.code_description) + _has_bits_[0] &= ~0x00000008u; + ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* temp = code_description_; + code_description_ = nullptr; return temp; } -inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* TextEdit::_internal_mutable_range() { - - if (range_ == nullptr) { - auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::DocumentRange>(GetArenaForAllocation()); - range_ = p; +inline ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* Diagnostic::_internal_mutable_code_description() { + _has_bits_[0] |= 0x00000008u; + if (code_description_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription>(GetArenaForAllocation()); + code_description_ = p; } - return range_; + return code_description_; } -inline ::io::deephaven::proto::backplane::script::grpc::DocumentRange* TextEdit::mutable_range() { - ::io::deephaven::proto::backplane::script::grpc::DocumentRange* _msg = _internal_mutable_range(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.TextEdit.range) +inline ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* Diagnostic::mutable_code_description() { + ::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* _msg = _internal_mutable_code_description(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.Diagnostic.code_description) return _msg; } -inline void TextEdit::set_allocated_range(::io::deephaven::proto::backplane::script::grpc::DocumentRange* range) { +inline void Diagnostic::set_allocated_code_description(::io::deephaven::proto::backplane::script::grpc::Diagnostic_CodeDescription* code_description) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete range_; + delete code_description_; } - if (range) { + if (code_description) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(range); + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(code_description); if (message_arena != submessage_arena) { - range = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, range, submessage_arena); + code_description = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, code_description, submessage_arena); } - + _has_bits_[0] |= 0x00000008u; } else { - + _has_bits_[0] &= ~0x00000008u; } - range_ = range; - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.TextEdit.range) + code_description_ = code_description; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.Diagnostic.code_description) } -// string text = 2; -inline void TextEdit::clear_text() { - text_.ClearToEmpty(); +// optional string source = 5; +inline bool Diagnostic::_internal_has_source() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; } -inline const std::string& TextEdit::text() const { - // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.TextEdit.text) - return _internal_text(); +inline bool Diagnostic::has_source() const { + return _internal_has_source(); +} +inline void Diagnostic::clear_source() { + source_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000002u; +} +inline const std::string& Diagnostic::source() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.Diagnostic.source) + return _internal_source(); } template inline PROTOBUF_ALWAYS_INLINE -void TextEdit::set_text(ArgT0&& arg0, ArgT... args) { +void Diagnostic::set_source(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000002u; + source_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.Diagnostic.source) +} +inline std::string* Diagnostic::mutable_source() { + std::string* _s = _internal_mutable_source(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.Diagnostic.source) + return _s; +} +inline const std::string& Diagnostic::_internal_source() const { + return source_.Get(); +} +inline void Diagnostic::_internal_set_source(const std::string& value) { + _has_bits_[0] |= 0x00000002u; + source_.Set(value, GetArenaForAllocation()); +} +inline std::string* Diagnostic::_internal_mutable_source() { + _has_bits_[0] |= 0x00000002u; + return source_.Mutable(GetArenaForAllocation()); +} +inline std::string* Diagnostic::release_source() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.Diagnostic.source) + if (!_internal_has_source()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000002u; + auto* p = source_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (source_.IsDefault()) { + source_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; +} +inline void Diagnostic::set_allocated_source(std::string* source) { + if (source != nullptr) { + _has_bits_[0] |= 0x00000002u; + } else { + _has_bits_[0] &= ~0x00000002u; + } + source_.SetAllocated(source, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (source_.IsDefault()) { + source_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.Diagnostic.source) +} + +// string message = 6; +inline void Diagnostic::clear_message() { + message_.ClearToEmpty(); +} +inline const std::string& Diagnostic::message() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.Diagnostic.message) + return _internal_message(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void Diagnostic::set_message(ArgT0&& arg0, ArgT... args) { - text_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.TextEdit.text) + message_.Set(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.Diagnostic.message) } -inline std::string* TextEdit::mutable_text() { - std::string* _s = _internal_mutable_text(); - // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.TextEdit.text) +inline std::string* Diagnostic::mutable_message() { + std::string* _s = _internal_mutable_message(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.Diagnostic.message) return _s; } -inline const std::string& TextEdit::_internal_text() const { - return text_.Get(); +inline const std::string& Diagnostic::_internal_message() const { + return message_.Get(); } -inline void TextEdit::_internal_set_text(const std::string& value) { +inline void Diagnostic::_internal_set_message(const std::string& value) { - text_.Set(value, GetArenaForAllocation()); + message_.Set(value, GetArenaForAllocation()); } -inline std::string* TextEdit::_internal_mutable_text() { +inline std::string* Diagnostic::_internal_mutable_message() { - return text_.Mutable(GetArenaForAllocation()); + return message_.Mutable(GetArenaForAllocation()); } -inline std::string* TextEdit::release_text() { - // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.TextEdit.text) - return text_.Release(); +inline std::string* Diagnostic::release_message() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.Diagnostic.message) + return message_.Release(); } -inline void TextEdit::set_allocated_text(std::string* text) { - if (text != nullptr) { +inline void Diagnostic::set_allocated_message(std::string* message) { + if (message != nullptr) { } else { } - text_.SetAllocated(text, GetArenaForAllocation()); + message_.SetAllocated(message, GetArenaForAllocation()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (text_.IsDefault()) { - text_.Set("", GetArenaForAllocation()); + if (message_.IsDefault()) { + message_.Set("", GetArenaForAllocation()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.TextEdit.text) + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.Diagnostic.message) +} + +// repeated .io.deephaven.proto.backplane.script.grpc.Diagnostic.DiagnosticTag tags = 7; +inline int Diagnostic::_internal_tags_size() const { + return tags_.size(); +} +inline int Diagnostic::tags_size() const { + return _internal_tags_size(); +} +inline void Diagnostic::clear_tags() { + tags_.Clear(); +} +inline ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticTag Diagnostic::_internal_tags(int index) const { + return static_cast< ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticTag >(tags_.Get(index)); +} +inline ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticTag Diagnostic::tags(int index) const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.Diagnostic.tags) + return _internal_tags(index); +} +inline void Diagnostic::set_tags(int index, ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticTag value) { + tags_.Set(index, value); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.Diagnostic.tags) +} +inline void Diagnostic::_internal_add_tags(::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticTag value) { + tags_.Add(value); +} +inline void Diagnostic::add_tags(::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticTag value) { + _internal_add_tags(value); + // @@protoc_insertion_point(field_add:io.deephaven.proto.backplane.script.grpc.Diagnostic.tags) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField& +Diagnostic::tags() const { + // @@protoc_insertion_point(field_list:io.deephaven.proto.backplane.script.grpc.Diagnostic.tags) + return tags_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* +Diagnostic::_internal_mutable_tags() { + return &tags_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedField* +Diagnostic::mutable_tags() { + // @@protoc_insertion_point(field_mutable_list:io.deephaven.proto.backplane.script.grpc.Diagnostic.tags) + return _internal_mutable_tags(); +} + +// optional bytes data = 9; +inline bool Diagnostic::_internal_has_data() const { + bool value = (_has_bits_[0] & 0x00000004u) != 0; + return value; +} +inline bool Diagnostic::has_data() const { + return _internal_has_data(); +} +inline void Diagnostic::clear_data() { + data_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000004u; +} +inline const std::string& Diagnostic::data() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.script.grpc.Diagnostic.data) + return _internal_data(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void Diagnostic::set_data(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000004u; + data_.SetBytes(static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:io.deephaven.proto.backplane.script.grpc.Diagnostic.data) +} +inline std::string* Diagnostic::mutable_data() { + std::string* _s = _internal_mutable_data(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.script.grpc.Diagnostic.data) + return _s; +} +inline const std::string& Diagnostic::_internal_data() const { + return data_.Get(); +} +inline void Diagnostic::_internal_set_data(const std::string& value) { + _has_bits_[0] |= 0x00000004u; + data_.Set(value, GetArenaForAllocation()); +} +inline std::string* Diagnostic::_internal_mutable_data() { + _has_bits_[0] |= 0x00000004u; + return data_.Mutable(GetArenaForAllocation()); +} +inline std::string* Diagnostic::release_data() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.script.grpc.Diagnostic.data) + if (!_internal_has_data()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000004u; + auto* p = data_.Release(); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (data_.IsDefault()) { + data_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return p; +} +inline void Diagnostic::set_allocated_data(std::string* data) { + if (data != nullptr) { + _has_bits_[0] |= 0x00000004u; + } else { + _has_bits_[0] &= ~0x00000004u; + } + data_.SetAllocated(data, GetArenaForAllocation()); +#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (data_.IsDefault()) { + data_.Set("", GetArenaForAllocation()); + } +#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.script.grpc.Diagnostic.data) } // ------------------------------------------------------------------- @@ -18925,6 +25332,36 @@ FigureDescriptor::mutable_errors() { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) @@ -18937,6 +25374,16 @@ FigureDescriptor::mutable_errors() { PROTOBUF_NAMESPACE_OPEN +template <> struct is_proto_enum< ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticSeverity> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticSeverity>() { + return ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticSeverity_descriptor(); +} +template <> struct is_proto_enum< ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticTag> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticTag>() { + return ::io::deephaven::proto::backplane::script::grpc::Diagnostic_DiagnosticTag_descriptor(); +} template <> struct is_proto_enum< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor_ChartType> : ::std::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor< ::io::deephaven::proto::backplane::script::grpc::FigureDescriptor_ChartDescriptor_ChartType>() { diff --git a/go/internal/proto/console/console.pb.go b/go/internal/proto/console/console.pb.go index a94005f605f..c80414870a8 100644 --- a/go/internal/proto/console/console.pb.go +++ b/go/internal/proto/console/console.pb.go @@ -25,6 +25,110 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +type Diagnostic_DiagnosticSeverity int32 + +const ( + Diagnostic_NOT_SET_SEVERITY Diagnostic_DiagnosticSeverity = 0 + Diagnostic_ERROR Diagnostic_DiagnosticSeverity = 1 + Diagnostic_WARNING Diagnostic_DiagnosticSeverity = 2 + Diagnostic_INFORMATION Diagnostic_DiagnosticSeverity = 3 + Diagnostic_HINT Diagnostic_DiagnosticSeverity = 4 +) + +// Enum value maps for Diagnostic_DiagnosticSeverity. +var ( + Diagnostic_DiagnosticSeverity_name = map[int32]string{ + 0: "NOT_SET_SEVERITY", + 1: "ERROR", + 2: "WARNING", + 3: "INFORMATION", + 4: "HINT", + } + Diagnostic_DiagnosticSeverity_value = map[string]int32{ + "NOT_SET_SEVERITY": 0, + "ERROR": 1, + "WARNING": 2, + "INFORMATION": 3, + "HINT": 4, + } +) + +func (x Diagnostic_DiagnosticSeverity) Enum() *Diagnostic_DiagnosticSeverity { + p := new(Diagnostic_DiagnosticSeverity) + *p = x + return p +} + +func (x Diagnostic_DiagnosticSeverity) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Diagnostic_DiagnosticSeverity) Descriptor() protoreflect.EnumDescriptor { + return file_deephaven_proto_console_proto_enumTypes[0].Descriptor() +} + +func (Diagnostic_DiagnosticSeverity) Type() protoreflect.EnumType { + return &file_deephaven_proto_console_proto_enumTypes[0] +} + +func (x Diagnostic_DiagnosticSeverity) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Diagnostic_DiagnosticSeverity.Descriptor instead. +func (Diagnostic_DiagnosticSeverity) EnumDescriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{42, 0} +} + +type Diagnostic_DiagnosticTag int32 + +const ( + Diagnostic_NOT_SET_TAG Diagnostic_DiagnosticTag = 0 + Diagnostic_UNNECESSARY Diagnostic_DiagnosticTag = 1 + Diagnostic_DEPRECATED Diagnostic_DiagnosticTag = 2 +) + +// Enum value maps for Diagnostic_DiagnosticTag. +var ( + Diagnostic_DiagnosticTag_name = map[int32]string{ + 0: "NOT_SET_TAG", + 1: "UNNECESSARY", + 2: "DEPRECATED", + } + Diagnostic_DiagnosticTag_value = map[string]int32{ + "NOT_SET_TAG": 0, + "UNNECESSARY": 1, + "DEPRECATED": 2, + } +) + +func (x Diagnostic_DiagnosticTag) Enum() *Diagnostic_DiagnosticTag { + p := new(Diagnostic_DiagnosticTag) + *p = x + return p +} + +func (x Diagnostic_DiagnosticTag) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Diagnostic_DiagnosticTag) Descriptor() protoreflect.EnumDescriptor { + return file_deephaven_proto_console_proto_enumTypes[1].Descriptor() +} + +func (Diagnostic_DiagnosticTag) Type() protoreflect.EnumType { + return &file_deephaven_proto_console_proto_enumTypes[1] +} + +func (x Diagnostic_DiagnosticTag) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Diagnostic_DiagnosticTag.Descriptor instead. +func (Diagnostic_DiagnosticTag) EnumDescriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{42, 1} +} + type FigureDescriptor_SeriesPlotStyle int32 const ( @@ -85,11 +189,11 @@ func (x FigureDescriptor_SeriesPlotStyle) String() string { } func (FigureDescriptor_SeriesPlotStyle) Descriptor() protoreflect.EnumDescriptor { - return file_deephaven_proto_console_proto_enumTypes[0].Descriptor() + return file_deephaven_proto_console_proto_enumTypes[2].Descriptor() } func (FigureDescriptor_SeriesPlotStyle) Type() protoreflect.EnumType { - return &file_deephaven_proto_console_proto_enumTypes[0] + return &file_deephaven_proto_console_proto_enumTypes[2] } func (x FigureDescriptor_SeriesPlotStyle) Number() protoreflect.EnumNumber { @@ -98,7 +202,7 @@ func (x FigureDescriptor_SeriesPlotStyle) Number() protoreflect.EnumNumber { // Deprecated: Use FigureDescriptor_SeriesPlotStyle.Descriptor instead. func (FigureDescriptor_SeriesPlotStyle) EnumDescriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 0} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 0} } type FigureDescriptor_SourceType int32 @@ -182,11 +286,11 @@ func (x FigureDescriptor_SourceType) String() string { } func (FigureDescriptor_SourceType) Descriptor() protoreflect.EnumDescriptor { - return file_deephaven_proto_console_proto_enumTypes[1].Descriptor() + return file_deephaven_proto_console_proto_enumTypes[3].Descriptor() } func (FigureDescriptor_SourceType) Type() protoreflect.EnumType { - return &file_deephaven_proto_console_proto_enumTypes[1] + return &file_deephaven_proto_console_proto_enumTypes[3] } func (x FigureDescriptor_SourceType) Number() protoreflect.EnumNumber { @@ -195,7 +299,7 @@ func (x FigureDescriptor_SourceType) Number() protoreflect.EnumNumber { // Deprecated: Use FigureDescriptor_SourceType.Descriptor instead. func (FigureDescriptor_SourceType) EnumDescriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 1} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 1} } type FigureDescriptor_ChartDescriptor_ChartType int32 @@ -244,11 +348,11 @@ func (x FigureDescriptor_ChartDescriptor_ChartType) String() string { } func (FigureDescriptor_ChartDescriptor_ChartType) Descriptor() protoreflect.EnumDescriptor { - return file_deephaven_proto_console_proto_enumTypes[2].Descriptor() + return file_deephaven_proto_console_proto_enumTypes[4].Descriptor() } func (FigureDescriptor_ChartDescriptor_ChartType) Type() protoreflect.EnumType { - return &file_deephaven_proto_console_proto_enumTypes[2] + return &file_deephaven_proto_console_proto_enumTypes[4] } func (x FigureDescriptor_ChartDescriptor_ChartType) Number() protoreflect.EnumNumber { @@ -257,7 +361,7 @@ func (x FigureDescriptor_ChartDescriptor_ChartType) Number() protoreflect.EnumNu // Deprecated: Use FigureDescriptor_ChartDescriptor_ChartType.Descriptor instead. func (FigureDescriptor_ChartDescriptor_ChartType) EnumDescriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 0, 0} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 0, 0} } type FigureDescriptor_AxisDescriptor_AxisFormatType int32 @@ -290,11 +394,11 @@ func (x FigureDescriptor_AxisDescriptor_AxisFormatType) String() string { } func (FigureDescriptor_AxisDescriptor_AxisFormatType) Descriptor() protoreflect.EnumDescriptor { - return file_deephaven_proto_console_proto_enumTypes[3].Descriptor() + return file_deephaven_proto_console_proto_enumTypes[5].Descriptor() } func (FigureDescriptor_AxisDescriptor_AxisFormatType) Type() protoreflect.EnumType { - return &file_deephaven_proto_console_proto_enumTypes[3] + return &file_deephaven_proto_console_proto_enumTypes[5] } func (x FigureDescriptor_AxisDescriptor_AxisFormatType) Number() protoreflect.EnumNumber { @@ -303,7 +407,7 @@ func (x FigureDescriptor_AxisDescriptor_AxisFormatType) Number() protoreflect.En // Deprecated: Use FigureDescriptor_AxisDescriptor_AxisFormatType.Descriptor instead. func (FigureDescriptor_AxisDescriptor_AxisFormatType) EnumDescriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 6, 0} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 6, 0} } type FigureDescriptor_AxisDescriptor_AxisType int32 @@ -348,11 +452,11 @@ func (x FigureDescriptor_AxisDescriptor_AxisType) String() string { } func (FigureDescriptor_AxisDescriptor_AxisType) Descriptor() protoreflect.EnumDescriptor { - return file_deephaven_proto_console_proto_enumTypes[4].Descriptor() + return file_deephaven_proto_console_proto_enumTypes[6].Descriptor() } func (FigureDescriptor_AxisDescriptor_AxisType) Type() protoreflect.EnumType { - return &file_deephaven_proto_console_proto_enumTypes[4] + return &file_deephaven_proto_console_proto_enumTypes[6] } func (x FigureDescriptor_AxisDescriptor_AxisType) Number() protoreflect.EnumNumber { @@ -361,7 +465,7 @@ func (x FigureDescriptor_AxisDescriptor_AxisType) Number() protoreflect.EnumNumb // Deprecated: Use FigureDescriptor_AxisDescriptor_AxisType.Descriptor instead. func (FigureDescriptor_AxisDescriptor_AxisType) EnumDescriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 6, 1} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 6, 1} } type FigureDescriptor_AxisDescriptor_AxisPosition int32 @@ -403,11 +507,11 @@ func (x FigureDescriptor_AxisDescriptor_AxisPosition) String() string { } func (FigureDescriptor_AxisDescriptor_AxisPosition) Descriptor() protoreflect.EnumDescriptor { - return file_deephaven_proto_console_proto_enumTypes[5].Descriptor() + return file_deephaven_proto_console_proto_enumTypes[7].Descriptor() } func (FigureDescriptor_AxisDescriptor_AxisPosition) Type() protoreflect.EnumType { - return &file_deephaven_proto_console_proto_enumTypes[5] + return &file_deephaven_proto_console_proto_enumTypes[7] } func (x FigureDescriptor_AxisDescriptor_AxisPosition) Number() protoreflect.EnumNumber { @@ -416,7 +520,7 @@ func (x FigureDescriptor_AxisDescriptor_AxisPosition) Number() protoreflect.Enum // Deprecated: Use FigureDescriptor_AxisDescriptor_AxisPosition.Descriptor instead. func (FigureDescriptor_AxisDescriptor_AxisPosition) EnumDescriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 6, 2} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 6, 2} } type FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek int32 @@ -464,11 +568,11 @@ func (x FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek) String() string { } func (FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek) Descriptor() protoreflect.EnumDescriptor { - return file_deephaven_proto_console_proto_enumTypes[6].Descriptor() + return file_deephaven_proto_console_proto_enumTypes[8].Descriptor() } func (FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek) Type() protoreflect.EnumType { - return &file_deephaven_proto_console_proto_enumTypes[6] + return &file_deephaven_proto_console_proto_enumTypes[8] } func (x FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek) Number() protoreflect.EnumNumber { @@ -477,7 +581,7 @@ func (x FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek) Number() protoref // Deprecated: Use FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek.Descriptor instead. func (FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek) EnumDescriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 7, 0} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 7, 0} } type GetConsoleTypesRequest struct { @@ -1206,16 +1310,114 @@ func (*CancelCommandResponse) Descriptor() ([]byte, []int) { return file_deephaven_proto_console_proto_rawDescGZIP(), []int{13} } +type CancelAutoCompleteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ConsoleId *ticket.Ticket `protobuf:"bytes,1,opt,name=console_id,json=consoleId,proto3" json:"console_id,omitempty"` + RequestId int32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *CancelAutoCompleteRequest) Reset() { + *x = CancelAutoCompleteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_console_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CancelAutoCompleteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelAutoCompleteRequest) ProtoMessage() {} + +func (x *CancelAutoCompleteRequest) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelAutoCompleteRequest.ProtoReflect.Descriptor instead. +func (*CancelAutoCompleteRequest) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{14} +} + +func (x *CancelAutoCompleteRequest) GetConsoleId() *ticket.Ticket { + if x != nil { + return x.ConsoleId + } + return nil +} + +func (x *CancelAutoCompleteRequest) GetRequestId() int32 { + if x != nil { + return x.RequestId + } + return 0 +} + +type CancelAutoCompleteResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CancelAutoCompleteResponse) Reset() { + *x = CancelAutoCompleteResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_console_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CancelAutoCompleteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelAutoCompleteResponse) ProtoMessage() {} + +func (x *CancelAutoCompleteResponse) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelAutoCompleteResponse.ProtoReflect.Descriptor instead. +func (*CancelAutoCompleteResponse) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{15} +} + type AutoCompleteRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + ConsoleId *ticket.Ticket `protobuf:"bytes,5,opt,name=console_id,json=consoleId,proto3" json:"console_id,omitempty"` + RequestId int32 `protobuf:"varint,6,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` // Types that are assignable to Request: // // *AutoCompleteRequest_OpenDocument // *AutoCompleteRequest_ChangeDocument // *AutoCompleteRequest_GetCompletionItems + // *AutoCompleteRequest_GetSignatureHelp + // *AutoCompleteRequest_GetHover + // *AutoCompleteRequest_GetDiagnostic // *AutoCompleteRequest_CloseDocument Request isAutoCompleteRequest_Request `protobuf_oneof:"request"` } @@ -1223,7 +1425,7 @@ type AutoCompleteRequest struct { func (x *AutoCompleteRequest) Reset() { *x = AutoCompleteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[14] + mi := &file_deephaven_proto_console_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1236,7 +1438,7 @@ func (x *AutoCompleteRequest) String() string { func (*AutoCompleteRequest) ProtoMessage() {} func (x *AutoCompleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[14] + mi := &file_deephaven_proto_console_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1249,7 +1451,21 @@ func (x *AutoCompleteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AutoCompleteRequest.ProtoReflect.Descriptor instead. func (*AutoCompleteRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{14} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{16} +} + +func (x *AutoCompleteRequest) GetConsoleId() *ticket.Ticket { + if x != nil { + return x.ConsoleId + } + return nil +} + +func (x *AutoCompleteRequest) GetRequestId() int32 { + if x != nil { + return x.RequestId + } + return 0 } func (m *AutoCompleteRequest) GetRequest() isAutoCompleteRequest_Request { @@ -1280,6 +1496,27 @@ func (x *AutoCompleteRequest) GetGetCompletionItems() *GetCompletionItemsRequest return nil } +func (x *AutoCompleteRequest) GetGetSignatureHelp() *GetSignatureHelpRequest { + if x, ok := x.GetRequest().(*AutoCompleteRequest_GetSignatureHelp); ok { + return x.GetSignatureHelp + } + return nil +} + +func (x *AutoCompleteRequest) GetGetHover() *GetHoverRequest { + if x, ok := x.GetRequest().(*AutoCompleteRequest_GetHover); ok { + return x.GetHover + } + return nil +} + +func (x *AutoCompleteRequest) GetGetDiagnostic() *GetDiagnosticRequest { + if x, ok := x.GetRequest().(*AutoCompleteRequest_GetDiagnostic); ok { + return x.GetDiagnostic + } + return nil +} + func (x *AutoCompleteRequest) GetCloseDocument() *CloseDocumentRequest { if x, ok := x.GetRequest().(*AutoCompleteRequest_CloseDocument); ok { return x.CloseDocument @@ -1306,6 +1543,21 @@ type AutoCompleteRequest_GetCompletionItems struct { GetCompletionItems *GetCompletionItemsRequest `protobuf:"bytes,3,opt,name=get_completion_items,json=getCompletionItems,proto3,oneof"` } +type AutoCompleteRequest_GetSignatureHelp struct { + // Request for help about the method signature at the cursor + GetSignatureHelp *GetSignatureHelpRequest `protobuf:"bytes,7,opt,name=get_signature_help,json=getSignatureHelp,proto3,oneof"` +} + +type AutoCompleteRequest_GetHover struct { + // Request for help about what the user is hovering over + GetHover *GetHoverRequest `protobuf:"bytes,8,opt,name=get_hover,json=getHover,proto3,oneof"` +} + +type AutoCompleteRequest_GetDiagnostic struct { + // Request to perform file diagnostics + GetDiagnostic *GetDiagnosticRequest `protobuf:"bytes,9,opt,name=get_diagnostic,json=getDiagnostic,proto3,oneof"` +} + type AutoCompleteRequest_CloseDocument struct { // Closes the document, indicating that it will not be referenced again CloseDocument *CloseDocumentRequest `protobuf:"bytes,4,opt,name=close_document,json=closeDocument,proto3,oneof"` @@ -1317,6 +1569,12 @@ func (*AutoCompleteRequest_ChangeDocument) isAutoCompleteRequest_Request() {} func (*AutoCompleteRequest_GetCompletionItems) isAutoCompleteRequest_Request() {} +func (*AutoCompleteRequest_GetSignatureHelp) isAutoCompleteRequest_Request() {} + +func (*AutoCompleteRequest_GetHover) isAutoCompleteRequest_Request() {} + +func (*AutoCompleteRequest_GetDiagnostic) isAutoCompleteRequest_Request() {} + func (*AutoCompleteRequest_CloseDocument) isAutoCompleteRequest_Request() {} type AutoCompleteResponse struct { @@ -1324,16 +1582,22 @@ type AutoCompleteResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + RequestId int32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + Success bool `protobuf:"varint,3,opt,name=success,proto3" json:"success,omitempty"` // Types that are assignable to Response: // // *AutoCompleteResponse_CompletionItems + // *AutoCompleteResponse_Signatures + // *AutoCompleteResponse_Hover + // *AutoCompleteResponse_Diagnostic + // *AutoCompleteResponse_DiagnosticPublish Response isAutoCompleteResponse_Response `protobuf_oneof:"response"` } func (x *AutoCompleteResponse) Reset() { *x = AutoCompleteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[15] + mi := &file_deephaven_proto_console_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1346,7 +1610,7 @@ func (x *AutoCompleteResponse) String() string { func (*AutoCompleteResponse) ProtoMessage() {} func (x *AutoCompleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[15] + mi := &file_deephaven_proto_console_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1359,7 +1623,21 @@ func (x *AutoCompleteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AutoCompleteResponse.ProtoReflect.Descriptor instead. func (*AutoCompleteResponse) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{15} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{17} +} + +func (x *AutoCompleteResponse) GetRequestId() int32 { + if x != nil { + return x.RequestId + } + return 0 +} + +func (x *AutoCompleteResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false } func (m *AutoCompleteResponse) GetResponse() isAutoCompleteResponse_Response { @@ -1376,6 +1654,34 @@ func (x *AutoCompleteResponse) GetCompletionItems() *GetCompletionItemsResponse return nil } +func (x *AutoCompleteResponse) GetSignatures() *GetSignatureHelpResponse { + if x, ok := x.GetResponse().(*AutoCompleteResponse_Signatures); ok { + return x.Signatures + } + return nil +} + +func (x *AutoCompleteResponse) GetHover() *GetHoverResponse { + if x, ok := x.GetResponse().(*AutoCompleteResponse_Hover); ok { + return x.Hover + } + return nil +} + +func (x *AutoCompleteResponse) GetDiagnostic() *GetPullDiagnosticResponse { + if x, ok := x.GetResponse().(*AutoCompleteResponse_Diagnostic); ok { + return x.Diagnostic + } + return nil +} + +func (x *AutoCompleteResponse) GetDiagnosticPublish() *GetPublishDiagnosticResponse { + if x, ok := x.GetResponse().(*AutoCompleteResponse_DiagnosticPublish); ok { + return x.DiagnosticPublish + } + return nil +} + type isAutoCompleteResponse_Response interface { isAutoCompleteResponse_Response() } @@ -1384,8 +1690,32 @@ type AutoCompleteResponse_CompletionItems struct { CompletionItems *GetCompletionItemsResponse `protobuf:"bytes,1,opt,name=completion_items,json=completionItems,proto3,oneof"` } +type AutoCompleteResponse_Signatures struct { + Signatures *GetSignatureHelpResponse `protobuf:"bytes,4,opt,name=signatures,proto3,oneof"` +} + +type AutoCompleteResponse_Hover struct { + Hover *GetHoverResponse `protobuf:"bytes,5,opt,name=hover,proto3,oneof"` +} + +type AutoCompleteResponse_Diagnostic struct { + Diagnostic *GetPullDiagnosticResponse `protobuf:"bytes,6,opt,name=diagnostic,proto3,oneof"` +} + +type AutoCompleteResponse_DiagnosticPublish struct { + DiagnosticPublish *GetPublishDiagnosticResponse `protobuf:"bytes,7,opt,name=diagnostic_publish,json=diagnosticPublish,proto3,oneof"` +} + func (*AutoCompleteResponse_CompletionItems) isAutoCompleteResponse_Response() {} +func (*AutoCompleteResponse_Signatures) isAutoCompleteResponse_Response() {} + +func (*AutoCompleteResponse_Hover) isAutoCompleteResponse_Response() {} + +func (*AutoCompleteResponse_Diagnostic) isAutoCompleteResponse_Response() {} + +func (*AutoCompleteResponse_DiagnosticPublish) isAutoCompleteResponse_Response() {} + type BrowserNextResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1395,7 +1725,7 @@ type BrowserNextResponse struct { func (x *BrowserNextResponse) Reset() { *x = BrowserNextResponse{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[16] + mi := &file_deephaven_proto_console_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1408,7 +1738,7 @@ func (x *BrowserNextResponse) String() string { func (*BrowserNextResponse) ProtoMessage() {} func (x *BrowserNextResponse) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[16] + mi := &file_deephaven_proto_console_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1421,7 +1751,7 @@ func (x *BrowserNextResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BrowserNextResponse.ProtoReflect.Descriptor instead. func (*BrowserNextResponse) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{16} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{18} } type OpenDocumentRequest struct { @@ -1429,6 +1759,7 @@ type OpenDocumentRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Deprecated: Do not use. ConsoleId *ticket.Ticket `protobuf:"bytes,1,opt,name=console_id,json=consoleId,proto3" json:"console_id,omitempty"` TextDocument *TextDocumentItem `protobuf:"bytes,2,opt,name=text_document,json=textDocument,proto3" json:"text_document,omitempty"` } @@ -1436,7 +1767,7 @@ type OpenDocumentRequest struct { func (x *OpenDocumentRequest) Reset() { *x = OpenDocumentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[17] + mi := &file_deephaven_proto_console_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1449,7 +1780,7 @@ func (x *OpenDocumentRequest) String() string { func (*OpenDocumentRequest) ProtoMessage() {} func (x *OpenDocumentRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[17] + mi := &file_deephaven_proto_console_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1462,9 +1793,10 @@ func (x *OpenDocumentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OpenDocumentRequest.ProtoReflect.Descriptor instead. func (*OpenDocumentRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{17} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{19} } +// Deprecated: Do not use. func (x *OpenDocumentRequest) GetConsoleId() *ticket.Ticket { if x != nil { return x.ConsoleId @@ -1493,7 +1825,7 @@ type TextDocumentItem struct { func (x *TextDocumentItem) Reset() { *x = TextDocumentItem{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[18] + mi := &file_deephaven_proto_console_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1506,7 +1838,7 @@ func (x *TextDocumentItem) String() string { func (*TextDocumentItem) ProtoMessage() {} func (x *TextDocumentItem) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[18] + mi := &file_deephaven_proto_console_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1519,7 +1851,7 @@ func (x *TextDocumentItem) ProtoReflect() protoreflect.Message { // Deprecated: Use TextDocumentItem.ProtoReflect.Descriptor instead. func (*TextDocumentItem) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{18} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{20} } func (x *TextDocumentItem) GetUri() string { @@ -1555,14 +1887,15 @@ type CloseDocumentRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Deprecated: Do not use. ConsoleId *ticket.Ticket `protobuf:"bytes,1,opt,name=console_id,json=consoleId,proto3" json:"console_id,omitempty"` - TextDocument *VersionedTextDocumentIdentifier `protobuf:"bytes,2,opt,name=text_document,json=textDocument,proto3" json:"text_document,omitempty"` //TODO actually just uri? + TextDocument *VersionedTextDocumentIdentifier `protobuf:"bytes,2,opt,name=text_document,json=textDocument,proto3" json:"text_document,omitempty"` } func (x *CloseDocumentRequest) Reset() { *x = CloseDocumentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[19] + mi := &file_deephaven_proto_console_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1575,7 +1908,7 @@ func (x *CloseDocumentRequest) String() string { func (*CloseDocumentRequest) ProtoMessage() {} func (x *CloseDocumentRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[19] + mi := &file_deephaven_proto_console_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1588,9 +1921,10 @@ func (x *CloseDocumentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CloseDocumentRequest.ProtoReflect.Descriptor instead. func (*CloseDocumentRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{19} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{21} } +// Deprecated: Do not use. func (x *CloseDocumentRequest) GetConsoleId() *ticket.Ticket { if x != nil { return x.ConsoleId @@ -1610,15 +1944,16 @@ type ChangeDocumentRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Deprecated: Do not use. ConsoleId *ticket.Ticket `protobuf:"bytes,1,opt,name=console_id,json=consoleId,proto3" json:"console_id,omitempty"` - TextDocument *VersionedTextDocumentIdentifier `protobuf:"bytes,2,opt,name=text_document,json=textDocument,proto3" json:"text_document,omitempty"` //TODO actually just uri? + TextDocument *VersionedTextDocumentIdentifier `protobuf:"bytes,2,opt,name=text_document,json=textDocument,proto3" json:"text_document,omitempty"` ContentChanges []*ChangeDocumentRequest_TextDocumentContentChangeEvent `protobuf:"bytes,3,rep,name=content_changes,json=contentChanges,proto3" json:"content_changes,omitempty"` } func (x *ChangeDocumentRequest) Reset() { *x = ChangeDocumentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[20] + mi := &file_deephaven_proto_console_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1631,7 +1966,7 @@ func (x *ChangeDocumentRequest) String() string { func (*ChangeDocumentRequest) ProtoMessage() {} func (x *ChangeDocumentRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[20] + mi := &file_deephaven_proto_console_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1644,9 +1979,10 @@ func (x *ChangeDocumentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChangeDocumentRequest.ProtoReflect.Descriptor instead. func (*ChangeDocumentRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{20} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{22} } +// Deprecated: Do not use. func (x *ChangeDocumentRequest) GetConsoleId() *ticket.Ticket { if x != nil { return x.ConsoleId @@ -1680,7 +2016,7 @@ type DocumentRange struct { func (x *DocumentRange) Reset() { *x = DocumentRange{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[21] + mi := &file_deephaven_proto_console_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1693,7 +2029,7 @@ func (x *DocumentRange) String() string { func (*DocumentRange) ProtoMessage() {} func (x *DocumentRange) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[21] + mi := &file_deephaven_proto_console_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1706,7 +2042,7 @@ func (x *DocumentRange) ProtoReflect() protoreflect.Message { // Deprecated: Use DocumentRange.ProtoReflect.Descriptor instead. func (*DocumentRange) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{21} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{23} } func (x *DocumentRange) GetStart() *Position { @@ -1735,7 +2071,7 @@ type VersionedTextDocumentIdentifier struct { func (x *VersionedTextDocumentIdentifier) Reset() { *x = VersionedTextDocumentIdentifier{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[22] + mi := &file_deephaven_proto_console_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1748,7 +2084,7 @@ func (x *VersionedTextDocumentIdentifier) String() string { func (*VersionedTextDocumentIdentifier) ProtoMessage() {} func (x *VersionedTextDocumentIdentifier) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[22] + mi := &file_deephaven_proto_console_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1761,7 +2097,7 @@ func (x *VersionedTextDocumentIdentifier) ProtoReflect() protoreflect.Message { // Deprecated: Use VersionedTextDocumentIdentifier.ProtoReflect.Descriptor instead. func (*VersionedTextDocumentIdentifier) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{22} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{24} } func (x *VersionedTextDocumentIdentifier) GetUri() string { @@ -1790,7 +2126,7 @@ type Position struct { func (x *Position) Reset() { *x = Position{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[23] + mi := &file_deephaven_proto_console_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1803,7 +2139,7 @@ func (x *Position) String() string { func (*Position) ProtoMessage() {} func (x *Position) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[23] + mi := &file_deephaven_proto_console_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1816,7 +2152,7 @@ func (x *Position) ProtoReflect() protoreflect.Message { // Deprecated: Use Position.ProtoReflect.Descriptor instead. func (*Position) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{23} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{25} } func (x *Position) GetLine() int32 { @@ -1833,22 +2169,79 @@ func (x *Position) GetCharacter() int32 { return 0 } +type MarkupContent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *MarkupContent) Reset() { + *x = MarkupContent{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_console_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MarkupContent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MarkupContent) ProtoMessage() {} + +func (x *MarkupContent) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MarkupContent.ProtoReflect.Descriptor instead. +func (*MarkupContent) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{26} +} + +func (x *MarkupContent) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *MarkupContent) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + type GetCompletionItemsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Deprecated: Do not use. ConsoleId *ticket.Ticket `protobuf:"bytes,1,opt,name=console_id,json=consoleId,proto3" json:"console_id,omitempty"` Context *CompletionContext `protobuf:"bytes,2,opt,name=context,proto3" json:"context,omitempty"` TextDocument *VersionedTextDocumentIdentifier `protobuf:"bytes,3,opt,name=text_document,json=textDocument,proto3" json:"text_document,omitempty"` Position *Position `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"` - RequestId int32 `protobuf:"varint,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Deprecated: Do not use. + RequestId int32 `protobuf:"varint,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` } func (x *GetCompletionItemsRequest) Reset() { *x = GetCompletionItemsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[24] + mi := &file_deephaven_proto_console_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1861,7 +2254,7 @@ func (x *GetCompletionItemsRequest) String() string { func (*GetCompletionItemsRequest) ProtoMessage() {} func (x *GetCompletionItemsRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[24] + mi := &file_deephaven_proto_console_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1874,9 +2267,10 @@ func (x *GetCompletionItemsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCompletionItemsRequest.ProtoReflect.Descriptor instead. func (*GetCompletionItemsRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{24} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{27} } +// Deprecated: Do not use. func (x *GetCompletionItemsRequest) GetConsoleId() *ticket.Ticket { if x != nil { return x.ConsoleId @@ -1905,6 +2299,7 @@ func (x *GetCompletionItemsRequest) GetPosition() *Position { return nil } +// Deprecated: Do not use. func (x *GetCompletionItemsRequest) GetRequestId() int32 { if x != nil { return x.RequestId @@ -1924,7 +2319,7 @@ type CompletionContext struct { func (x *CompletionContext) Reset() { *x = CompletionContext{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[25] + mi := &file_deephaven_proto_console_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1937,7 +2332,7 @@ func (x *CompletionContext) String() string { func (*CompletionContext) ProtoMessage() {} func (x *CompletionContext) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[25] + mi := &file_deephaven_proto_console_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1950,7 +2345,7 @@ func (x *CompletionContext) ProtoReflect() protoreflect.Message { // Deprecated: Use CompletionContext.ProtoReflect.Descriptor instead. func (*CompletionContext) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{25} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{28} } func (x *CompletionContext) GetTriggerKind() int32 { @@ -1972,15 +2367,21 @@ type GetCompletionItemsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Items []*CompletionItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` - RequestId int32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` - Success bool `protobuf:"varint,3,opt,name=success,proto3" json:"success,omitempty"` + Items []*CompletionItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + // Maintained for backwards compatibility. Use the same field on AutoCompleteResponse instead + // + // Deprecated: Do not use. + RequestId int32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Maintained for backwards compatibility. Use the same field on AutoCompleteResponse instead + // + // Deprecated: Do not use. + Success bool `protobuf:"varint,3,opt,name=success,proto3" json:"success,omitempty"` } func (x *GetCompletionItemsResponse) Reset() { *x = GetCompletionItemsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[26] + mi := &file_deephaven_proto_console_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1993,7 +2394,7 @@ func (x *GetCompletionItemsResponse) String() string { func (*GetCompletionItemsResponse) ProtoMessage() {} func (x *GetCompletionItemsResponse) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[26] + mi := &file_deephaven_proto_console_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2006,7 +2407,7 @@ func (x *GetCompletionItemsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCompletionItemsResponse.ProtoReflect.Descriptor instead. func (*GetCompletionItemsResponse) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{26} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29} } func (x *GetCompletionItemsResponse) GetItems() []*CompletionItem { @@ -2016,6 +2417,7 @@ func (x *GetCompletionItemsResponse) GetItems() []*CompletionItem { return nil } +// Deprecated: Do not use. func (x *GetCompletionItemsResponse) GetRequestId() int32 { if x != nil { return x.RequestId @@ -2023,6 +2425,7 @@ func (x *GetCompletionItemsResponse) GetRequestId() int32 { return 0 } +// Deprecated: Do not use. func (x *GetCompletionItemsResponse) GetSuccess() bool { if x != nil { return x.Success @@ -2035,26 +2438,26 @@ type CompletionItem struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Start int32 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` - Length int32 `protobuf:"varint,2,opt,name=length,proto3" json:"length,omitempty"` - Label string `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"` - Kind int32 `protobuf:"varint,4,opt,name=kind,proto3" json:"kind,omitempty"` - Detail string `protobuf:"bytes,5,opt,name=detail,proto3" json:"detail,omitempty"` - Documentation string `protobuf:"bytes,6,opt,name=documentation,proto3" json:"documentation,omitempty"` - Deprecated bool `protobuf:"varint,7,opt,name=deprecated,proto3" json:"deprecated,omitempty"` - Preselect bool `protobuf:"varint,8,opt,name=preselect,proto3" json:"preselect,omitempty"` - TextEdit *TextEdit `protobuf:"bytes,9,opt,name=text_edit,json=textEdit,proto3" json:"text_edit,omitempty"` - SortText string `protobuf:"bytes,10,opt,name=sort_text,json=sortText,proto3" json:"sort_text,omitempty"` - FilterText string `protobuf:"bytes,11,opt,name=filter_text,json=filterText,proto3" json:"filter_text,omitempty"` - InsertTextFormat int32 `protobuf:"varint,12,opt,name=insert_text_format,json=insertTextFormat,proto3" json:"insert_text_format,omitempty"` - AdditionalTextEdits []*TextEdit `protobuf:"bytes,13,rep,name=additional_text_edits,json=additionalTextEdits,proto3" json:"additional_text_edits,omitempty"` - CommitCharacters []string `protobuf:"bytes,14,rep,name=commit_characters,json=commitCharacters,proto3" json:"commit_characters,omitempty"` + Start int32 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` + Length int32 `protobuf:"varint,2,opt,name=length,proto3" json:"length,omitempty"` + Label string `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"` + Kind int32 `protobuf:"varint,4,opt,name=kind,proto3" json:"kind,omitempty"` + Detail string `protobuf:"bytes,5,opt,name=detail,proto3" json:"detail,omitempty"` + Deprecated bool `protobuf:"varint,7,opt,name=deprecated,proto3" json:"deprecated,omitempty"` + Preselect bool `protobuf:"varint,8,opt,name=preselect,proto3" json:"preselect,omitempty"` + TextEdit *TextEdit `protobuf:"bytes,9,opt,name=text_edit,json=textEdit,proto3" json:"text_edit,omitempty"` + SortText string `protobuf:"bytes,10,opt,name=sort_text,json=sortText,proto3" json:"sort_text,omitempty"` + FilterText string `protobuf:"bytes,11,opt,name=filter_text,json=filterText,proto3" json:"filter_text,omitempty"` + InsertTextFormat int32 `protobuf:"varint,12,opt,name=insert_text_format,json=insertTextFormat,proto3" json:"insert_text_format,omitempty"` + AdditionalTextEdits []*TextEdit `protobuf:"bytes,13,rep,name=additional_text_edits,json=additionalTextEdits,proto3" json:"additional_text_edits,omitempty"` + CommitCharacters []string `protobuf:"bytes,14,rep,name=commit_characters,json=commitCharacters,proto3" json:"commit_characters,omitempty"` + Documentation *MarkupContent `protobuf:"bytes,15,opt,name=documentation,proto3" json:"documentation,omitempty"` } func (x *CompletionItem) Reset() { *x = CompletionItem{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[27] + mi := &file_deephaven_proto_console_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2067,7 +2470,7 @@ func (x *CompletionItem) String() string { func (*CompletionItem) ProtoMessage() {} func (x *CompletionItem) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[27] + mi := &file_deephaven_proto_console_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2080,7 +2483,7 @@ func (x *CompletionItem) ProtoReflect() protoreflect.Message { // Deprecated: Use CompletionItem.ProtoReflect.Descriptor instead. func (*CompletionItem) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{27} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{30} } func (x *CompletionItem) GetStart() int32 { @@ -2118,13 +2521,6 @@ func (x *CompletionItem) GetDetail() string { return "" } -func (x *CompletionItem) GetDocumentation() string { - if x != nil { - return x.Documentation - } - return "" -} - func (x *CompletionItem) GetDeprecated() bool { if x != nil { return x.Deprecated @@ -2181,6 +2577,13 @@ func (x *CompletionItem) GetCommitCharacters() []string { return nil } +func (x *CompletionItem) GetDocumentation() *MarkupContent { + if x != nil { + return x.Documentation + } + return nil +} + type TextEdit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2193,7 +2596,7 @@ type TextEdit struct { func (x *TextEdit) Reset() { *x = TextEdit{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[28] + mi := &file_deephaven_proto_console_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2206,7 +2609,7 @@ func (x *TextEdit) String() string { func (*TextEdit) ProtoMessage() {} func (x *TextEdit) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[28] + mi := &file_deephaven_proto_console_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2219,7 +2622,7 @@ func (x *TextEdit) ProtoReflect() protoreflect.Message { // Deprecated: Use TextEdit.ProtoReflect.Descriptor instead. func (*TextEdit) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{28} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{31} } func (x *TextEdit) GetRange() *DocumentRange { @@ -2236,38 +2639,33 @@ func (x *TextEdit) GetText() string { return "" } -type FigureDescriptor struct { +type GetSignatureHelpRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Title *string `protobuf:"bytes,1,opt,name=title,proto3,oneof" json:"title,omitempty"` - TitleFont string `protobuf:"bytes,2,opt,name=title_font,json=titleFont,proto3" json:"title_font,omitempty"` - TitleColor string `protobuf:"bytes,3,opt,name=title_color,json=titleColor,proto3" json:"title_color,omitempty"` - UpdateInterval int64 `protobuf:"varint,7,opt,name=update_interval,json=updateInterval,proto3" json:"update_interval,omitempty"` - Cols int32 `protobuf:"varint,8,opt,name=cols,proto3" json:"cols,omitempty"` - Rows int32 `protobuf:"varint,9,opt,name=rows,proto3" json:"rows,omitempty"` - Charts []*FigureDescriptor_ChartDescriptor `protobuf:"bytes,10,rep,name=charts,proto3" json:"charts,omitempty"` - Errors []string `protobuf:"bytes,13,rep,name=errors,proto3" json:"errors,omitempty"` + Context *SignatureHelpContext `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"` + TextDocument *VersionedTextDocumentIdentifier `protobuf:"bytes,2,opt,name=text_document,json=textDocument,proto3" json:"text_document,omitempty"` + Position *Position `protobuf:"bytes,3,opt,name=position,proto3" json:"position,omitempty"` } -func (x *FigureDescriptor) Reset() { - *x = FigureDescriptor{} +func (x *GetSignatureHelpRequest) Reset() { + *x = GetSignatureHelpRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[29] + mi := &file_deephaven_proto_console_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FigureDescriptor) String() string { +func (x *GetSignatureHelpRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FigureDescriptor) ProtoMessage() {} +func (*GetSignatureHelpRequest) ProtoMessage() {} -func (x *FigureDescriptor) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[29] +func (x *GetSignatureHelpRequest) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2278,94 +2676,130 @@ func (x *FigureDescriptor) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FigureDescriptor.ProtoReflect.Descriptor instead. -func (*FigureDescriptor) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29} +// Deprecated: Use GetSignatureHelpRequest.ProtoReflect.Descriptor instead. +func (*GetSignatureHelpRequest) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{32} } -func (x *FigureDescriptor) GetTitle() string { - if x != nil && x.Title != nil { - return *x.Title +func (x *GetSignatureHelpRequest) GetContext() *SignatureHelpContext { + if x != nil { + return x.Context } - return "" + return nil } -func (x *FigureDescriptor) GetTitleFont() string { +func (x *GetSignatureHelpRequest) GetTextDocument() *VersionedTextDocumentIdentifier { if x != nil { - return x.TitleFont + return x.TextDocument } - return "" + return nil } -func (x *FigureDescriptor) GetTitleColor() string { +func (x *GetSignatureHelpRequest) GetPosition() *Position { if x != nil { - return x.TitleColor + return x.Position } - return "" + return nil } -func (x *FigureDescriptor) GetUpdateInterval() int64 { - if x != nil { - return x.UpdateInterval +type SignatureHelpContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TriggerKind int32 `protobuf:"varint,1,opt,name=trigger_kind,json=triggerKind,proto3" json:"trigger_kind,omitempty"` + TriggerCharacter *string `protobuf:"bytes,2,opt,name=trigger_character,json=triggerCharacter,proto3,oneof" json:"trigger_character,omitempty"` + IsRetrigger bool `protobuf:"varint,3,opt,name=is_retrigger,json=isRetrigger,proto3" json:"is_retrigger,omitempty"` + ActiveSignatureHelp *GetSignatureHelpResponse `protobuf:"bytes,4,opt,name=active_signature_help,json=activeSignatureHelp,proto3" json:"active_signature_help,omitempty"` +} + +func (x *SignatureHelpContext) Reset() { + *x = SignatureHelpContext{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_console_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *FigureDescriptor) GetCols() int32 { - if x != nil { - return x.Cols +func (x *SignatureHelpContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignatureHelpContext) ProtoMessage() {} + +func (x *SignatureHelpContext) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *FigureDescriptor) GetRows() int32 { +// Deprecated: Use SignatureHelpContext.ProtoReflect.Descriptor instead. +func (*SignatureHelpContext) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{33} +} + +func (x *SignatureHelpContext) GetTriggerKind() int32 { if x != nil { - return x.Rows + return x.TriggerKind } return 0 } -func (x *FigureDescriptor) GetCharts() []*FigureDescriptor_ChartDescriptor { +func (x *SignatureHelpContext) GetTriggerCharacter() string { + if x != nil && x.TriggerCharacter != nil { + return *x.TriggerCharacter + } + return "" +} + +func (x *SignatureHelpContext) GetIsRetrigger() bool { if x != nil { - return x.Charts + return x.IsRetrigger } - return nil + return false } -func (x *FigureDescriptor) GetErrors() []string { +func (x *SignatureHelpContext) GetActiveSignatureHelp() *GetSignatureHelpResponse { if x != nil { - return x.Errors + return x.ActiveSignatureHelp } return nil } -type ChangeDocumentRequest_TextDocumentContentChangeEvent struct { +type GetSignatureHelpResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Range *DocumentRange `protobuf:"bytes,1,opt,name=range,proto3" json:"range,omitempty"` - RangeLength int32 `protobuf:"varint,2,opt,name=range_length,json=rangeLength,proto3" json:"range_length,omitempty"` - Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"` + Signatures []*SignatureInformation `protobuf:"bytes,1,rep,name=signatures,proto3" json:"signatures,omitempty"` + ActiveSignature *int32 `protobuf:"varint,2,opt,name=active_signature,json=activeSignature,proto3,oneof" json:"active_signature,omitempty"` + ActiveParameter *int32 `protobuf:"varint,3,opt,name=active_parameter,json=activeParameter,proto3,oneof" json:"active_parameter,omitempty"` } -func (x *ChangeDocumentRequest_TextDocumentContentChangeEvent) Reset() { - *x = ChangeDocumentRequest_TextDocumentContentChangeEvent{} +func (x *GetSignatureHelpResponse) Reset() { + *x = GetSignatureHelpResponse{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[30] + mi := &file_deephaven_proto_console_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ChangeDocumentRequest_TextDocumentContentChangeEvent) String() string { +func (x *GetSignatureHelpResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ChangeDocumentRequest_TextDocumentContentChangeEvent) ProtoMessage() {} +func (*GetSignatureHelpResponse) ProtoMessage() {} -func (x *ChangeDocumentRequest_TextDocumentContentChangeEvent) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[30] +func (x *GetSignatureHelpResponse) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2376,71 +2810,60 @@ func (x *ChangeDocumentRequest_TextDocumentContentChangeEvent) ProtoReflect() pr return mi.MessageOf(x) } -// Deprecated: Use ChangeDocumentRequest_TextDocumentContentChangeEvent.ProtoReflect.Descriptor instead. -func (*ChangeDocumentRequest_TextDocumentContentChangeEvent) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{20, 0} +// Deprecated: Use GetSignatureHelpResponse.ProtoReflect.Descriptor instead. +func (*GetSignatureHelpResponse) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{34} } -func (x *ChangeDocumentRequest_TextDocumentContentChangeEvent) GetRange() *DocumentRange { +func (x *GetSignatureHelpResponse) GetSignatures() []*SignatureInformation { if x != nil { - return x.Range + return x.Signatures } return nil } -func (x *ChangeDocumentRequest_TextDocumentContentChangeEvent) GetRangeLength() int32 { - if x != nil { - return x.RangeLength +func (x *GetSignatureHelpResponse) GetActiveSignature() int32 { + if x != nil && x.ActiveSignature != nil { + return *x.ActiveSignature } return 0 } -func (x *ChangeDocumentRequest_TextDocumentContentChangeEvent) GetText() string { - if x != nil { - return x.Text +func (x *GetSignatureHelpResponse) GetActiveParameter() int32 { + if x != nil && x.ActiveParameter != nil { + return *x.ActiveParameter } - return "" + return 0 } -type FigureDescriptor_ChartDescriptor struct { +type SignatureInformation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Colspan int32 `protobuf:"varint,1,opt,name=colspan,proto3" json:"colspan,omitempty"` - Rowspan int32 `protobuf:"varint,2,opt,name=rowspan,proto3" json:"rowspan,omitempty"` - Series []*FigureDescriptor_SeriesDescriptor `protobuf:"bytes,3,rep,name=series,proto3" json:"series,omitempty"` - MultiSeries []*FigureDescriptor_MultiSeriesDescriptor `protobuf:"bytes,4,rep,name=multi_series,json=multiSeries,proto3" json:"multi_series,omitempty"` - Axes []*FigureDescriptor_AxisDescriptor `protobuf:"bytes,5,rep,name=axes,proto3" json:"axes,omitempty"` - ChartType FigureDescriptor_ChartDescriptor_ChartType `protobuf:"varint,6,opt,name=chart_type,json=chartType,proto3,enum=io.deephaven.proto.backplane.script.grpc.FigureDescriptor_ChartDescriptor_ChartType" json:"chart_type,omitempty"` - Title *string `protobuf:"bytes,7,opt,name=title,proto3,oneof" json:"title,omitempty"` - TitleFont string `protobuf:"bytes,8,opt,name=title_font,json=titleFont,proto3" json:"title_font,omitempty"` - TitleColor string `protobuf:"bytes,9,opt,name=title_color,json=titleColor,proto3" json:"title_color,omitempty"` - ShowLegend bool `protobuf:"varint,10,opt,name=show_legend,json=showLegend,proto3" json:"show_legend,omitempty"` - LegendFont string `protobuf:"bytes,11,opt,name=legend_font,json=legendFont,proto3" json:"legend_font,omitempty"` - LegendColor string `protobuf:"bytes,12,opt,name=legend_color,json=legendColor,proto3" json:"legend_color,omitempty"` - Is3D bool `protobuf:"varint,13,opt,name=is3d,proto3" json:"is3d,omitempty"` - Column int32 `protobuf:"varint,14,opt,name=column,proto3" json:"column,omitempty"` - Row int32 `protobuf:"varint,15,opt,name=row,proto3" json:"row,omitempty"` + Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + Documentation *MarkupContent `protobuf:"bytes,2,opt,name=documentation,proto3" json:"documentation,omitempty"` + Parameters []*ParameterInformation `protobuf:"bytes,3,rep,name=parameters,proto3" json:"parameters,omitempty"` + ActiveParameter *int32 `protobuf:"varint,4,opt,name=active_parameter,json=activeParameter,proto3,oneof" json:"active_parameter,omitempty"` } -func (x *FigureDescriptor_ChartDescriptor) Reset() { - *x = FigureDescriptor_ChartDescriptor{} +func (x *SignatureInformation) Reset() { + *x = SignatureInformation{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[31] + mi := &file_deephaven_proto_console_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FigureDescriptor_ChartDescriptor) String() string { +func (x *SignatureInformation) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FigureDescriptor_ChartDescriptor) ProtoMessage() {} +func (*SignatureInformation) ProtoMessage() {} -func (x *FigureDescriptor_ChartDescriptor) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[31] +func (x *SignatureInformation) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2451,14 +2874,766 @@ func (x *FigureDescriptor_ChartDescriptor) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FigureDescriptor_ChartDescriptor.ProtoReflect.Descriptor instead. -func (*FigureDescriptor_ChartDescriptor) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 0} +// Deprecated: Use SignatureInformation.ProtoReflect.Descriptor instead. +func (*SignatureInformation) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{35} } -func (x *FigureDescriptor_ChartDescriptor) GetColspan() int32 { +func (x *SignatureInformation) GetLabel() string { if x != nil { - return x.Colspan + return x.Label + } + return "" +} + +func (x *SignatureInformation) GetDocumentation() *MarkupContent { + if x != nil { + return x.Documentation + } + return nil +} + +func (x *SignatureInformation) GetParameters() []*ParameterInformation { + if x != nil { + return x.Parameters + } + return nil +} + +func (x *SignatureInformation) GetActiveParameter() int32 { + if x != nil && x.ActiveParameter != nil { + return *x.ActiveParameter + } + return 0 +} + +type ParameterInformation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + Documentation *MarkupContent `protobuf:"bytes,2,opt,name=documentation,proto3" json:"documentation,omitempty"` +} + +func (x *ParameterInformation) Reset() { + *x = ParameterInformation{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_console_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParameterInformation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParameterInformation) ProtoMessage() {} + +func (x *ParameterInformation) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ParameterInformation.ProtoReflect.Descriptor instead. +func (*ParameterInformation) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{36} +} + +func (x *ParameterInformation) GetLabel() string { + if x != nil { + return x.Label + } + return "" +} + +func (x *ParameterInformation) GetDocumentation() *MarkupContent { + if x != nil { + return x.Documentation + } + return nil +} + +type GetHoverRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TextDocument *VersionedTextDocumentIdentifier `protobuf:"bytes,1,opt,name=text_document,json=textDocument,proto3" json:"text_document,omitempty"` + Position *Position `protobuf:"bytes,2,opt,name=position,proto3" json:"position,omitempty"` +} + +func (x *GetHoverRequest) Reset() { + *x = GetHoverRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_console_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetHoverRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetHoverRequest) ProtoMessage() {} + +func (x *GetHoverRequest) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetHoverRequest.ProtoReflect.Descriptor instead. +func (*GetHoverRequest) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{37} +} + +func (x *GetHoverRequest) GetTextDocument() *VersionedTextDocumentIdentifier { + if x != nil { + return x.TextDocument + } + return nil +} + +func (x *GetHoverRequest) GetPosition() *Position { + if x != nil { + return x.Position + } + return nil +} + +type GetHoverResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Contents *MarkupContent `protobuf:"bytes,1,opt,name=contents,proto3" json:"contents,omitempty"` + Range *DocumentRange `protobuf:"bytes,2,opt,name=range,proto3" json:"range,omitempty"` +} + +func (x *GetHoverResponse) Reset() { + *x = GetHoverResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_console_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetHoverResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetHoverResponse) ProtoMessage() {} + +func (x *GetHoverResponse) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetHoverResponse.ProtoReflect.Descriptor instead. +func (*GetHoverResponse) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{38} +} + +func (x *GetHoverResponse) GetContents() *MarkupContent { + if x != nil { + return x.Contents + } + return nil +} + +func (x *GetHoverResponse) GetRange() *DocumentRange { + if x != nil { + return x.Range + } + return nil +} + +type GetDiagnosticRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TextDocument *VersionedTextDocumentIdentifier `protobuf:"bytes,1,opt,name=text_document,json=textDocument,proto3" json:"text_document,omitempty"` + Identifier *string `protobuf:"bytes,2,opt,name=identifier,proto3,oneof" json:"identifier,omitempty"` + PreviousResultId *string `protobuf:"bytes,3,opt,name=previous_result_id,json=previousResultId,proto3,oneof" json:"previous_result_id,omitempty"` +} + +func (x *GetDiagnosticRequest) Reset() { + *x = GetDiagnosticRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_console_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetDiagnosticRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDiagnosticRequest) ProtoMessage() {} + +func (x *GetDiagnosticRequest) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDiagnosticRequest.ProtoReflect.Descriptor instead. +func (*GetDiagnosticRequest) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{39} +} + +func (x *GetDiagnosticRequest) GetTextDocument() *VersionedTextDocumentIdentifier { + if x != nil { + return x.TextDocument + } + return nil +} + +func (x *GetDiagnosticRequest) GetIdentifier() string { + if x != nil && x.Identifier != nil { + return *x.Identifier + } + return "" +} + +func (x *GetDiagnosticRequest) GetPreviousResultId() string { + if x != nil && x.PreviousResultId != nil { + return *x.PreviousResultId + } + return "" +} + +type GetPullDiagnosticResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` + ResultId *string `protobuf:"bytes,2,opt,name=result_id,json=resultId,proto3,oneof" json:"result_id,omitempty"` + Items []*Diagnostic `protobuf:"bytes,3,rep,name=items,proto3" json:"items,omitempty"` +} + +func (x *GetPullDiagnosticResponse) Reset() { + *x = GetPullDiagnosticResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_console_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPullDiagnosticResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPullDiagnosticResponse) ProtoMessage() {} + +func (x *GetPullDiagnosticResponse) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPullDiagnosticResponse.ProtoReflect.Descriptor instead. +func (*GetPullDiagnosticResponse) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{40} +} + +func (x *GetPullDiagnosticResponse) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *GetPullDiagnosticResponse) GetResultId() string { + if x != nil && x.ResultId != nil { + return *x.ResultId + } + return "" +} + +func (x *GetPullDiagnosticResponse) GetItems() []*Diagnostic { + if x != nil { + return x.Items + } + return nil +} + +type GetPublishDiagnosticResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` + Version *int32 `protobuf:"varint,2,opt,name=version,proto3,oneof" json:"version,omitempty"` + Diagnostics []*Diagnostic `protobuf:"bytes,3,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"` +} + +func (x *GetPublishDiagnosticResponse) Reset() { + *x = GetPublishDiagnosticResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_console_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPublishDiagnosticResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPublishDiagnosticResponse) ProtoMessage() {} + +func (x *GetPublishDiagnosticResponse) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPublishDiagnosticResponse.ProtoReflect.Descriptor instead. +func (*GetPublishDiagnosticResponse) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{41} +} + +func (x *GetPublishDiagnosticResponse) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *GetPublishDiagnosticResponse) GetVersion() int32 { + if x != nil && x.Version != nil { + return *x.Version + } + return 0 +} + +func (x *GetPublishDiagnosticResponse) GetDiagnostics() []*Diagnostic { + if x != nil { + return x.Diagnostics + } + return nil +} + +type Diagnostic struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Range *DocumentRange `protobuf:"bytes,1,opt,name=range,proto3" json:"range,omitempty"` + Severity Diagnostic_DiagnosticSeverity `protobuf:"varint,2,opt,name=severity,proto3,enum=io.deephaven.proto.backplane.script.grpc.Diagnostic_DiagnosticSeverity" json:"severity,omitempty"` + Code *string `protobuf:"bytes,3,opt,name=code,proto3,oneof" json:"code,omitempty"` + CodeDescription *Diagnostic_CodeDescription `protobuf:"bytes,4,opt,name=code_description,json=codeDescription,proto3,oneof" json:"code_description,omitempty"` + Source *string `protobuf:"bytes,5,opt,name=source,proto3,oneof" json:"source,omitempty"` + Message string `protobuf:"bytes,6,opt,name=message,proto3" json:"message,omitempty"` + Tags []Diagnostic_DiagnosticTag `protobuf:"varint,7,rep,packed,name=tags,proto3,enum=io.deephaven.proto.backplane.script.grpc.Diagnostic_DiagnosticTag" json:"tags,omitempty"` + Data []byte `protobuf:"bytes,9,opt,name=data,proto3,oneof" json:"data,omitempty"` +} + +func (x *Diagnostic) Reset() { + *x = Diagnostic{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_console_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Diagnostic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Diagnostic) ProtoMessage() {} + +func (x *Diagnostic) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Diagnostic.ProtoReflect.Descriptor instead. +func (*Diagnostic) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{42} +} + +func (x *Diagnostic) GetRange() *DocumentRange { + if x != nil { + return x.Range + } + return nil +} + +func (x *Diagnostic) GetSeverity() Diagnostic_DiagnosticSeverity { + if x != nil { + return x.Severity + } + return Diagnostic_NOT_SET_SEVERITY +} + +func (x *Diagnostic) GetCode() string { + if x != nil && x.Code != nil { + return *x.Code + } + return "" +} + +func (x *Diagnostic) GetCodeDescription() *Diagnostic_CodeDescription { + if x != nil { + return x.CodeDescription + } + return nil +} + +func (x *Diagnostic) GetSource() string { + if x != nil && x.Source != nil { + return *x.Source + } + return "" +} + +func (x *Diagnostic) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *Diagnostic) GetTags() []Diagnostic_DiagnosticTag { + if x != nil { + return x.Tags + } + return nil +} + +func (x *Diagnostic) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +type FigureDescriptor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Title *string `protobuf:"bytes,1,opt,name=title,proto3,oneof" json:"title,omitempty"` + TitleFont string `protobuf:"bytes,2,opt,name=title_font,json=titleFont,proto3" json:"title_font,omitempty"` + TitleColor string `protobuf:"bytes,3,opt,name=title_color,json=titleColor,proto3" json:"title_color,omitempty"` + UpdateInterval int64 `protobuf:"varint,7,opt,name=update_interval,json=updateInterval,proto3" json:"update_interval,omitempty"` + Cols int32 `protobuf:"varint,8,opt,name=cols,proto3" json:"cols,omitempty"` + Rows int32 `protobuf:"varint,9,opt,name=rows,proto3" json:"rows,omitempty"` + Charts []*FigureDescriptor_ChartDescriptor `protobuf:"bytes,10,rep,name=charts,proto3" json:"charts,omitempty"` + Errors []string `protobuf:"bytes,13,rep,name=errors,proto3" json:"errors,omitempty"` +} + +func (x *FigureDescriptor) Reset() { + *x = FigureDescriptor{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_console_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FigureDescriptor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FigureDescriptor) ProtoMessage() {} + +func (x *FigureDescriptor) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FigureDescriptor.ProtoReflect.Descriptor instead. +func (*FigureDescriptor) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43} +} + +func (x *FigureDescriptor) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *FigureDescriptor) GetTitleFont() string { + if x != nil { + return x.TitleFont + } + return "" +} + +func (x *FigureDescriptor) GetTitleColor() string { + if x != nil { + return x.TitleColor + } + return "" +} + +func (x *FigureDescriptor) GetUpdateInterval() int64 { + if x != nil { + return x.UpdateInterval + } + return 0 +} + +func (x *FigureDescriptor) GetCols() int32 { + if x != nil { + return x.Cols + } + return 0 +} + +func (x *FigureDescriptor) GetRows() int32 { + if x != nil { + return x.Rows + } + return 0 +} + +func (x *FigureDescriptor) GetCharts() []*FigureDescriptor_ChartDescriptor { + if x != nil { + return x.Charts + } + return nil +} + +func (x *FigureDescriptor) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +type ChangeDocumentRequest_TextDocumentContentChangeEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Range *DocumentRange `protobuf:"bytes,1,opt,name=range,proto3" json:"range,omitempty"` + RangeLength int32 `protobuf:"varint,2,opt,name=range_length,json=rangeLength,proto3" json:"range_length,omitempty"` + Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"` +} + +func (x *ChangeDocumentRequest_TextDocumentContentChangeEvent) Reset() { + *x = ChangeDocumentRequest_TextDocumentContentChangeEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_console_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChangeDocumentRequest_TextDocumentContentChangeEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChangeDocumentRequest_TextDocumentContentChangeEvent) ProtoMessage() {} + +func (x *ChangeDocumentRequest_TextDocumentContentChangeEvent) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChangeDocumentRequest_TextDocumentContentChangeEvent.ProtoReflect.Descriptor instead. +func (*ChangeDocumentRequest_TextDocumentContentChangeEvent) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{22, 0} +} + +func (x *ChangeDocumentRequest_TextDocumentContentChangeEvent) GetRange() *DocumentRange { + if x != nil { + return x.Range + } + return nil +} + +func (x *ChangeDocumentRequest_TextDocumentContentChangeEvent) GetRangeLength() int32 { + if x != nil { + return x.RangeLength + } + return 0 +} + +func (x *ChangeDocumentRequest_TextDocumentContentChangeEvent) GetText() string { + if x != nil { + return x.Text + } + return "" +} + +type Diagnostic_CodeDescription struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Href string `protobuf:"bytes,1,opt,name=href,proto3" json:"href,omitempty"` +} + +func (x *Diagnostic_CodeDescription) Reset() { + *x = Diagnostic_CodeDescription{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_console_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Diagnostic_CodeDescription) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Diagnostic_CodeDescription) ProtoMessage() {} + +func (x *Diagnostic_CodeDescription) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Diagnostic_CodeDescription.ProtoReflect.Descriptor instead. +func (*Diagnostic_CodeDescription) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{42, 0} +} + +func (x *Diagnostic_CodeDescription) GetHref() string { + if x != nil { + return x.Href + } + return "" +} + +type FigureDescriptor_ChartDescriptor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Colspan int32 `protobuf:"varint,1,opt,name=colspan,proto3" json:"colspan,omitempty"` + Rowspan int32 `protobuf:"varint,2,opt,name=rowspan,proto3" json:"rowspan,omitempty"` + Series []*FigureDescriptor_SeriesDescriptor `protobuf:"bytes,3,rep,name=series,proto3" json:"series,omitempty"` + MultiSeries []*FigureDescriptor_MultiSeriesDescriptor `protobuf:"bytes,4,rep,name=multi_series,json=multiSeries,proto3" json:"multi_series,omitempty"` + Axes []*FigureDescriptor_AxisDescriptor `protobuf:"bytes,5,rep,name=axes,proto3" json:"axes,omitempty"` + ChartType FigureDescriptor_ChartDescriptor_ChartType `protobuf:"varint,6,opt,name=chart_type,json=chartType,proto3,enum=io.deephaven.proto.backplane.script.grpc.FigureDescriptor_ChartDescriptor_ChartType" json:"chart_type,omitempty"` + Title *string `protobuf:"bytes,7,opt,name=title,proto3,oneof" json:"title,omitempty"` + TitleFont string `protobuf:"bytes,8,opt,name=title_font,json=titleFont,proto3" json:"title_font,omitempty"` + TitleColor string `protobuf:"bytes,9,opt,name=title_color,json=titleColor,proto3" json:"title_color,omitempty"` + ShowLegend bool `protobuf:"varint,10,opt,name=show_legend,json=showLegend,proto3" json:"show_legend,omitempty"` + LegendFont string `protobuf:"bytes,11,opt,name=legend_font,json=legendFont,proto3" json:"legend_font,omitempty"` + LegendColor string `protobuf:"bytes,12,opt,name=legend_color,json=legendColor,proto3" json:"legend_color,omitempty"` + Is3D bool `protobuf:"varint,13,opt,name=is3d,proto3" json:"is3d,omitempty"` + Column int32 `protobuf:"varint,14,opt,name=column,proto3" json:"column,omitempty"` + Row int32 `protobuf:"varint,15,opt,name=row,proto3" json:"row,omitempty"` +} + +func (x *FigureDescriptor_ChartDescriptor) Reset() { + *x = FigureDescriptor_ChartDescriptor{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_console_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FigureDescriptor_ChartDescriptor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FigureDescriptor_ChartDescriptor) ProtoMessage() {} + +func (x *FigureDescriptor_ChartDescriptor) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_console_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FigureDescriptor_ChartDescriptor.ProtoReflect.Descriptor instead. +func (*FigureDescriptor_ChartDescriptor) Descriptor() ([]byte, []int) { + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 0} +} + +func (x *FigureDescriptor_ChartDescriptor) GetColspan() int32 { + if x != nil { + return x.Colspan } return 0 } @@ -2585,7 +3760,7 @@ type FigureDescriptor_SeriesDescriptor struct { func (x *FigureDescriptor_SeriesDescriptor) Reset() { *x = FigureDescriptor_SeriesDescriptor{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[32] + mi := &file_deephaven_proto_console_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2598,7 +3773,7 @@ func (x *FigureDescriptor_SeriesDescriptor) String() string { func (*FigureDescriptor_SeriesDescriptor) ProtoMessage() {} func (x *FigureDescriptor_SeriesDescriptor) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[32] + mi := &file_deephaven_proto_console_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2611,7 +3786,7 @@ func (x *FigureDescriptor_SeriesDescriptor) ProtoReflect() protoreflect.Message // Deprecated: Use FigureDescriptor_SeriesDescriptor.ProtoReflect.Descriptor instead. func (*FigureDescriptor_SeriesDescriptor) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 1} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 1} } func (x *FigureDescriptor_SeriesDescriptor) GetPlotStyle() FigureDescriptor_SeriesPlotStyle { @@ -2736,7 +3911,7 @@ type FigureDescriptor_MultiSeriesDescriptor struct { func (x *FigureDescriptor_MultiSeriesDescriptor) Reset() { *x = FigureDescriptor_MultiSeriesDescriptor{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[33] + mi := &file_deephaven_proto_console_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2749,7 +3924,7 @@ func (x *FigureDescriptor_MultiSeriesDescriptor) String() string { func (*FigureDescriptor_MultiSeriesDescriptor) ProtoMessage() {} func (x *FigureDescriptor_MultiSeriesDescriptor) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[33] + mi := &file_deephaven_proto_console_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2762,7 +3937,7 @@ func (x *FigureDescriptor_MultiSeriesDescriptor) ProtoReflect() protoreflect.Mes // Deprecated: Use FigureDescriptor_MultiSeriesDescriptor.ProtoReflect.Descriptor instead. func (*FigureDescriptor_MultiSeriesDescriptor) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 2} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 2} } func (x *FigureDescriptor_MultiSeriesDescriptor) GetPlotStyle() FigureDescriptor_SeriesPlotStyle { @@ -2876,7 +4051,7 @@ type FigureDescriptor_StringMapWithDefault struct { func (x *FigureDescriptor_StringMapWithDefault) Reset() { *x = FigureDescriptor_StringMapWithDefault{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[34] + mi := &file_deephaven_proto_console_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2889,7 +4064,7 @@ func (x *FigureDescriptor_StringMapWithDefault) String() string { func (*FigureDescriptor_StringMapWithDefault) ProtoMessage() {} func (x *FigureDescriptor_StringMapWithDefault) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[34] + mi := &file_deephaven_proto_console_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2902,7 +4077,7 @@ func (x *FigureDescriptor_StringMapWithDefault) ProtoReflect() protoreflect.Mess // Deprecated: Use FigureDescriptor_StringMapWithDefault.ProtoReflect.Descriptor instead. func (*FigureDescriptor_StringMapWithDefault) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 3} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 3} } func (x *FigureDescriptor_StringMapWithDefault) GetDefaultString() string { @@ -2939,7 +4114,7 @@ type FigureDescriptor_DoubleMapWithDefault struct { func (x *FigureDescriptor_DoubleMapWithDefault) Reset() { *x = FigureDescriptor_DoubleMapWithDefault{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[35] + mi := &file_deephaven_proto_console_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2952,7 +4127,7 @@ func (x *FigureDescriptor_DoubleMapWithDefault) String() string { func (*FigureDescriptor_DoubleMapWithDefault) ProtoMessage() {} func (x *FigureDescriptor_DoubleMapWithDefault) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[35] + mi := &file_deephaven_proto_console_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2965,7 +4140,7 @@ func (x *FigureDescriptor_DoubleMapWithDefault) ProtoReflect() protoreflect.Mess // Deprecated: Use FigureDescriptor_DoubleMapWithDefault.ProtoReflect.Descriptor instead. func (*FigureDescriptor_DoubleMapWithDefault) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 4} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 4} } func (x *FigureDescriptor_DoubleMapWithDefault) GetDefaultDouble() float64 { @@ -3002,7 +4177,7 @@ type FigureDescriptor_BoolMapWithDefault struct { func (x *FigureDescriptor_BoolMapWithDefault) Reset() { *x = FigureDescriptor_BoolMapWithDefault{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[36] + mi := &file_deephaven_proto_console_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3015,7 +4190,7 @@ func (x *FigureDescriptor_BoolMapWithDefault) String() string { func (*FigureDescriptor_BoolMapWithDefault) ProtoMessage() {} func (x *FigureDescriptor_BoolMapWithDefault) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[36] + mi := &file_deephaven_proto_console_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3028,7 +4203,7 @@ func (x *FigureDescriptor_BoolMapWithDefault) ProtoReflect() protoreflect.Messag // Deprecated: Use FigureDescriptor_BoolMapWithDefault.ProtoReflect.Descriptor instead. func (*FigureDescriptor_BoolMapWithDefault) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 5} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 5} } func (x *FigureDescriptor_BoolMapWithDefault) GetDefaultBool() bool { @@ -3083,7 +4258,7 @@ type FigureDescriptor_AxisDescriptor struct { func (x *FigureDescriptor_AxisDescriptor) Reset() { *x = FigureDescriptor_AxisDescriptor{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[37] + mi := &file_deephaven_proto_console_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3096,7 +4271,7 @@ func (x *FigureDescriptor_AxisDescriptor) String() string { func (*FigureDescriptor_AxisDescriptor) ProtoMessage() {} func (x *FigureDescriptor_AxisDescriptor) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[37] + mi := &file_deephaven_proto_console_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3109,7 +4284,7 @@ func (x *FigureDescriptor_AxisDescriptor) ProtoReflect() protoreflect.Message { // Deprecated: Use FigureDescriptor_AxisDescriptor.ProtoReflect.Descriptor instead. func (*FigureDescriptor_AxisDescriptor) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 6} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 6} } func (x *FigureDescriptor_AxisDescriptor) GetId() string { @@ -3274,7 +4449,7 @@ type FigureDescriptor_BusinessCalendarDescriptor struct { func (x *FigureDescriptor_BusinessCalendarDescriptor) Reset() { *x = FigureDescriptor_BusinessCalendarDescriptor{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[38] + mi := &file_deephaven_proto_console_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3287,7 +4462,7 @@ func (x *FigureDescriptor_BusinessCalendarDescriptor) String() string { func (*FigureDescriptor_BusinessCalendarDescriptor) ProtoMessage() {} func (x *FigureDescriptor_BusinessCalendarDescriptor) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[38] + mi := &file_deephaven_proto_console_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3300,7 +4475,7 @@ func (x *FigureDescriptor_BusinessCalendarDescriptor) ProtoReflect() protoreflec // Deprecated: Use FigureDescriptor_BusinessCalendarDescriptor.ProtoReflect.Descriptor instead. func (*FigureDescriptor_BusinessCalendarDescriptor) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 7} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 7} } func (x *FigureDescriptor_BusinessCalendarDescriptor) GetName() string { @@ -3352,7 +4527,7 @@ type FigureDescriptor_MultiSeriesSourceDescriptor struct { func (x *FigureDescriptor_MultiSeriesSourceDescriptor) Reset() { *x = FigureDescriptor_MultiSeriesSourceDescriptor{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[39] + mi := &file_deephaven_proto_console_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3365,7 +4540,7 @@ func (x *FigureDescriptor_MultiSeriesSourceDescriptor) String() string { func (*FigureDescriptor_MultiSeriesSourceDescriptor) ProtoMessage() {} func (x *FigureDescriptor_MultiSeriesSourceDescriptor) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[39] + mi := &file_deephaven_proto_console_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3378,7 +4553,7 @@ func (x *FigureDescriptor_MultiSeriesSourceDescriptor) ProtoReflect() protorefle // Deprecated: Use FigureDescriptor_MultiSeriesSourceDescriptor.ProtoReflect.Descriptor instead. func (*FigureDescriptor_MultiSeriesSourceDescriptor) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 8} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 8} } func (x *FigureDescriptor_MultiSeriesSourceDescriptor) GetAxisId() string { @@ -3426,7 +4601,7 @@ type FigureDescriptor_SourceDescriptor struct { func (x *FigureDescriptor_SourceDescriptor) Reset() { *x = FigureDescriptor_SourceDescriptor{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[40] + mi := &file_deephaven_proto_console_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3439,7 +4614,7 @@ func (x *FigureDescriptor_SourceDescriptor) String() string { func (*FigureDescriptor_SourceDescriptor) ProtoMessage() {} func (x *FigureDescriptor_SourceDescriptor) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[40] + mi := &file_deephaven_proto_console_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3452,7 +4627,7 @@ func (x *FigureDescriptor_SourceDescriptor) ProtoReflect() protoreflect.Message // Deprecated: Use FigureDescriptor_SourceDescriptor.ProtoReflect.Descriptor instead. func (*FigureDescriptor_SourceDescriptor) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 9} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 9} } func (x *FigureDescriptor_SourceDescriptor) GetAxisId() string { @@ -3517,7 +4692,7 @@ type FigureDescriptor_OneClickDescriptor struct { func (x *FigureDescriptor_OneClickDescriptor) Reset() { *x = FigureDescriptor_OneClickDescriptor{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[41] + mi := &file_deephaven_proto_console_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3530,7 +4705,7 @@ func (x *FigureDescriptor_OneClickDescriptor) String() string { func (*FigureDescriptor_OneClickDescriptor) ProtoMessage() {} func (x *FigureDescriptor_OneClickDescriptor) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[41] + mi := &file_deephaven_proto_console_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3543,7 +4718,7 @@ func (x *FigureDescriptor_OneClickDescriptor) ProtoReflect() protoreflect.Messag // Deprecated: Use FigureDescriptor_OneClickDescriptor.ProtoReflect.Descriptor instead. func (*FigureDescriptor_OneClickDescriptor) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 10} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 10} } func (x *FigureDescriptor_OneClickDescriptor) GetColumns() []string { @@ -3579,7 +4754,7 @@ type FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod struct { func (x *FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod) Reset() { *x = FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[42] + mi := &file_deephaven_proto_console_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3592,7 +4767,7 @@ func (x *FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod) String() st func (*FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod) ProtoMessage() {} func (x *FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[42] + mi := &file_deephaven_proto_console_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3605,7 +4780,7 @@ func (x *FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod) ProtoReflec // Deprecated: Use FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod.ProtoReflect.Descriptor instead. func (*FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 7, 0} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 7, 0} } func (x *FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod) GetOpen() string { @@ -3634,7 +4809,7 @@ type FigureDescriptor_BusinessCalendarDescriptor_Holiday struct { func (x *FigureDescriptor_BusinessCalendarDescriptor_Holiday) Reset() { *x = FigureDescriptor_BusinessCalendarDescriptor_Holiday{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[43] + mi := &file_deephaven_proto_console_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3647,7 +4822,7 @@ func (x *FigureDescriptor_BusinessCalendarDescriptor_Holiday) String() string { func (*FigureDescriptor_BusinessCalendarDescriptor_Holiday) ProtoMessage() {} func (x *FigureDescriptor_BusinessCalendarDescriptor_Holiday) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[43] + mi := &file_deephaven_proto_console_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3660,7 +4835,7 @@ func (x *FigureDescriptor_BusinessCalendarDescriptor_Holiday) ProtoReflect() pro // Deprecated: Use FigureDescriptor_BusinessCalendarDescriptor_Holiday.ProtoReflect.Descriptor instead. func (*FigureDescriptor_BusinessCalendarDescriptor_Holiday) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 7, 1} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 7, 1} } func (x *FigureDescriptor_BusinessCalendarDescriptor_Holiday) GetDate() *FigureDescriptor_BusinessCalendarDescriptor_LocalDate { @@ -3690,7 +4865,7 @@ type FigureDescriptor_BusinessCalendarDescriptor_LocalDate struct { func (x *FigureDescriptor_BusinessCalendarDescriptor_LocalDate) Reset() { *x = FigureDescriptor_BusinessCalendarDescriptor_LocalDate{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_console_proto_msgTypes[44] + mi := &file_deephaven_proto_console_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3703,7 +4878,7 @@ func (x *FigureDescriptor_BusinessCalendarDescriptor_LocalDate) String() string func (*FigureDescriptor_BusinessCalendarDescriptor_LocalDate) ProtoMessage() {} func (x *FigureDescriptor_BusinessCalendarDescriptor_LocalDate) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_console_proto_msgTypes[44] + mi := &file_deephaven_proto_console_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3716,7 +4891,7 @@ func (x *FigureDescriptor_BusinessCalendarDescriptor_LocalDate) ProtoReflect() p // Deprecated: Use FigureDescriptor_BusinessCalendarDescriptor_LocalDate.ProtoReflect.Descriptor instead. func (*FigureDescriptor_BusinessCalendarDescriptor_LocalDate) Descriptor() ([]byte, []int) { - return file_deephaven_proto_console_proto_rawDescGZIP(), []int{29, 7, 2} + return file_deephaven_proto_console_proto_rawDescGZIP(), []int{43, 7, 2} } func (x *FigureDescriptor_BusinessCalendarDescriptor_LocalDate) GetYear() int32 { @@ -3839,786 +5014,1064 @@ var file_deephaven_proto_console_proto_rawDesc = []byte{ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd4, - 0x03, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x64, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x64, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x84, + 0x01, 0x0a, 0x19, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x0a, + 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6e, + 0x73, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, + 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0xf3, 0x06, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x0a, 0x63, + 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, + 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x12, 0x64, 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x64, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x44, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x6f, 0x70, + 0x65, 0x6e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x6a, 0x0a, 0x0f, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x77, 0x0a, 0x14, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x67, 0x65, 0x74, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, + 0x71, 0x0a, 0x12, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, + 0x52, 0x10, 0x67, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, + 0x6c, 0x70, 0x12, 0x58, 0x0a, 0x09, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x6f, 0x76, 0x65, 0x72, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x48, 0x00, 0x52, 0x08, 0x67, 0x65, 0x74, 0x48, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x0e, + 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, + 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x67, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x64, + 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x44, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, - 0x6f, 0x70, 0x65, 0x6e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x6a, 0x0a, 0x0f, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x44, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, + 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x09, + 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xe8, 0x04, 0x0a, 0x14, 0x41, 0x75, + 0x74, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x71, 0x0a, 0x10, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x77, 0x0a, 0x14, 0x67, 0x65, 0x74, 0x5f, - 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x67, - 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, - 0x73, 0x12, 0x67, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6c, 0x6f, - 0x73, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x95, 0x01, 0x0a, 0x14, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, - 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x64, + 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, + 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x05, 0x68, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x47, + 0x65, 0x74, 0x48, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, + 0x00, 0x52, 0x05, 0x68, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x65, 0x0a, 0x0a, 0x64, 0x69, 0x61, 0x67, + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x6c, 0x6c, 0x44, + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, + 0x77, 0x0a, 0x12, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x11, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, + 0x63, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x4e, + 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x13, + 0x4f, 0x70, 0x65, 0x6e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x49, + 0x64, 0x12, 0x5f, 0x0a, 0x0d, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, - 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, - 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, 0x0a, - 0x13, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x13, 0x4f, 0x70, 0x65, 0x6e, 0x44, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x0a, - 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x72, 0x70, 0x63, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0c, 0x74, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x22, 0x73, 0x0a, 0x10, 0x54, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0xd4, 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x73, + 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4c, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x6e, + 0x0a, 0x0d, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x44, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x52, 0x0c, 0x74, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x88, + 0x04, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, + 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x63, 0x6f, 0x6e, + 0x73, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x6e, 0x0a, 0x0d, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, + 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x65, 0x78, 0x74, 0x44, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x87, 0x01, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x5e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6e, - 0x73, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x5f, 0x0a, 0x0d, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x1a, 0xa6, 0x01, 0x0a, 0x1e, 0x54, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x12, 0x4d, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x05, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x9f, 0x01, 0x0a, 0x0d, 0x44, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x44, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x4d, 0x0a, 0x1f, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, + 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3c, 0x0a, 0x08, 0x50, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, + 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, + 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x0d, 0x4d, 0x61, 0x72, 0x6b, + 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0xa3, 0x03, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x4c, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, + 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, + 0x55, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x6e, 0x0a, 0x0d, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, + 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0c, 0x74, 0x65, 0x78, 0x74, 0x44, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x73, 0x0a, 0x10, 0x54, 0x65, 0x78, 0x74, 0x44, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1f, 0x0a, - 0x0b, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0xd0, 0x01, 0x0a, - 0x14, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, - 0x63, 0x6b, 0x65, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, - 0x6e, 0x0a, 0x0d, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x44, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x52, 0x0c, 0x74, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, - 0x84, 0x04, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, - 0x73, 0x6f, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x65, 0x78, 0x74, 0x44, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x63, 0x0a, 0x11, 0x43, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x21, + 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4b, 0x69, 0x6e, + 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, + 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x22, 0xad, + 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x21, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x12, 0x1c, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xf5, + 0x04, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, + 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, + 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, + 0x4f, 0x0a, 0x09, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x65, + 0x78, 0x74, 0x45, 0x64, 0x69, 0x74, 0x52, 0x08, 0x74, 0x65, 0x78, 0x74, 0x45, 0x64, 0x69, 0x74, + 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, + 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x65, 0x78, 0x74, 0x12, 0x2c, + 0x0a, 0x12, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x65, + 0x72, 0x74, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x66, 0x0a, 0x15, + 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, + 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x45, 0x64, 0x69, 0x74, 0x52, + 0x13, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x45, + 0x64, 0x69, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x63, + 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, + 0x73, 0x12, 0x5d, 0x0a, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x52, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0x6d, 0x0a, 0x08, 0x54, 0x65, 0x78, 0x74, 0x45, 0x64, + 0x69, 0x74, 0x12, 0x4d, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0xb3, 0x02, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x53, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x58, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x6e, 0x0a, 0x0d, 0x74, + 0x65, 0x78, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0c, 0x74, + 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x08, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, - 0x65, 0x49, 0x64, 0x12, 0x6e, 0x0a, 0x0d, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x69, 0x6f, 0x2e, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9c, 0x02, 0x0a, 0x14, + 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x30, 0x0a, 0x11, 0x74, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x68, 0x61, + 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, + 0x72, 0x65, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x69, 0x73, 0x52, 0x65, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x76, 0x0a, 0x15, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x48, 0x65, 0x6c, 0x70, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, + 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x22, 0x84, 0x02, 0x0a, 0x18, 0x47, + 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x01, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x22, 0xb0, 0x02, 0x0a, 0x14, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x12, 0x5d, 0x0a, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x52, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x5e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, + 0x2e, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, + 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x22, 0x8b, 0x01, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x12, 0x5d, 0x0a, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x54, - 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x87, 0x01, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5e, 0x2e, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xd1, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x0d, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, + 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, - 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0xa6, 0x01, - 0x0a, 0x1e, 0x54, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x12, 0x4d, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x65, 0x78, 0x74, 0x44, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x48, 0x6f, + 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x75, 0x70, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x4d, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x9f, 0x01, 0x0a, 0x0d, 0x44, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x12, 0x44, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, + 0x84, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, + 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x0d, 0x74, 0x65, 0x78, 0x74, + 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x49, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x4d, 0x0a, 0x1f, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3c, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x72, 0x61, - 0x63, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68, 0x61, 0x72, - 0x61, 0x63, 0x74, 0x65, 0x72, 0x22, 0x9b, 0x03, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x55, 0x0a, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x12, 0x6e, 0x0a, 0x0d, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x64, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x69, 0x6f, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x65, 0x78, 0x74, + 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, + 0x12, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x70, 0x72, 0x65, + 0x76, 0x69, 0x6f, 0x75, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, + 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xab, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50, 0x75, + 0x6c, 0x6c, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb3, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, + 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, - 0x54, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x0c, 0x74, 0x65, 0x78, 0x74, 0x44, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x22, 0x63, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, - 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x22, 0xa5, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, - 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x22, 0xb6, 0x04, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, - 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, - 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, - 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, - 0x65, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x4f, 0x0a, 0x09, 0x74, 0x65, 0x78, 0x74, 0x5f, - 0x65, 0x64, 0x69, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, + 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, + 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf2, 0x05, 0x0a, 0x0a, 0x44, + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x4d, 0x0a, 0x05, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x63, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, + 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x47, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x45, 0x64, 0x69, 0x74, 0x52, 0x08, - 0x74, 0x65, 0x78, 0x74, 0x45, 0x64, 0x69, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74, - 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x72, - 0x74, 0x54, 0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, - 0x74, 0x65, 0x78, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x54, 0x65, 0x78, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, - 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x12, 0x66, 0x0a, 0x15, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x0d, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, - 0x65, 0x78, 0x74, 0x45, 0x64, 0x69, 0x74, 0x52, 0x13, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x45, 0x64, 0x69, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, - 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x43, - 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x22, 0x6d, 0x0a, 0x08, 0x54, 0x65, 0x78, - 0x74, 0x45, 0x64, 0x69, 0x74, 0x12, 0x4d, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, + 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x53, 0x65, 0x76, 0x65, 0x72, + 0x69, 0x74, 0x79, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x17, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x74, 0x0a, 0x10, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x44, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x61, 0x67, + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x64, 0x65, 0x44, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x56, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x0e, 0x32, 0x42, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x61, + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, + 0x69, 0x63, 0x54, 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x88, 0x01, 0x01, 0x1a, 0x25, 0x0a, 0x0f, 0x43, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x72, 0x65, 0x66, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x72, 0x65, 0x66, 0x22, 0x5d, 0x0a, 0x12, 0x44, + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, + 0x79, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x56, + 0x45, 0x52, 0x49, 0x54, 0x59, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, + 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, + 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x4e, 0x54, 0x10, 0x04, 0x22, 0x41, 0x0a, 0x0d, 0x44, 0x69, + 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x54, 0x61, 0x67, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, + 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x54, 0x41, 0x47, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, + 0x55, 0x4e, 0x4e, 0x45, 0x43, 0x45, 0x53, 0x53, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x0e, 0x0a, + 0x0a, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, + 0xb1, 0x3a, 0x0a, 0x10, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x6e, 0x74, 0x12, 0x1f, + 0x0a, 0x0b, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, + 0x2b, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, 0x01, 0x52, 0x0e, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, + 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x72, 0x6f, 0x77, 0x73, 0x12, 0x62, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x72, 0x74, 0x73, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x05, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0xb1, 0x3a, 0x0a, 0x10, 0x46, 0x69, 0x67, - 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x19, 0x0a, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x5f, 0x66, 0x6f, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x2b, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x03, 0x42, 0x02, 0x30, 0x01, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x77, - 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x62, 0x0a, - 0x06, 0x63, 0x68, 0x61, 0x72, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x63, 0x68, 0x61, 0x72, 0x74, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x1a, 0xdc, 0x06, 0x0a, 0x0f, 0x43, 0x68, - 0x61, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x6f, 0x6c, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x63, 0x6f, 0x6c, 0x73, 0x70, 0x61, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x6f, 0x77, 0x73, 0x70, - 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x6f, 0x77, 0x73, 0x70, 0x61, - 0x6e, 0x12, 0x63, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x4b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, - 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x65, - 0x72, 0x69, 0x65, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x06, - 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x73, 0x0a, 0x0c, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, - 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x65, - 0x72, 0x69, 0x65, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0b, - 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x04, 0x61, - 0x78, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x78, 0x69, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x61, 0x78, 0x65, 0x73, 0x12, 0x73, 0x0a, 0x0a, 0x63, 0x68, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x54, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, - 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x74, - 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x63, 0x68, 0x61, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, - 0x6f, 0x77, 0x5f, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0a, 0x73, 0x68, 0x6f, 0x77, 0x4c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, - 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x66, 0x6f, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x46, 0x6f, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, - 0x12, 0x0a, 0x04, 0x69, 0x73, 0x33, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, - 0x73, 0x33, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x72, - 0x6f, 0x77, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x72, 0x6f, 0x77, 0x22, 0x5f, 0x0a, - 0x09, 0x43, 0x68, 0x61, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x58, 0x59, - 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x49, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x04, 0x4f, - 0x48, 0x4c, 0x43, 0x10, 0x02, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x54, - 0x45, 0x47, 0x4f, 0x52, 0x59, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x58, 0x59, 0x5a, 0x10, 0x04, - 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x33, 0x44, 0x10, - 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x52, 0x45, 0x45, 0x4d, 0x41, 0x50, 0x10, 0x06, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x1a, 0xb3, 0x06, 0x0a, 0x10, 0x53, 0x65, 0x72, - 0x69, 0x65, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x69, 0x0a, - 0x0a, 0x70, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x4a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, - 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x65, - 0x72, 0x69, 0x65, 0x73, 0x50, 0x6c, 0x6f, 0x74, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, 0x09, 0x70, - 0x6c, 0x6f, 0x74, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, - 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x56, 0x69, 0x73, 0x69, - 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x70, 0x65, 0x73, - 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, - 0x52, 0x0d, 0x73, 0x68, 0x61, 0x70, 0x65, 0x73, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x29, 0x0a, 0x10, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, - 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x67, 0x72, - 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x12, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x10, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x30, 0x0a, 0x12, 0x78, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x69, 0x70, 0x5f, 0x70, 0x61, - 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0f, 0x78, - 0x54, 0x6f, 0x6f, 0x6c, 0x54, 0x69, 0x70, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x30, 0x0a, 0x12, 0x79, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x69, 0x70, 0x5f, - 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, - 0x0f, 0x79, 0x54, 0x6f, 0x6f, 0x6c, 0x54, 0x69, 0x70, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x70, 0x65, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x48, 0x05, 0x52, 0x09, 0x73, 0x68, 0x61, 0x70, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x70, - 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, - 0x68, 0x61, 0x70, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, - 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x12, - 0x6e, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, - 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, + 0x2e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, + 0x52, 0x06, 0x63, 0x68, 0x61, 0x72, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x1a, 0xdc, 0x06, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x73, 0x70, 0x61, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x73, 0x70, 0x61, 0x6e, 0x12, 0x18, + 0x0a, 0x07, 0x72, 0x6f, 0x77, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x72, 0x6f, 0x77, 0x73, 0x70, 0x61, 0x6e, 0x12, 0x63, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x73, 0x0a, + 0x0c, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, + 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, + 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x65, 0x72, 0x69, + 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x04, 0x61, 0x78, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x49, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, + 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x78, 0x69, + 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x61, 0x78, 0x65, + 0x73, 0x12, 0x73, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x54, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, - 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x6f, 0x72, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, - 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, - 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x73, 0x5f, 0x76, 0x69, 0x73, - 0x69, 0x62, 0x6c, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x15, 0x0a, 0x13, 0x5f, - 0x78, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x69, 0x70, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x79, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x69, - 0x70, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x68, - 0x61, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x1a, 0xa6, - 0x0c, 0x0a, 0x15, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x69, 0x0a, 0x0a, 0x70, 0x6c, 0x6f, 0x74, - 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4a, 0x2e, 0x69, + 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, + 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x63, 0x68, 0x61, + 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x6e, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x46, 0x6f, 0x6e, 0x74, + 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x6f, + 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x77, 0x4c, 0x65, 0x67, 0x65, + 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x66, 0x6f, 0x6e, + 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x46, + 0x6f, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x65, 0x67, 0x65, 0x6e, + 0x64, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x33, 0x64, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x33, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x6f, 0x77, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x03, 0x72, 0x6f, 0x77, 0x22, 0x5f, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x72, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x06, 0x0a, 0x02, 0x58, 0x59, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x49, 0x45, + 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x04, 0x4f, 0x48, 0x4c, 0x43, 0x10, 0x02, 0x1a, 0x02, 0x08, 0x01, + 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x10, 0x03, 0x12, 0x07, + 0x0a, 0x03, 0x58, 0x59, 0x5a, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x41, 0x54, 0x45, 0x47, + 0x4f, 0x52, 0x59, 0x5f, 0x33, 0x44, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x52, 0x45, 0x45, + 0x4d, 0x41, 0x50, 0x10, 0x06, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x1a, + 0xb3, 0x06, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x12, 0x69, 0x0a, 0x0a, 0x70, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x50, 0x6c, 0x6f, 0x74, 0x53, + 0x74, 0x79, 0x6c, 0x65, 0x52, 0x09, 0x70, 0x6c, 0x6f, 0x74, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x5f, 0x76, 0x69, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x69, + 0x6e, 0x65, 0x73, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, + 0x0e, 0x73, 0x68, 0x61, 0x70, 0x65, 0x73, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x70, 0x65, 0x73, 0x56, + 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x10, 0x67, 0x72, 0x61, + 0x64, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x69, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, + 0x6c, 0x6f, 0x72, 0x12, 0x31, 0x0a, 0x12, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x10, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x12, 0x78, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, + 0x5f, 0x74, 0x69, 0x70, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x0f, 0x78, 0x54, 0x6f, 0x6f, 0x6c, 0x54, 0x69, 0x70, 0x50, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x12, 0x79, 0x5f, 0x74, 0x6f, + 0x6f, 0x6c, 0x5f, 0x74, 0x69, 0x70, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0f, 0x79, 0x54, 0x6f, 0x6f, 0x6c, 0x54, 0x69, 0x70, + 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, + 0x61, 0x70, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x73, 0x68, 0x61, 0x70, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x73, + 0x68, 0x61, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x48, + 0x05, 0x52, 0x09, 0x73, 0x68, 0x61, 0x70, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x68, 0x61, 0x70, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x12, 0x6e, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x50, - 0x6c, 0x6f, 0x74, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, 0x09, 0x70, 0x6c, 0x6f, 0x74, 0x53, 0x74, - 0x79, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x6e, 0x0a, 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x5f, - 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, - 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x09, 0x6c, 0x69, - 0x6e, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x70, 0x0a, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x69, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, + 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x68, 0x61, + 0x70, 0x65, 0x73, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x78, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x69, + 0x70, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x79, 0x5f, + 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x69, 0x70, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x4a, + 0x04, 0x08, 0x07, 0x10, 0x08, 0x1a, 0xa6, 0x0c, 0x0a, 0x15, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, + 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, + 0x69, 0x0a, 0x0a, 0x70, 0x6c, 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x4a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, + 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, + 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x50, 0x6c, 0x6f, 0x74, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, + 0x09, 0x70, 0x6c, 0x6f, 0x74, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x6e, + 0x0a, 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, + 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x52, 0x09, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x70, + 0x0a, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, + 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, + 0x12, 0x72, 0x0a, 0x0d, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x56, 0x69, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x12, 0x74, 0x0a, 0x0e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x76, + 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, - 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x72, 0x0a, 0x0d, 0x6c, 0x69, 0x6e, - 0x65, 0x73, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x4d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x4d, 0x61, 0x70, + 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0d, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x78, 0x0a, 0x10, 0x67, 0x72, + 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, + 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x69, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x12, 0x7d, 0x0a, 0x12, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x4f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, - 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x6f, 0x6f, - 0x6c, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, - 0x0c, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x74, 0x0a, - 0x0e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, - 0x72, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0d, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x56, 0x69, 0x73, 0x69, - 0x62, 0x6c, 0x65, 0x12, 0x78, 0x0a, 0x10, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, + 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x52, 0x10, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x12, 0x7c, 0x0a, 0x12, 0x78, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x69, + 0x70, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x4f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, + 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x52, 0x0f, 0x78, 0x54, 0x6f, 0x6f, 0x6c, 0x54, 0x69, 0x70, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x12, 0x7c, 0x0a, 0x12, 0x79, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x69, 0x70, 0x5f, + 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x4d, 0x61, - 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0f, 0x67, 0x72, - 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x7d, 0x0a, - 0x12, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x57, - 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x10, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x7c, 0x0a, 0x12, - 0x78, 0x5f, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x69, 0x70, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x57, 0x69, - 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0f, 0x78, 0x54, 0x6f, 0x6f, 0x6c, - 0x54, 0x69, 0x70, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x7c, 0x0a, 0x12, 0x79, 0x5f, - 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x69, 0x70, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0f, + 0x79, 0x54, 0x6f, 0x6f, 0x6c, 0x54, 0x69, 0x70, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, + 0x70, 0x0a, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x12, 0x6e, 0x0a, 0x0a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, + 0x72, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x09, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x70, 0x0a, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, - 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0f, 0x79, 0x54, 0x6f, 0x6f, 0x6c, 0x54, 0x69, - 0x70, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x70, 0x0a, 0x0b, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, + 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x68, + 0x61, 0x70, 0x65, 0x12, 0x79, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x65, 0x72, 0x69, 0x65, + 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, + 0x72, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x81, + 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, + 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, + 0x11, 0x0a, 0x0f, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x1a, 0x81, 0x01, 0x0a, 0x14, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, + 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x6f, + 0x75, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x01, 0x52, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x1a, 0x79, 0x0a, 0x12, 0x42, 0x6f, 0x6f, 0x6c, 0x4d, 0x61, + 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x26, 0x0a, 0x0c, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x6f, 0x6f, + 0x6c, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x08, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x6f, 0x6f, + 0x6c, 0x1a, 0xb3, 0x0a, 0x0a, 0x0e, 0x41, 0x78, 0x69, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x79, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x58, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x78, 0x69, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x78, 0x69, 0x73, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x66, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x52, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x0a, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x6e, 0x0a, 0x0a, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, - 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, - 0x65, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, - 0x09, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x70, 0x0a, 0x0b, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x4f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x78, 0x69, 0x73, 0x44, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x78, 0x69, 0x73, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x72, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x56, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x78, 0x69, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x78, 0x69, 0x73, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6c, + 0x6f, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x6f, 0x6e, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x6f, + 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x66, 0x6f, 0x6e, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x46, 0x6f, 0x6e, + 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, + 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2e, 0x0a, + 0x13, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x76, 0x69, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x6f, + 0x72, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x2e, 0x0a, + 0x13, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x76, 0x69, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x6a, 0x6f, + 0x72, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x28, 0x0a, + 0x10, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x54, 0x69, + 0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x17, 0x67, 0x61, 0x70, 0x5f, 0x62, + 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x5f, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x5f, 0x74, 0x69, 0x63, + 0x6b, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x14, 0x67, 0x61, 0x70, 0x42, + 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x14, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x5f, 0x74, 0x69, 0x63, + 0x6b, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, + 0x01, 0x52, 0x12, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x61, 0x78, 0x69, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, + 0x73, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x78, 0x69, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x1c, 0x62, 0x75, + 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x5f, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x55, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, + 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x75, 0x73, + 0x69, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x1a, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, + 0x73, 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x6f, 0x72, 0x22, 0x2a, 0x0a, 0x0e, 0x41, 0x78, 0x69, 0x73, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, + 0x59, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x01, 0x22, + 0x43, 0x0a, 0x08, 0x41, 0x78, 0x69, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x05, 0x0a, 0x01, 0x58, + 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x59, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x48, 0x41, + 0x50, 0x45, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x03, 0x12, 0x09, + 0x0a, 0x05, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x4c, + 0x4f, 0x52, 0x10, 0x05, 0x22, 0x42, 0x0a, 0x0c, 0x41, 0x78, 0x69, 0x73, 0x50, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x4f, 0x50, 0x10, 0x00, 0x12, 0x0a, 0x0a, + 0x06, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x45, 0x46, + 0x54, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x03, 0x12, 0x08, + 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x04, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x1a, 0x0a, 0x18, 0x5f, + 0x67, 0x61, 0x70, 0x5f, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x5f, 0x6d, 0x61, 0x6a, 0x6f, + 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x1a, 0xe2, 0x07, 0x0a, 0x1a, 0x42, 0x75, 0x73, 0x69, + 0x6e, 0x65, 0x73, 0x73, 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x44, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, + 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x0d, 0x62, 0x75, 0x73, 0x69, + 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, + 0x5f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, - 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x52, 0x0a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x68, 0x61, 0x70, 0x65, 0x12, 0x79, 0x0a, 0x0c, - 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, - 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x4d, - 0x75, 0x6c, 0x74, 0x69, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x81, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x12, 0x2a, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, - 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x1a, 0x81, 0x01, 0x0a, 0x14, - 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, - 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0d, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, - 0x6b, 0x65, 0x79, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x01, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, - 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x1a, - 0x79, 0x0a, 0x12, 0x42, 0x6f, 0x6f, 0x6c, 0x4d, 0x61, 0x70, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, - 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x08, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x1a, 0xb3, 0x0a, 0x0a, 0x0e, 0x41, - 0x78, 0x69, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x79, 0x0a, - 0x0b, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x58, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, - 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x41, - 0x78, 0x69, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x78, - 0x69, 0x73, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x66, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x52, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x6f, 0x72, 0x2e, 0x41, 0x78, 0x69, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, - 0x72, 0x2e, 0x41, 0x78, 0x69, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x72, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x56, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, - 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x41, - 0x78, 0x69, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x78, - 0x69, 0x73, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x6f, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x6f, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, - 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x66, 0x6f, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x46, 0x6f, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x50, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, - 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x08, 0x6d, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, - 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6d, 0x61, - 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, - 0x74, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x56, - 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x5f, - 0x74, 0x69, 0x63, 0x6b, 0x73, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x56, - 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, - 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x3a, 0x0a, 0x17, 0x67, 0x61, 0x70, 0x5f, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x5f, - 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x01, 0x48, 0x01, 0x52, 0x14, 0x67, 0x61, 0x70, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x4d, - 0x61, 0x6a, 0x6f, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x14, - 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x01, 0x52, 0x12, 0x6d, 0x61, 0x6a, 0x6f, - 0x72, 0x54, 0x69, 0x63, 0x6b, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, - 0x0a, 0x10, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x61, 0x6e, 0x67, - 0x6c, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x74, 0x69, 0x63, 0x6b, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x65, - 0x72, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, - 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x78, 0x69, 0x73, - 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x78, - 0x69, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x1c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, - 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x6f, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x75, 0x73, 0x69, + 0x6e, 0x65, 0x73, 0x73, 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x44, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, + 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x44, 0x61, 0x79, 0x73, 0x12, 0x8f, + 0x01, 0x0a, 0x10, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x69, + 0x6f, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x64, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, - 0x52, 0x1a, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, - 0x61, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x22, 0x2a, 0x0a, 0x0e, - 0x41, 0x78, 0x69, 0x73, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, - 0x0a, 0x08, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, - 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x01, 0x22, 0x43, 0x0a, 0x08, 0x41, 0x78, 0x69, 0x73, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x05, 0x0a, 0x01, 0x58, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x59, - 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x48, 0x41, 0x50, 0x45, 0x10, 0x02, 0x12, 0x08, 0x0a, - 0x04, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x41, 0x42, 0x45, 0x4c, - 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x10, 0x05, 0x22, 0x42, 0x0a, - 0x0c, 0x41, 0x78, 0x69, 0x73, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x07, 0x0a, - 0x03, 0x54, 0x4f, 0x50, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, - 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, - 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, - 0x04, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x70, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x67, 0x61, 0x70, 0x5f, 0x62, 0x65, 0x74, - 0x77, 0x65, 0x65, 0x6e, 0x5f, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, - 0x1a, 0xe2, 0x07, 0x0a, 0x1a, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x61, 0x6c, - 0x65, 0x6e, 0x64, 0x61, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, - 0x12, 0x84, 0x01, 0x0a, 0x0d, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x64, 0x61, - 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x5f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x61, 0x6c, - 0x65, 0x6e, 0x64, 0x61, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, - 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, - 0x65, 0x73, 0x73, 0x44, 0x61, 0x79, 0x73, 0x12, 0x8f, 0x01, 0x0a, 0x10, 0x62, 0x75, 0x73, 0x69, - 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x64, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x2e, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x52, + 0x0f, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, + 0x12, 0x79, 0x0a, 0x08, 0x68, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x5d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x44, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, - 0x73, 0x73, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x52, 0x0f, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, - 0x73, 0x73, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x12, 0x79, 0x0a, 0x08, 0x68, 0x6f, 0x6c, - 0x69, 0x64, 0x61, 0x79, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5d, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, - 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x6f, 0x72, 0x2e, 0x48, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, 0x52, 0x08, 0x68, 0x6f, 0x6c, 0x69, - 0x64, 0x61, 0x79, 0x73, 0x1a, 0x3a, 0x0a, 0x0e, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, - 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, - 0x6f, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, - 0x1a, 0x90, 0x02, 0x0a, 0x07, 0x48, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, 0x12, 0x73, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x43, - 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, - 0x72, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x10, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x70, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x64, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, - 0x73, 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x69, - 0x6f, 0x64, 0x52, 0x0f, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x69, - 0x6f, 0x64, 0x73, 0x1a, 0x47, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x79, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x64, 0x61, 0x79, 0x22, 0x67, 0x0a, 0x09, - 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x55, 0x4e, - 0x44, 0x41, 0x59, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x4f, 0x4e, 0x44, 0x41, 0x59, 0x10, - 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x55, 0x45, 0x53, 0x44, 0x41, 0x59, 0x10, 0x02, 0x12, 0x0d, - 0x0a, 0x09, 0x57, 0x45, 0x44, 0x4e, 0x45, 0x53, 0x44, 0x41, 0x59, 0x10, 0x03, 0x12, 0x0c, 0x0a, - 0x08, 0x54, 0x48, 0x55, 0x52, 0x53, 0x44, 0x41, 0x59, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x46, - 0x52, 0x49, 0x44, 0x41, 0x59, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x41, 0x54, 0x55, 0x52, - 0x44, 0x41, 0x59, 0x10, 0x06, 0x1a, 0xe4, 0x01, 0x0a, 0x1b, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x78, 0x69, 0x73, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x78, 0x69, 0x73, 0x49, 0x64, 0x12, 0x59, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x81, 0x03, 0x0a, - 0x10, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, - 0x72, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x78, 0x69, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x78, 0x69, 0x73, 0x49, 0x64, 0x12, 0x59, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x48, 0x6f, 0x6c, 0x69, 0x64, 0x61, + 0x79, 0x52, 0x08, 0x68, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, 0x73, 0x1a, 0x3a, 0x0a, 0x0e, 0x42, + 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6f, 0x70, 0x65, + 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x90, 0x02, 0x0a, 0x07, 0x48, 0x6f, 0x6c, 0x69, + 0x64, 0x61, 0x79, 0x12, 0x73, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x5f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, + 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x75, + 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x44, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x61, + 0x74, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x10, 0x62, 0x75, 0x73, + 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x64, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, + 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, + 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x42, 0x75, 0x73, 0x69, 0x6e, + 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x52, 0x0f, 0x62, 0x75, 0x73, 0x69, 0x6e, + 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x1a, 0x47, 0x0a, 0x09, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x79, 0x65, 0x61, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, + 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, + 0x68, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x64, 0x61, 0x79, 0x22, 0x67, 0x0a, 0x09, 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, + 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x55, 0x4e, 0x44, 0x41, 0x59, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, + 0x4d, 0x4f, 0x4e, 0x44, 0x41, 0x59, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x55, 0x45, 0x53, + 0x44, 0x41, 0x59, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x45, 0x44, 0x4e, 0x45, 0x53, 0x44, + 0x41, 0x59, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x48, 0x55, 0x52, 0x53, 0x44, 0x41, 0x59, + 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x52, 0x49, 0x44, 0x41, 0x59, 0x10, 0x05, 0x12, 0x0c, + 0x0a, 0x08, 0x53, 0x41, 0x54, 0x55, 0x52, 0x44, 0x41, 0x59, 0x10, 0x06, 0x1a, 0xe4, 0x01, 0x0a, + 0x1b, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x07, + 0x61, 0x78, 0x69, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, + 0x78, 0x69, 0x73, 0x49, 0x64, 0x12, 0x59, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x45, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, + 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x6a, 0x0a, 0x09, 0x6f, 0x6e, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x63, - 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x6f, 0x72, 0x2e, 0x4f, 0x6e, 0x65, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x44, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x6e, 0x65, 0x43, 0x6c, 0x69, 0x63, 0x6b, - 0x1a, 0x95, 0x01, 0x0a, 0x12, 0x4f, 0x6e, 0x65, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x44, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x1e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, - 0x61, 0x6c, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x54, - 0x6f, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x22, 0xa6, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x72, - 0x69, 0x65, 0x73, 0x50, 0x6c, 0x6f, 0x74, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x07, 0x0a, 0x03, - 0x42, 0x41, 0x52, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x45, 0x44, - 0x5f, 0x42, 0x41, 0x52, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, - 0x12, 0x08, 0x0a, 0x04, 0x41, 0x52, 0x45, 0x41, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, - 0x41, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x41, 0x52, 0x45, 0x41, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, - 0x50, 0x49, 0x45, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x47, 0x52, - 0x41, 0x4d, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x48, 0x4c, 0x43, 0x10, 0x07, 0x12, 0x0b, - 0x0a, 0x07, 0x53, 0x43, 0x41, 0x54, 0x54, 0x45, 0x52, 0x10, 0x08, 0x12, 0x08, 0x0a, 0x04, 0x53, - 0x54, 0x45, 0x50, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x42, - 0x41, 0x52, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x52, 0x45, 0x45, 0x4d, 0x41, 0x50, 0x10, - 0x0b, 0x22, 0xd2, 0x01, 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x05, 0x0a, 0x01, 0x58, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x59, 0x10, 0x01, 0x12, 0x05, - 0x0a, 0x01, 0x5a, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x58, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x03, - 0x12, 0x0a, 0x0a, 0x06, 0x58, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, - 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x59, 0x5f, 0x48, 0x49, 0x47, - 0x48, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x07, 0x12, 0x08, 0x0a, - 0x04, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x08, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, - 0x09, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x0a, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4c, - 0x4f, 0x53, 0x45, 0x10, 0x0b, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x48, 0x41, 0x50, 0x45, 0x10, 0x0c, - 0x12, 0x08, 0x0a, 0x04, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x0d, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x41, - 0x42, 0x45, 0x4c, 0x10, 0x0e, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x10, 0x0f, - 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x10, 0x10, 0x12, 0x0e, 0x0a, 0x0a, - 0x48, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x11, 0x12, 0x08, 0x0a, 0x04, - 0x54, 0x45, 0x58, 0x54, 0x10, 0x12, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x0d, 0x32, 0x8e, 0x0c, 0x0a, - 0x0e, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x98, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x12, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x47, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8f, 0x01, 0x0a, 0x0c, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x12, 0x3d, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x73, - 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x1a, 0x81, 0x03, 0x0a, 0x10, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x78, 0x69, 0x73, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x78, 0x69, 0x73, 0x49, + 0x64, 0x12, 0x59, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x45, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, + 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x6a, 0x0a, 0x09, 0x6f, + 0x6e, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x67, 0x75, 0x72, 0x65, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x4f, 0x6e, 0x65, 0x43, 0x6c, + 0x69, 0x63, 0x6b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, + 0x6e, 0x65, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x1a, 0x95, 0x01, 0x0a, 0x12, 0x4f, 0x6e, 0x65, 0x43, + 0x6c, 0x69, 0x63, 0x6b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x1e, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x22, + 0xa6, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x50, 0x6c, 0x6f, 0x74, 0x53, 0x74, + 0x79, 0x6c, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41, 0x52, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, + 0x53, 0x54, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x42, 0x41, 0x52, 0x10, 0x01, 0x12, 0x08, 0x0a, + 0x04, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x52, 0x45, 0x41, 0x10, + 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x5f, 0x41, 0x52, 0x45, + 0x41, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x49, 0x45, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, + 0x48, 0x49, 0x53, 0x54, 0x4f, 0x47, 0x52, 0x41, 0x4d, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x4f, + 0x48, 0x4c, 0x43, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x43, 0x41, 0x54, 0x54, 0x45, 0x52, + 0x10, 0x08, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x45, 0x50, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x42, 0x41, 0x52, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x54, + 0x52, 0x45, 0x45, 0x4d, 0x41, 0x50, 0x10, 0x0b, 0x22, 0xd2, 0x01, 0x0a, 0x0a, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x05, 0x0a, 0x01, 0x58, 0x10, 0x00, 0x12, 0x05, + 0x0a, 0x01, 0x59, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, 0x5a, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, + 0x58, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x58, 0x5f, 0x48, 0x49, 0x47, + 0x48, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x05, 0x12, 0x0a, + 0x0a, 0x06, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x49, + 0x4d, 0x45, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x08, 0x12, 0x08, + 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x09, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, + 0x0a, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x0b, 0x12, 0x09, 0x0a, 0x05, + 0x53, 0x48, 0x41, 0x50, 0x45, 0x10, 0x0c, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x49, 0x5a, 0x45, 0x10, + 0x0d, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x0e, 0x12, 0x09, 0x0a, 0x05, + 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x10, 0x0f, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41, 0x52, 0x45, 0x4e, + 0x54, 0x10, 0x10, 0x12, 0x0e, 0x0a, 0x0a, 0x48, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x54, 0x45, 0x58, + 0x54, 0x10, 0x11, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x45, 0x58, 0x54, 0x10, 0x12, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x4a, 0x04, 0x08, + 0x0c, 0x10, 0x0d, 0x32, 0xb2, 0x0d, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x6f, - 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8c, 0x01, 0x0a, - 0x0b, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x2e, 0x69, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x96, 0x01, 0x0a, 0x0f, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x6f, 0x4c, 0x6f, 0x67, 0x73, 0x12, - 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x6f, + 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x8f, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x6f, + 0x6c, 0x65, 0x12, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x8c, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x47, + 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, - 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, - 0x22, 0x00, 0x30, 0x01, 0x12, 0x95, 0x01, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x3f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, + 0x48, 0x65, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x96, 0x01, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x54, 0x6f, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 0x0a, - 0x0d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x3e, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, + 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0x00, 0x30, 0x01, 0x12, 0x95, 0x01, 0x0a, 0x0e, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x3f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0xa4, 0x01, 0x0a, 0x13, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, - 0x6f, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x44, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 0x0a, 0x0d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xa4, 0x01, 0x0a, 0x13, 0x42, 0x69, 0x6e, + 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x44, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x64, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x99, 0x01, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x12, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x12, 0x43, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x9b, 0x01, 0x0a, 0x16, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, - 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x45, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x99, 0x01, 0x0a, 0x12, 0x41, 0x75, 0x74, - 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, - 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x28, 0x01, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, 0x16, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x75, 0x74, - 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, - 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x30, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x16, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x3d, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x4e, - 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x43, 0x48, - 0x01, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2f, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x6f, - 0x6c, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x98, 0x01, + 0x0a, 0x16, 0x4e, 0x65, 0x78, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x43, 0x48, 0x01, 0x50, 0x01, 0x5a, 0x3d, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2f, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2d, 0x63, + 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -4633,153 +6086,201 @@ func file_deephaven_proto_console_proto_rawDescGZIP() []byte { return file_deephaven_proto_console_proto_rawDescData } -var file_deephaven_proto_console_proto_enumTypes = make([]protoimpl.EnumInfo, 7) -var file_deephaven_proto_console_proto_msgTypes = make([]protoimpl.MessageInfo, 45) +var file_deephaven_proto_console_proto_enumTypes = make([]protoimpl.EnumInfo, 9) +var file_deephaven_proto_console_proto_msgTypes = make([]protoimpl.MessageInfo, 60) var file_deephaven_proto_console_proto_goTypes = []interface{}{ - (FigureDescriptor_SeriesPlotStyle)(0), // 0: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesPlotStyle - (FigureDescriptor_SourceType)(0), // 1: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceType - (FigureDescriptor_ChartDescriptor_ChartType)(0), // 2: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor.ChartType - (FigureDescriptor_AxisDescriptor_AxisFormatType)(0), // 3: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisFormatType - (FigureDescriptor_AxisDescriptor_AxisType)(0), // 4: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisType - (FigureDescriptor_AxisDescriptor_AxisPosition)(0), // 5: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisPosition - (FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek)(0), // 6: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.DayOfWeek - (*GetConsoleTypesRequest)(nil), // 7: io.deephaven.proto.backplane.script.grpc.GetConsoleTypesRequest - (*GetConsoleTypesResponse)(nil), // 8: io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse - (*StartConsoleRequest)(nil), // 9: io.deephaven.proto.backplane.script.grpc.StartConsoleRequest - (*StartConsoleResponse)(nil), // 10: io.deephaven.proto.backplane.script.grpc.StartConsoleResponse - (*GetHeapInfoRequest)(nil), // 11: io.deephaven.proto.backplane.script.grpc.GetHeapInfoRequest - (*GetHeapInfoResponse)(nil), // 12: io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse - (*LogSubscriptionRequest)(nil), // 13: io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest - (*LogSubscriptionData)(nil), // 14: io.deephaven.proto.backplane.script.grpc.LogSubscriptionData - (*ExecuteCommandRequest)(nil), // 15: io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest - (*ExecuteCommandResponse)(nil), // 16: io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse - (*BindTableToVariableRequest)(nil), // 17: io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest - (*BindTableToVariableResponse)(nil), // 18: io.deephaven.proto.backplane.script.grpc.BindTableToVariableResponse - (*CancelCommandRequest)(nil), // 19: io.deephaven.proto.backplane.script.grpc.CancelCommandRequest - (*CancelCommandResponse)(nil), // 20: io.deephaven.proto.backplane.script.grpc.CancelCommandResponse - (*AutoCompleteRequest)(nil), // 21: io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest - (*AutoCompleteResponse)(nil), // 22: io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse - (*BrowserNextResponse)(nil), // 23: io.deephaven.proto.backplane.script.grpc.BrowserNextResponse - (*OpenDocumentRequest)(nil), // 24: io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest - (*TextDocumentItem)(nil), // 25: io.deephaven.proto.backplane.script.grpc.TextDocumentItem - (*CloseDocumentRequest)(nil), // 26: io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest - (*ChangeDocumentRequest)(nil), // 27: io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest - (*DocumentRange)(nil), // 28: io.deephaven.proto.backplane.script.grpc.DocumentRange - (*VersionedTextDocumentIdentifier)(nil), // 29: io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier - (*Position)(nil), // 30: io.deephaven.proto.backplane.script.grpc.Position - (*GetCompletionItemsRequest)(nil), // 31: io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest - (*CompletionContext)(nil), // 32: io.deephaven.proto.backplane.script.grpc.CompletionContext - (*GetCompletionItemsResponse)(nil), // 33: io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse - (*CompletionItem)(nil), // 34: io.deephaven.proto.backplane.script.grpc.CompletionItem - (*TextEdit)(nil), // 35: io.deephaven.proto.backplane.script.grpc.TextEdit - (*FigureDescriptor)(nil), // 36: io.deephaven.proto.backplane.script.grpc.FigureDescriptor - (*ChangeDocumentRequest_TextDocumentContentChangeEvent)(nil), // 37: io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent - (*FigureDescriptor_ChartDescriptor)(nil), // 38: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor - (*FigureDescriptor_SeriesDescriptor)(nil), // 39: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor - (*FigureDescriptor_MultiSeriesDescriptor)(nil), // 40: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor - (*FigureDescriptor_StringMapWithDefault)(nil), // 41: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault - (*FigureDescriptor_DoubleMapWithDefault)(nil), // 42: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.DoubleMapWithDefault - (*FigureDescriptor_BoolMapWithDefault)(nil), // 43: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault - (*FigureDescriptor_AxisDescriptor)(nil), // 44: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor - (*FigureDescriptor_BusinessCalendarDescriptor)(nil), // 45: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor - (*FigureDescriptor_MultiSeriesSourceDescriptor)(nil), // 46: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesSourceDescriptor - (*FigureDescriptor_SourceDescriptor)(nil), // 47: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptor - (*FigureDescriptor_OneClickDescriptor)(nil), // 48: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.OneClickDescriptor - (*FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod)(nil), // 49: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod - (*FigureDescriptor_BusinessCalendarDescriptor_Holiday)(nil), // 50: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday - (*FigureDescriptor_BusinessCalendarDescriptor_LocalDate)(nil), // 51: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.LocalDate - (*ticket.Ticket)(nil), // 52: io.deephaven.proto.backplane.grpc.Ticket - (*application.FieldsChangeUpdate)(nil), // 53: io.deephaven.proto.backplane.grpc.FieldsChangeUpdate + (Diagnostic_DiagnosticSeverity)(0), // 0: io.deephaven.proto.backplane.script.grpc.Diagnostic.DiagnosticSeverity + (Diagnostic_DiagnosticTag)(0), // 1: io.deephaven.proto.backplane.script.grpc.Diagnostic.DiagnosticTag + (FigureDescriptor_SeriesPlotStyle)(0), // 2: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesPlotStyle + (FigureDescriptor_SourceType)(0), // 3: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceType + (FigureDescriptor_ChartDescriptor_ChartType)(0), // 4: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor.ChartType + (FigureDescriptor_AxisDescriptor_AxisFormatType)(0), // 5: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisFormatType + (FigureDescriptor_AxisDescriptor_AxisType)(0), // 6: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisType + (FigureDescriptor_AxisDescriptor_AxisPosition)(0), // 7: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisPosition + (FigureDescriptor_BusinessCalendarDescriptor_DayOfWeek)(0), // 8: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.DayOfWeek + (*GetConsoleTypesRequest)(nil), // 9: io.deephaven.proto.backplane.script.grpc.GetConsoleTypesRequest + (*GetConsoleTypesResponse)(nil), // 10: io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse + (*StartConsoleRequest)(nil), // 11: io.deephaven.proto.backplane.script.grpc.StartConsoleRequest + (*StartConsoleResponse)(nil), // 12: io.deephaven.proto.backplane.script.grpc.StartConsoleResponse + (*GetHeapInfoRequest)(nil), // 13: io.deephaven.proto.backplane.script.grpc.GetHeapInfoRequest + (*GetHeapInfoResponse)(nil), // 14: io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse + (*LogSubscriptionRequest)(nil), // 15: io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest + (*LogSubscriptionData)(nil), // 16: io.deephaven.proto.backplane.script.grpc.LogSubscriptionData + (*ExecuteCommandRequest)(nil), // 17: io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest + (*ExecuteCommandResponse)(nil), // 18: io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse + (*BindTableToVariableRequest)(nil), // 19: io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest + (*BindTableToVariableResponse)(nil), // 20: io.deephaven.proto.backplane.script.grpc.BindTableToVariableResponse + (*CancelCommandRequest)(nil), // 21: io.deephaven.proto.backplane.script.grpc.CancelCommandRequest + (*CancelCommandResponse)(nil), // 22: io.deephaven.proto.backplane.script.grpc.CancelCommandResponse + (*CancelAutoCompleteRequest)(nil), // 23: io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest + (*CancelAutoCompleteResponse)(nil), // 24: io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteResponse + (*AutoCompleteRequest)(nil), // 25: io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest + (*AutoCompleteResponse)(nil), // 26: io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse + (*BrowserNextResponse)(nil), // 27: io.deephaven.proto.backplane.script.grpc.BrowserNextResponse + (*OpenDocumentRequest)(nil), // 28: io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest + (*TextDocumentItem)(nil), // 29: io.deephaven.proto.backplane.script.grpc.TextDocumentItem + (*CloseDocumentRequest)(nil), // 30: io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest + (*ChangeDocumentRequest)(nil), // 31: io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest + (*DocumentRange)(nil), // 32: io.deephaven.proto.backplane.script.grpc.DocumentRange + (*VersionedTextDocumentIdentifier)(nil), // 33: io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier + (*Position)(nil), // 34: io.deephaven.proto.backplane.script.grpc.Position + (*MarkupContent)(nil), // 35: io.deephaven.proto.backplane.script.grpc.MarkupContent + (*GetCompletionItemsRequest)(nil), // 36: io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest + (*CompletionContext)(nil), // 37: io.deephaven.proto.backplane.script.grpc.CompletionContext + (*GetCompletionItemsResponse)(nil), // 38: io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse + (*CompletionItem)(nil), // 39: io.deephaven.proto.backplane.script.grpc.CompletionItem + (*TextEdit)(nil), // 40: io.deephaven.proto.backplane.script.grpc.TextEdit + (*GetSignatureHelpRequest)(nil), // 41: io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest + (*SignatureHelpContext)(nil), // 42: io.deephaven.proto.backplane.script.grpc.SignatureHelpContext + (*GetSignatureHelpResponse)(nil), // 43: io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse + (*SignatureInformation)(nil), // 44: io.deephaven.proto.backplane.script.grpc.SignatureInformation + (*ParameterInformation)(nil), // 45: io.deephaven.proto.backplane.script.grpc.ParameterInformation + (*GetHoverRequest)(nil), // 46: io.deephaven.proto.backplane.script.grpc.GetHoverRequest + (*GetHoverResponse)(nil), // 47: io.deephaven.proto.backplane.script.grpc.GetHoverResponse + (*GetDiagnosticRequest)(nil), // 48: io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest + (*GetPullDiagnosticResponse)(nil), // 49: io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse + (*GetPublishDiagnosticResponse)(nil), // 50: io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse + (*Diagnostic)(nil), // 51: io.deephaven.proto.backplane.script.grpc.Diagnostic + (*FigureDescriptor)(nil), // 52: io.deephaven.proto.backplane.script.grpc.FigureDescriptor + (*ChangeDocumentRequest_TextDocumentContentChangeEvent)(nil), // 53: io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent + (*Diagnostic_CodeDescription)(nil), // 54: io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription + (*FigureDescriptor_ChartDescriptor)(nil), // 55: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor + (*FigureDescriptor_SeriesDescriptor)(nil), // 56: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor + (*FigureDescriptor_MultiSeriesDescriptor)(nil), // 57: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor + (*FigureDescriptor_StringMapWithDefault)(nil), // 58: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault + (*FigureDescriptor_DoubleMapWithDefault)(nil), // 59: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.DoubleMapWithDefault + (*FigureDescriptor_BoolMapWithDefault)(nil), // 60: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault + (*FigureDescriptor_AxisDescriptor)(nil), // 61: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor + (*FigureDescriptor_BusinessCalendarDescriptor)(nil), // 62: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor + (*FigureDescriptor_MultiSeriesSourceDescriptor)(nil), // 63: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesSourceDescriptor + (*FigureDescriptor_SourceDescriptor)(nil), // 64: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptor + (*FigureDescriptor_OneClickDescriptor)(nil), // 65: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.OneClickDescriptor + (*FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod)(nil), // 66: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod + (*FigureDescriptor_BusinessCalendarDescriptor_Holiday)(nil), // 67: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday + (*FigureDescriptor_BusinessCalendarDescriptor_LocalDate)(nil), // 68: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.LocalDate + (*ticket.Ticket)(nil), // 69: io.deephaven.proto.backplane.grpc.Ticket + (*application.FieldsChangeUpdate)(nil), // 70: io.deephaven.proto.backplane.grpc.FieldsChangeUpdate } var file_deephaven_proto_console_proto_depIdxs = []int32{ - 52, // 0: io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 52, // 1: io.deephaven.proto.backplane.script.grpc.StartConsoleResponse.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 52, // 2: io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.console_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 53, // 3: io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.changes:type_name -> io.deephaven.proto.backplane.grpc.FieldsChangeUpdate - 52, // 4: io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.console_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 52, // 5: io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.table_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 52, // 6: io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.console_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 52, // 7: io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.command_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 24, // 8: io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.open_document:type_name -> io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest - 27, // 9: io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.change_document:type_name -> io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest - 31, // 10: io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_completion_items:type_name -> io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest - 26, // 11: io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.close_document:type_name -> io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest - 33, // 12: io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.completion_items:type_name -> io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse - 52, // 13: io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.console_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 25, // 14: io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.text_document:type_name -> io.deephaven.proto.backplane.script.grpc.TextDocumentItem - 52, // 15: io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.console_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 29, // 16: io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.text_document:type_name -> io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier - 52, // 17: io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.console_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 29, // 18: io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.text_document:type_name -> io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier - 37, // 19: io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.content_changes:type_name -> io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent - 30, // 20: io.deephaven.proto.backplane.script.grpc.DocumentRange.start:type_name -> io.deephaven.proto.backplane.script.grpc.Position - 30, // 21: io.deephaven.proto.backplane.script.grpc.DocumentRange.end:type_name -> io.deephaven.proto.backplane.script.grpc.Position - 52, // 22: io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.console_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 32, // 23: io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.context:type_name -> io.deephaven.proto.backplane.script.grpc.CompletionContext - 29, // 24: io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.text_document:type_name -> io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier - 30, // 25: io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.position:type_name -> io.deephaven.proto.backplane.script.grpc.Position - 34, // 26: io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.items:type_name -> io.deephaven.proto.backplane.script.grpc.CompletionItem - 35, // 27: io.deephaven.proto.backplane.script.grpc.CompletionItem.text_edit:type_name -> io.deephaven.proto.backplane.script.grpc.TextEdit - 35, // 28: io.deephaven.proto.backplane.script.grpc.CompletionItem.additional_text_edits:type_name -> io.deephaven.proto.backplane.script.grpc.TextEdit - 28, // 29: io.deephaven.proto.backplane.script.grpc.TextEdit.range:type_name -> io.deephaven.proto.backplane.script.grpc.DocumentRange - 38, // 30: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.charts:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor - 28, // 31: io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.range:type_name -> io.deephaven.proto.backplane.script.grpc.DocumentRange - 39, // 32: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor.series:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor - 40, // 33: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor.multi_series:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor - 44, // 34: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor.axes:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor - 2, // 35: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor.chart_type:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor.ChartType - 0, // 36: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor.plot_style:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesPlotStyle - 47, // 37: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor.data_sources:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptor - 0, // 38: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.plot_style:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesPlotStyle - 41, // 39: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.line_color:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault - 41, // 40: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.point_color:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault - 43, // 41: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.lines_visible:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault - 43, // 42: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.points_visible:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault - 43, // 43: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.gradient_visible:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault - 41, // 44: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.point_label_format:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault - 41, // 45: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.x_tool_tip_pattern:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault - 41, // 46: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.y_tool_tip_pattern:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault - 41, // 47: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.point_label:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault - 42, // 48: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.point_size:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.DoubleMapWithDefault - 41, // 49: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.point_shape:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault - 46, // 50: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.data_sources:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesSourceDescriptor - 3, // 51: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.format_type:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisFormatType - 4, // 52: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.type:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisType - 5, // 53: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.position:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisPosition - 45, // 54: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.business_calendar_descriptor:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor - 6, // 55: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.business_days:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.DayOfWeek - 49, // 56: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.business_periods:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod - 50, // 57: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.holidays:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday - 1, // 58: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesSourceDescriptor.type:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceType - 1, // 59: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptor.type:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceType - 48, // 60: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptor.one_click:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.OneClickDescriptor - 51, // 61: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday.date:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.LocalDate - 49, // 62: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday.business_periods:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod - 7, // 63: io.deephaven.proto.backplane.script.grpc.ConsoleService.GetConsoleTypes:input_type -> io.deephaven.proto.backplane.script.grpc.GetConsoleTypesRequest - 9, // 64: io.deephaven.proto.backplane.script.grpc.ConsoleService.StartConsole:input_type -> io.deephaven.proto.backplane.script.grpc.StartConsoleRequest - 11, // 65: io.deephaven.proto.backplane.script.grpc.ConsoleService.GetHeapInfo:input_type -> io.deephaven.proto.backplane.script.grpc.GetHeapInfoRequest - 13, // 66: io.deephaven.proto.backplane.script.grpc.ConsoleService.SubscribeToLogs:input_type -> io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest - 15, // 67: io.deephaven.proto.backplane.script.grpc.ConsoleService.ExecuteCommand:input_type -> io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest - 19, // 68: io.deephaven.proto.backplane.script.grpc.ConsoleService.CancelCommand:input_type -> io.deephaven.proto.backplane.script.grpc.CancelCommandRequest - 17, // 69: io.deephaven.proto.backplane.script.grpc.ConsoleService.BindTableToVariable:input_type -> io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest - 21, // 70: io.deephaven.proto.backplane.script.grpc.ConsoleService.AutoCompleteStream:input_type -> io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest - 21, // 71: io.deephaven.proto.backplane.script.grpc.ConsoleService.OpenAutoCompleteStream:input_type -> io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest - 21, // 72: io.deephaven.proto.backplane.script.grpc.ConsoleService.NextAutoCompleteStream:input_type -> io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest - 8, // 73: io.deephaven.proto.backplane.script.grpc.ConsoleService.GetConsoleTypes:output_type -> io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse - 10, // 74: io.deephaven.proto.backplane.script.grpc.ConsoleService.StartConsole:output_type -> io.deephaven.proto.backplane.script.grpc.StartConsoleResponse - 12, // 75: io.deephaven.proto.backplane.script.grpc.ConsoleService.GetHeapInfo:output_type -> io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse - 14, // 76: io.deephaven.proto.backplane.script.grpc.ConsoleService.SubscribeToLogs:output_type -> io.deephaven.proto.backplane.script.grpc.LogSubscriptionData - 16, // 77: io.deephaven.proto.backplane.script.grpc.ConsoleService.ExecuteCommand:output_type -> io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse - 20, // 78: io.deephaven.proto.backplane.script.grpc.ConsoleService.CancelCommand:output_type -> io.deephaven.proto.backplane.script.grpc.CancelCommandResponse - 18, // 79: io.deephaven.proto.backplane.script.grpc.ConsoleService.BindTableToVariable:output_type -> io.deephaven.proto.backplane.script.grpc.BindTableToVariableResponse - 22, // 80: io.deephaven.proto.backplane.script.grpc.ConsoleService.AutoCompleteStream:output_type -> io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse - 22, // 81: io.deephaven.proto.backplane.script.grpc.ConsoleService.OpenAutoCompleteStream:output_type -> io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse - 23, // 82: io.deephaven.proto.backplane.script.grpc.ConsoleService.NextAutoCompleteStream:output_type -> io.deephaven.proto.backplane.script.grpc.BrowserNextResponse - 73, // [73:83] is the sub-list for method output_type - 63, // [63:73] is the sub-list for method input_type - 63, // [63:63] is the sub-list for extension type_name - 63, // [63:63] is the sub-list for extension extendee - 0, // [0:63] is the sub-list for field type_name + 69, // 0: io.deephaven.proto.backplane.script.grpc.StartConsoleRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 69, // 1: io.deephaven.proto.backplane.script.grpc.StartConsoleResponse.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 69, // 2: io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest.console_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 70, // 3: io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse.changes:type_name -> io.deephaven.proto.backplane.grpc.FieldsChangeUpdate + 69, // 4: io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.console_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 69, // 5: io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest.table_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 69, // 6: io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.console_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 69, // 7: io.deephaven.proto.backplane.script.grpc.CancelCommandRequest.command_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 69, // 8: io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest.console_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 69, // 9: io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.console_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 28, // 10: io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.open_document:type_name -> io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest + 31, // 11: io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.change_document:type_name -> io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest + 36, // 12: io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_completion_items:type_name -> io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest + 41, // 13: io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_signature_help:type_name -> io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest + 46, // 14: io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_hover:type_name -> io.deephaven.proto.backplane.script.grpc.GetHoverRequest + 48, // 15: io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.get_diagnostic:type_name -> io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest + 30, // 16: io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest.close_document:type_name -> io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest + 38, // 17: io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.completion_items:type_name -> io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse + 43, // 18: io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.signatures:type_name -> io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse + 47, // 19: io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.hover:type_name -> io.deephaven.proto.backplane.script.grpc.GetHoverResponse + 49, // 20: io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.diagnostic:type_name -> io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse + 50, // 21: io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse.diagnostic_publish:type_name -> io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse + 69, // 22: io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.console_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 29, // 23: io.deephaven.proto.backplane.script.grpc.OpenDocumentRequest.text_document:type_name -> io.deephaven.proto.backplane.script.grpc.TextDocumentItem + 69, // 24: io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.console_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 33, // 25: io.deephaven.proto.backplane.script.grpc.CloseDocumentRequest.text_document:type_name -> io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier + 69, // 26: io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.console_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 33, // 27: io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.text_document:type_name -> io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier + 53, // 28: io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.content_changes:type_name -> io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent + 34, // 29: io.deephaven.proto.backplane.script.grpc.DocumentRange.start:type_name -> io.deephaven.proto.backplane.script.grpc.Position + 34, // 30: io.deephaven.proto.backplane.script.grpc.DocumentRange.end:type_name -> io.deephaven.proto.backplane.script.grpc.Position + 69, // 31: io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.console_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 37, // 32: io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.context:type_name -> io.deephaven.proto.backplane.script.grpc.CompletionContext + 33, // 33: io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.text_document:type_name -> io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier + 34, // 34: io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequest.position:type_name -> io.deephaven.proto.backplane.script.grpc.Position + 39, // 35: io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponse.items:type_name -> io.deephaven.proto.backplane.script.grpc.CompletionItem + 40, // 36: io.deephaven.proto.backplane.script.grpc.CompletionItem.text_edit:type_name -> io.deephaven.proto.backplane.script.grpc.TextEdit + 40, // 37: io.deephaven.proto.backplane.script.grpc.CompletionItem.additional_text_edits:type_name -> io.deephaven.proto.backplane.script.grpc.TextEdit + 35, // 38: io.deephaven.proto.backplane.script.grpc.CompletionItem.documentation:type_name -> io.deephaven.proto.backplane.script.grpc.MarkupContent + 32, // 39: io.deephaven.proto.backplane.script.grpc.TextEdit.range:type_name -> io.deephaven.proto.backplane.script.grpc.DocumentRange + 42, // 40: io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.context:type_name -> io.deephaven.proto.backplane.script.grpc.SignatureHelpContext + 33, // 41: io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.text_document:type_name -> io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier + 34, // 42: io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequest.position:type_name -> io.deephaven.proto.backplane.script.grpc.Position + 43, // 43: io.deephaven.proto.backplane.script.grpc.SignatureHelpContext.active_signature_help:type_name -> io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse + 44, // 44: io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponse.signatures:type_name -> io.deephaven.proto.backplane.script.grpc.SignatureInformation + 35, // 45: io.deephaven.proto.backplane.script.grpc.SignatureInformation.documentation:type_name -> io.deephaven.proto.backplane.script.grpc.MarkupContent + 45, // 46: io.deephaven.proto.backplane.script.grpc.SignatureInformation.parameters:type_name -> io.deephaven.proto.backplane.script.grpc.ParameterInformation + 35, // 47: io.deephaven.proto.backplane.script.grpc.ParameterInformation.documentation:type_name -> io.deephaven.proto.backplane.script.grpc.MarkupContent + 33, // 48: io.deephaven.proto.backplane.script.grpc.GetHoverRequest.text_document:type_name -> io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier + 34, // 49: io.deephaven.proto.backplane.script.grpc.GetHoverRequest.position:type_name -> io.deephaven.proto.backplane.script.grpc.Position + 35, // 50: io.deephaven.proto.backplane.script.grpc.GetHoverResponse.contents:type_name -> io.deephaven.proto.backplane.script.grpc.MarkupContent + 32, // 51: io.deephaven.proto.backplane.script.grpc.GetHoverResponse.range:type_name -> io.deephaven.proto.backplane.script.grpc.DocumentRange + 33, // 52: io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequest.text_document:type_name -> io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier + 51, // 53: io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponse.items:type_name -> io.deephaven.proto.backplane.script.grpc.Diagnostic + 51, // 54: io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponse.diagnostics:type_name -> io.deephaven.proto.backplane.script.grpc.Diagnostic + 32, // 55: io.deephaven.proto.backplane.script.grpc.Diagnostic.range:type_name -> io.deephaven.proto.backplane.script.grpc.DocumentRange + 0, // 56: io.deephaven.proto.backplane.script.grpc.Diagnostic.severity:type_name -> io.deephaven.proto.backplane.script.grpc.Diagnostic.DiagnosticSeverity + 54, // 57: io.deephaven.proto.backplane.script.grpc.Diagnostic.code_description:type_name -> io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescription + 1, // 58: io.deephaven.proto.backplane.script.grpc.Diagnostic.tags:type_name -> io.deephaven.proto.backplane.script.grpc.Diagnostic.DiagnosticTag + 55, // 59: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.charts:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor + 32, // 60: io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent.range:type_name -> io.deephaven.proto.backplane.script.grpc.DocumentRange + 56, // 61: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor.series:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor + 57, // 62: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor.multi_series:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor + 61, // 63: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor.axes:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor + 4, // 64: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor.chart_type:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor.ChartType + 2, // 65: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor.plot_style:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesPlotStyle + 64, // 66: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor.data_sources:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptor + 2, // 67: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.plot_style:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesPlotStyle + 58, // 68: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.line_color:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault + 58, // 69: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.point_color:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault + 60, // 70: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.lines_visible:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault + 60, // 71: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.points_visible:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault + 60, // 72: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.gradient_visible:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault + 58, // 73: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.point_label_format:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault + 58, // 74: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.x_tool_tip_pattern:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault + 58, // 75: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.y_tool_tip_pattern:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault + 58, // 76: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.point_label:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault + 59, // 77: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.point_size:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.DoubleMapWithDefault + 58, // 78: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.point_shape:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault + 63, // 79: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor.data_sources:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesSourceDescriptor + 5, // 80: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.format_type:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisFormatType + 6, // 81: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.type:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisType + 7, // 82: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.position:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisPosition + 62, // 83: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.business_calendar_descriptor:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor + 8, // 84: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.business_days:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.DayOfWeek + 66, // 85: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.business_periods:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod + 67, // 86: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.holidays:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday + 3, // 87: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesSourceDescriptor.type:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceType + 3, // 88: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptor.type:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceType + 65, // 89: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptor.one_click:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.OneClickDescriptor + 68, // 90: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday.date:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.LocalDate + 66, // 91: io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday.business_periods:type_name -> io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod + 9, // 92: io.deephaven.proto.backplane.script.grpc.ConsoleService.GetConsoleTypes:input_type -> io.deephaven.proto.backplane.script.grpc.GetConsoleTypesRequest + 11, // 93: io.deephaven.proto.backplane.script.grpc.ConsoleService.StartConsole:input_type -> io.deephaven.proto.backplane.script.grpc.StartConsoleRequest + 13, // 94: io.deephaven.proto.backplane.script.grpc.ConsoleService.GetHeapInfo:input_type -> io.deephaven.proto.backplane.script.grpc.GetHeapInfoRequest + 15, // 95: io.deephaven.proto.backplane.script.grpc.ConsoleService.SubscribeToLogs:input_type -> io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest + 17, // 96: io.deephaven.proto.backplane.script.grpc.ConsoleService.ExecuteCommand:input_type -> io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest + 21, // 97: io.deephaven.proto.backplane.script.grpc.ConsoleService.CancelCommand:input_type -> io.deephaven.proto.backplane.script.grpc.CancelCommandRequest + 19, // 98: io.deephaven.proto.backplane.script.grpc.ConsoleService.BindTableToVariable:input_type -> io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest + 25, // 99: io.deephaven.proto.backplane.script.grpc.ConsoleService.AutoCompleteStream:input_type -> io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest + 23, // 100: io.deephaven.proto.backplane.script.grpc.ConsoleService.CancelAutoComplete:input_type -> io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest + 25, // 101: io.deephaven.proto.backplane.script.grpc.ConsoleService.OpenAutoCompleteStream:input_type -> io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest + 25, // 102: io.deephaven.proto.backplane.script.grpc.ConsoleService.NextAutoCompleteStream:input_type -> io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest + 10, // 103: io.deephaven.proto.backplane.script.grpc.ConsoleService.GetConsoleTypes:output_type -> io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse + 12, // 104: io.deephaven.proto.backplane.script.grpc.ConsoleService.StartConsole:output_type -> io.deephaven.proto.backplane.script.grpc.StartConsoleResponse + 14, // 105: io.deephaven.proto.backplane.script.grpc.ConsoleService.GetHeapInfo:output_type -> io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse + 16, // 106: io.deephaven.proto.backplane.script.grpc.ConsoleService.SubscribeToLogs:output_type -> io.deephaven.proto.backplane.script.grpc.LogSubscriptionData + 18, // 107: io.deephaven.proto.backplane.script.grpc.ConsoleService.ExecuteCommand:output_type -> io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse + 22, // 108: io.deephaven.proto.backplane.script.grpc.ConsoleService.CancelCommand:output_type -> io.deephaven.proto.backplane.script.grpc.CancelCommandResponse + 20, // 109: io.deephaven.proto.backplane.script.grpc.ConsoleService.BindTableToVariable:output_type -> io.deephaven.proto.backplane.script.grpc.BindTableToVariableResponse + 26, // 110: io.deephaven.proto.backplane.script.grpc.ConsoleService.AutoCompleteStream:output_type -> io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse + 24, // 111: io.deephaven.proto.backplane.script.grpc.ConsoleService.CancelAutoComplete:output_type -> io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteResponse + 26, // 112: io.deephaven.proto.backplane.script.grpc.ConsoleService.OpenAutoCompleteStream:output_type -> io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse + 27, // 113: io.deephaven.proto.backplane.script.grpc.ConsoleService.NextAutoCompleteStream:output_type -> io.deephaven.proto.backplane.script.grpc.BrowserNextResponse + 103, // [103:114] is the sub-list for method output_type + 92, // [92:103] is the sub-list for method input_type + 92, // [92:92] is the sub-list for extension type_name + 92, // [92:92] is the sub-list for extension extendee + 0, // [0:92] is the sub-list for field type_name } func init() { file_deephaven_proto_console_proto_init() } @@ -4957,7 +6458,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AutoCompleteRequest); i { + switch v := v.(*CancelAutoCompleteRequest); i { case 0: return &v.state case 1: @@ -4969,7 +6470,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AutoCompleteResponse); i { + switch v := v.(*CancelAutoCompleteResponse); i { case 0: return &v.state case 1: @@ -4981,7 +6482,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BrowserNextResponse); i { + switch v := v.(*AutoCompleteRequest); i { case 0: return &v.state case 1: @@ -4993,7 +6494,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OpenDocumentRequest); i { + switch v := v.(*AutoCompleteResponse); i { case 0: return &v.state case 1: @@ -5005,7 +6506,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TextDocumentItem); i { + switch v := v.(*BrowserNextResponse); i { case 0: return &v.state case 1: @@ -5017,7 +6518,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CloseDocumentRequest); i { + switch v := v.(*OpenDocumentRequest); i { case 0: return &v.state case 1: @@ -5029,7 +6530,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChangeDocumentRequest); i { + switch v := v.(*TextDocumentItem); i { case 0: return &v.state case 1: @@ -5041,7 +6542,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DocumentRange); i { + switch v := v.(*CloseDocumentRequest); i { case 0: return &v.state case 1: @@ -5053,7 +6554,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VersionedTextDocumentIdentifier); i { + switch v := v.(*ChangeDocumentRequest); i { case 0: return &v.state case 1: @@ -5065,7 +6566,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Position); i { + switch v := v.(*DocumentRange); i { case 0: return &v.state case 1: @@ -5077,7 +6578,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCompletionItemsRequest); i { + switch v := v.(*VersionedTextDocumentIdentifier); i { case 0: return &v.state case 1: @@ -5089,7 +6590,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompletionContext); i { + switch v := v.(*Position); i { case 0: return &v.state case 1: @@ -5101,7 +6602,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCompletionItemsResponse); i { + switch v := v.(*MarkupContent); i { case 0: return &v.state case 1: @@ -5113,7 +6614,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompletionItem); i { + switch v := v.(*GetCompletionItemsRequest); i { case 0: return &v.state case 1: @@ -5125,7 +6626,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TextEdit); i { + switch v := v.(*CompletionContext); i { case 0: return &v.state case 1: @@ -5137,7 +6638,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FigureDescriptor); i { + switch v := v.(*GetCompletionItemsResponse); i { case 0: return &v.state case 1: @@ -5149,7 +6650,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChangeDocumentRequest_TextDocumentContentChangeEvent); i { + switch v := v.(*CompletionItem); i { case 0: return &v.state case 1: @@ -5161,7 +6662,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FigureDescriptor_ChartDescriptor); i { + switch v := v.(*TextEdit); i { case 0: return &v.state case 1: @@ -5173,7 +6674,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FigureDescriptor_SeriesDescriptor); i { + switch v := v.(*GetSignatureHelpRequest); i { case 0: return &v.state case 1: @@ -5185,7 +6686,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FigureDescriptor_MultiSeriesDescriptor); i { + switch v := v.(*SignatureHelpContext); i { case 0: return &v.state case 1: @@ -5197,7 +6698,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FigureDescriptor_StringMapWithDefault); i { + switch v := v.(*GetSignatureHelpResponse); i { case 0: return &v.state case 1: @@ -5209,7 +6710,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FigureDescriptor_DoubleMapWithDefault); i { + switch v := v.(*SignatureInformation); i { case 0: return &v.state case 1: @@ -5221,7 +6722,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FigureDescriptor_BoolMapWithDefault); i { + switch v := v.(*ParameterInformation); i { case 0: return &v.state case 1: @@ -5233,7 +6734,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FigureDescriptor_AxisDescriptor); i { + switch v := v.(*GetHoverRequest); i { case 0: return &v.state case 1: @@ -5245,7 +6746,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FigureDescriptor_BusinessCalendarDescriptor); i { + switch v := v.(*GetHoverResponse); i { case 0: return &v.state case 1: @@ -5257,7 +6758,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FigureDescriptor_MultiSeriesSourceDescriptor); i { + switch v := v.(*GetDiagnosticRequest); i { case 0: return &v.state case 1: @@ -5269,7 +6770,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FigureDescriptor_SourceDescriptor); i { + switch v := v.(*GetPullDiagnosticResponse); i { case 0: return &v.state case 1: @@ -5281,7 +6782,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FigureDescriptor_OneClickDescriptor); i { + switch v := v.(*GetPublishDiagnosticResponse); i { case 0: return &v.state case 1: @@ -5293,7 +6794,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod); i { + switch v := v.(*Diagnostic); i { case 0: return &v.state case 1: @@ -5305,7 +6806,7 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FigureDescriptor_BusinessCalendarDescriptor_Holiday); i { + switch v := v.(*FigureDescriptor); i { case 0: return &v.state case 1: @@ -5317,6 +6818,186 @@ func file_deephaven_proto_console_proto_init() { } } file_deephaven_proto_console_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChangeDocumentRequest_TextDocumentContentChangeEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_console_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Diagnostic_CodeDescription); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_console_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FigureDescriptor_ChartDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_console_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FigureDescriptor_SeriesDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_console_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FigureDescriptor_MultiSeriesDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_console_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FigureDescriptor_StringMapWithDefault); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_console_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FigureDescriptor_DoubleMapWithDefault); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_console_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FigureDescriptor_BoolMapWithDefault); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_console_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FigureDescriptor_AxisDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_console_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FigureDescriptor_BusinessCalendarDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_console_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FigureDescriptor_MultiSeriesSourceDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_console_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FigureDescriptor_SourceDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_console_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FigureDescriptor_OneClickDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_console_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FigureDescriptor_BusinessCalendarDescriptor_BusinessPeriod); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_console_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FigureDescriptor_BusinessCalendarDescriptor_Holiday); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_console_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FigureDescriptor_BusinessCalendarDescriptor_LocalDate); i { case 0: return &v.state @@ -5329,29 +7010,43 @@ func file_deephaven_proto_console_proto_init() { } } } - file_deephaven_proto_console_proto_msgTypes[14].OneofWrappers = []interface{}{ + file_deephaven_proto_console_proto_msgTypes[16].OneofWrappers = []interface{}{ (*AutoCompleteRequest_OpenDocument)(nil), (*AutoCompleteRequest_ChangeDocument)(nil), (*AutoCompleteRequest_GetCompletionItems)(nil), + (*AutoCompleteRequest_GetSignatureHelp)(nil), + (*AutoCompleteRequest_GetHover)(nil), + (*AutoCompleteRequest_GetDiagnostic)(nil), (*AutoCompleteRequest_CloseDocument)(nil), } - file_deephaven_proto_console_proto_msgTypes[15].OneofWrappers = []interface{}{ + file_deephaven_proto_console_proto_msgTypes[17].OneofWrappers = []interface{}{ (*AutoCompleteResponse_CompletionItems)(nil), + (*AutoCompleteResponse_Signatures)(nil), + (*AutoCompleteResponse_Hover)(nil), + (*AutoCompleteResponse_Diagnostic)(nil), + (*AutoCompleteResponse_DiagnosticPublish)(nil), } - file_deephaven_proto_console_proto_msgTypes[29].OneofWrappers = []interface{}{} - file_deephaven_proto_console_proto_msgTypes[31].OneofWrappers = []interface{}{} - file_deephaven_proto_console_proto_msgTypes[32].OneofWrappers = []interface{}{} + file_deephaven_proto_console_proto_msgTypes[33].OneofWrappers = []interface{}{} file_deephaven_proto_console_proto_msgTypes[34].OneofWrappers = []interface{}{} file_deephaven_proto_console_proto_msgTypes[35].OneofWrappers = []interface{}{} - file_deephaven_proto_console_proto_msgTypes[36].OneofWrappers = []interface{}{} - file_deephaven_proto_console_proto_msgTypes[37].OneofWrappers = []interface{}{} + file_deephaven_proto_console_proto_msgTypes[39].OneofWrappers = []interface{}{} + file_deephaven_proto_console_proto_msgTypes[40].OneofWrappers = []interface{}{} + file_deephaven_proto_console_proto_msgTypes[41].OneofWrappers = []interface{}{} + file_deephaven_proto_console_proto_msgTypes[42].OneofWrappers = []interface{}{} + file_deephaven_proto_console_proto_msgTypes[43].OneofWrappers = []interface{}{} + file_deephaven_proto_console_proto_msgTypes[46].OneofWrappers = []interface{}{} + file_deephaven_proto_console_proto_msgTypes[47].OneofWrappers = []interface{}{} + file_deephaven_proto_console_proto_msgTypes[49].OneofWrappers = []interface{}{} + file_deephaven_proto_console_proto_msgTypes[50].OneofWrappers = []interface{}{} + file_deephaven_proto_console_proto_msgTypes[51].OneofWrappers = []interface{}{} + file_deephaven_proto_console_proto_msgTypes[52].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_deephaven_proto_console_proto_rawDesc, - NumEnums: 7, - NumMessages: 45, + NumEnums: 9, + NumMessages: 60, NumExtensions: 0, NumServices: 1, }, diff --git a/go/internal/proto/console/console_grpc.pb.go b/go/internal/proto/console/console_grpc.pb.go index bfe7b49d798..9ca4354940e 100644 --- a/go/internal/proto/console/console_grpc.pb.go +++ b/go/internal/proto/console/console_grpc.pb.go @@ -34,6 +34,7 @@ type ConsoleServiceClient interface { // be closed as well. A given document should only be edited within one stream at a // time. AutoCompleteStream(ctx context.Context, opts ...grpc.CallOption) (ConsoleService_AutoCompleteStreamClient, error) + CancelAutoComplete(ctx context.Context, in *CancelAutoCompleteRequest, opts ...grpc.CallOption) (*CancelAutoCompleteResponse, error) // Half of the browser-based (browser's can't do bidirectional streams without websockets) // implementation for AutoCompleteStream. OpenAutoCompleteStream(ctx context.Context, in *AutoCompleteRequest, opts ...grpc.CallOption) (ConsoleService_OpenAutoCompleteStreamClient, error) @@ -166,6 +167,15 @@ func (x *consoleServiceAutoCompleteStreamClient) Recv() (*AutoCompleteResponse, return m, nil } +func (c *consoleServiceClient) CancelAutoComplete(ctx context.Context, in *CancelAutoCompleteRequest, opts ...grpc.CallOption) (*CancelAutoCompleteResponse, error) { + out := new(CancelAutoCompleteResponse) + err := c.cc.Invoke(ctx, "/io.deephaven.proto.backplane.script.grpc.ConsoleService/CancelAutoComplete", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *consoleServiceClient) OpenAutoCompleteStream(ctx context.Context, in *AutoCompleteRequest, opts ...grpc.CallOption) (ConsoleService_OpenAutoCompleteStreamClient, error) { stream, err := c.cc.NewStream(ctx, &ConsoleService_ServiceDesc.Streams[2], "/io.deephaven.proto.backplane.script.grpc.ConsoleService/OpenAutoCompleteStream", opts...) if err != nil { @@ -223,6 +233,7 @@ type ConsoleServiceServer interface { // be closed as well. A given document should only be edited within one stream at a // time. AutoCompleteStream(ConsoleService_AutoCompleteStreamServer) error + CancelAutoComplete(context.Context, *CancelAutoCompleteRequest) (*CancelAutoCompleteResponse, error) // Half of the browser-based (browser's can't do bidirectional streams without websockets) // implementation for AutoCompleteStream. OpenAutoCompleteStream(*AutoCompleteRequest, ConsoleService_OpenAutoCompleteStreamServer) error @@ -259,6 +270,9 @@ func (UnimplementedConsoleServiceServer) BindTableToVariable(context.Context, *B func (UnimplementedConsoleServiceServer) AutoCompleteStream(ConsoleService_AutoCompleteStreamServer) error { return status.Errorf(codes.Unimplemented, "method AutoCompleteStream not implemented") } +func (UnimplementedConsoleServiceServer) CancelAutoComplete(context.Context, *CancelAutoCompleteRequest) (*CancelAutoCompleteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CancelAutoComplete not implemented") +} func (UnimplementedConsoleServiceServer) OpenAutoCompleteStream(*AutoCompleteRequest, ConsoleService_OpenAutoCompleteStreamServer) error { return status.Errorf(codes.Unimplemented, "method OpenAutoCompleteStream not implemented") } @@ -433,6 +447,24 @@ func (x *consoleServiceAutoCompleteStreamServer) Recv() (*AutoCompleteRequest, e return m, nil } +func _ConsoleService_CancelAutoComplete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CancelAutoCompleteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ConsoleServiceServer).CancelAutoComplete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/io.deephaven.proto.backplane.script.grpc.ConsoleService/CancelAutoComplete", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ConsoleServiceServer).CancelAutoComplete(ctx, req.(*CancelAutoCompleteRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _ConsoleService_OpenAutoCompleteStream_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(AutoCompleteRequest) if err := stream.RecvMsg(m); err != nil { @@ -503,6 +535,10 @@ var ConsoleService_ServiceDesc = grpc.ServiceDesc{ MethodName: "BindTableToVariable", Handler: _ConsoleService_BindTableToVariable_Handler, }, + { + MethodName: "CancelAutoComplete", + Handler: _ConsoleService_CancelAutoComplete_Handler, + }, { MethodName: "NextAutoCompleteStream", Handler: _ConsoleService_NextAutoCompleteStream_Handler, diff --git a/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/console.proto b/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/console.proto index a4be30d4f8f..fcf59bbbd66 100644 --- a/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/console.proto +++ b/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/console.proto @@ -34,6 +34,7 @@ service ConsoleService { * time. */ rpc AutoCompleteStream(stream AutoCompleteRequest) returns (stream AutoCompleteResponse) {} + rpc CancelAutoComplete(CancelAutoCompleteRequest) returns (CancelAutoCompleteResponse) {} /* * Half of the browser-based (browser's can't do bidirectional streams without websockets) @@ -125,7 +126,18 @@ message CancelCommandResponse { } +message CancelAutoCompleteRequest { + io.deephaven.proto.backplane.grpc.Ticket console_id = 1; + int32 request_id = 2; +} + +message CancelAutoCompleteResponse { + +} + message AutoCompleteRequest { + io.deephaven.proto.backplane.grpc.Ticket console_id = 5; + int32 request_id = 6; oneof request { // Starts a document in a given console - to end, just close the stream, the server will hang up right away OpenDocumentRequest open_document = 1; @@ -136,13 +148,28 @@ message AutoCompleteRequest { // Requests that a response be sent back with completion items GetCompletionItemsRequest get_completion_items = 3; + // Request for help about the method signature at the cursor + GetSignatureHelpRequest get_signature_help = 7; + + // Request for help about what the user is hovering over + GetHoverRequest get_hover = 8; + + // Request to perform file diagnostics + GetDiagnosticRequest get_diagnostic = 9; + // Closes the document, indicating that it will not be referenced again CloseDocumentRequest close_document = 4; } } message AutoCompleteResponse { + int32 request_id = 2; + bool success = 3; oneof response { GetCompletionItemsResponse completion_items = 1; + GetSignatureHelpResponse signatures = 4; + GetHoverResponse hover = 5; + GetPullDiagnosticResponse diagnostic = 6; + GetPublishDiagnosticResponse diagnostic_publish = 7; } } @@ -150,7 +177,7 @@ message BrowserNextResponse { } message OpenDocumentRequest { - io.deephaven.proto.backplane.grpc.Ticket console_id = 1; + io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated=true]; TextDocumentItem text_document = 2; } message TextDocumentItem { @@ -161,13 +188,13 @@ message TextDocumentItem { } message CloseDocumentRequest { - io.deephaven.proto.backplane.grpc.Ticket console_id = 1; - VersionedTextDocumentIdentifier text_document = 2;//TODO actually just uri? + io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated=true]; + VersionedTextDocumentIdentifier text_document = 2; } message ChangeDocumentRequest { - io.deephaven.proto.backplane.grpc.Ticket console_id = 1; - VersionedTextDocumentIdentifier text_document = 2;//TODO actually just uri? + io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated=true]; + VersionedTextDocumentIdentifier text_document = 2; repeated TextDocumentContentChangeEvent content_changes = 3; message TextDocumentContentChangeEvent { @@ -189,14 +216,19 @@ message Position { int32 character = 2; } +message MarkupContent { + string kind = 1; + string value = 2; +} + message GetCompletionItemsRequest { - io.deephaven.proto.backplane.grpc.Ticket console_id = 1; + io.deephaven.proto.backplane.grpc.Ticket console_id = 1 [deprecated=true]; CompletionContext context = 2; VersionedTextDocumentIdentifier text_document = 3; Position position = 4; - int32 request_id = 5; + int32 request_id = 5 [deprecated=true]; } message CompletionContext { int32 trigger_kind = 1; @@ -205,8 +237,10 @@ message CompletionContext { message GetCompletionItemsResponse { repeated CompletionItem items = 1; - int32 request_id = 2; - bool success = 3; + // Maintained for backwards compatibility. Use the same field on AutoCompleteResponse instead + int32 request_id = 2 [deprecated=true]; + // Maintained for backwards compatibility. Use the same field on AutoCompleteResponse instead + bool success = 3 [deprecated=true]; } message CompletionItem { int32 start = 1; @@ -214,7 +248,7 @@ message CompletionItem { string label = 3; int32 kind = 4; string detail = 5; - string documentation = 6; + reserved 6; // Old documentation as a string. Was never used by us bool deprecated = 7; bool preselect = 8; TextEdit text_edit = 9; @@ -223,12 +257,100 @@ message CompletionItem { int32 insert_text_format = 12; repeated TextEdit additional_text_edits = 13; repeated string commit_characters = 14; + MarkupContent documentation = 15; } message TextEdit { DocumentRange range = 1; string text = 2; } +message GetSignatureHelpRequest { + SignatureHelpContext context = 1; + VersionedTextDocumentIdentifier text_document = 2; + Position position = 3; +} +message SignatureHelpContext { + int32 trigger_kind = 1; + optional string trigger_character = 2; + bool is_retrigger = 3; + GetSignatureHelpResponse active_signature_help = 4; +} + +message GetSignatureHelpResponse { + repeated SignatureInformation signatures = 1; + optional int32 active_signature = 2; + optional int32 active_parameter = 3; +} + +message SignatureInformation { + string label = 1; + MarkupContent documentation = 2; + repeated ParameterInformation parameters = 3; + optional int32 active_parameter = 4; +} + +message ParameterInformation { + string label = 1; + MarkupContent documentation = 2; +} + +message GetHoverRequest { + VersionedTextDocumentIdentifier text_document = 1; + Position position = 2; +} + +message GetHoverResponse { + MarkupContent contents = 1; + DocumentRange range = 2; +} + +message GetDiagnosticRequest { + VersionedTextDocumentIdentifier text_document = 1; + optional string identifier = 2; + optional string previous_result_id = 3; +} + +message GetPullDiagnosticResponse { + string kind = 1; + optional string result_id = 2; + repeated Diagnostic items = 3; +} + +message GetPublishDiagnosticResponse { + string uri = 1; + optional int32 version = 2; + repeated Diagnostic diagnostics = 3; +} + +message Diagnostic { + enum DiagnosticSeverity { + NOT_SET_SEVERITY = 0; + ERROR = 1; + WARNING = 2; + INFORMATION = 3; + HINT = 4; + } + + enum DiagnosticTag { + NOT_SET_TAG = 0; + UNNECESSARY = 1; + DEPRECATED = 2; + } + + message CodeDescription { + string href = 1; + } + + DocumentRange range = 1; + DiagnosticSeverity severity = 2; + optional string code = 3; + optional CodeDescription code_description = 4; + optional string source = 5; + string message = 6; + repeated DiagnosticTag tags = 7; + optional bytes data = 9; +} + message FigureDescriptor { optional string title = 1; string title_font = 2; diff --git a/py/client/pydeephaven/proto/console_pb2.py b/py/client/pydeephaven/proto/console_pb2.py index 665db1b815f..18b6880e6fb 100644 --- a/py/client/pydeephaven/proto/console_pb2.py +++ b/py/client/pydeephaven/proto/console_pb2.py @@ -15,7 +15,7 @@ from pydeephaven.proto import application_pb2 as deephaven_dot_proto_dot_application__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x64\x65\x65phaven/proto/console.proto\x12(io.deephaven.proto.backplane.script.grpc\x1a\x1c\x64\x65\x65phaven/proto/ticket.proto\x1a!deephaven/proto/application.proto\"\x18\n\x16GetConsoleTypesRequest\"0\n\x17GetConsoleTypesResponse\x12\x15\n\rconsole_types\x18\x01 \x03(\t\"i\n\x13StartConsoleRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x14\n\x0csession_type\x18\x02 \x01(\t\"T\n\x14StartConsoleResponse\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\x14\n\x12GetHeapInfoRequest\"`\n\x13GetHeapInfoResponse\x12\x16\n\nmax_memory\x18\x01 \x01(\x03\x42\x02\x30\x01\x12\x18\n\x0ctotal_memory\x18\x02 \x01(\x03\x42\x02\x30\x01\x12\x17\n\x0b\x66ree_memory\x18\x03 \x01(\x03\x42\x02\x30\x01\"M\n\x16LogSubscriptionRequest\x12#\n\x17last_seen_log_timestamp\x18\x01 \x01(\x03\x42\x02\x30\x01\x12\x0e\n\x06levels\x18\x02 \x03(\t\"S\n\x13LogSubscriptionData\x12\x12\n\x06micros\x18\x01 \x01(\x03\x42\x02\x30\x01\x12\x11\n\tlog_level\x18\x02 \x01(\t\x12\x0f\n\x07message\x18\x03 \x01(\tJ\x04\x08\x04\x10\x05\"j\n\x15\x45xecuteCommandRequest\x12=\n\nconsole_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x0c\n\x04\x63ode\x18\x03 \x01(\tJ\x04\x08\x02\x10\x03\"w\n\x16\x45xecuteCommandResponse\x12\x15\n\rerror_message\x18\x01 \x01(\t\x12\x46\n\x07\x63hanges\x18\x02 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.FieldsChangeUpdate\"\xb5\x01\n\x1a\x42indTableToVariableRequest\x12=\n\nconsole_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x15\n\rvariable_name\x18\x03 \x01(\t\x12;\n\x08table_id\x18\x04 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.TicketJ\x04\x08\x02\x10\x03\"\x1d\n\x1b\x42indTableToVariableResponse\"\x94\x01\n\x14\x43\x61ncelCommandRequest\x12=\n\nconsole_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12=\n\ncommand_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\x17\n\x15\x43\x61ncelCommandResponse\"\x93\x03\n\x13\x41utoCompleteRequest\x12V\n\ropen_document\x18\x01 \x01(\x0b\x32=.io.deephaven.proto.backplane.script.grpc.OpenDocumentRequestH\x00\x12Z\n\x0f\x63hange_document\x18\x02 \x01(\x0b\x32?.io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequestH\x00\x12\x63\n\x14get_completion_items\x18\x03 \x01(\x0b\x32\x43.io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequestH\x00\x12X\n\x0e\x63lose_document\x18\x04 \x01(\x0b\x32>.io.deephaven.proto.backplane.script.grpc.CloseDocumentRequestH\x00\x42\t\n\x07request\"\x84\x01\n\x14\x41utoCompleteResponse\x12`\n\x10\x63ompletion_items\x18\x01 \x01(\x0b\x32\x44.io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponseH\x00\x42\n\n\x08response\"\x15\n\x13\x42rowserNextResponse\"\xa7\x01\n\x13OpenDocumentRequest\x12=\n\nconsole_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12Q\n\rtext_document\x18\x02 \x01(\x0b\x32:.io.deephaven.proto.backplane.script.grpc.TextDocumentItem\"S\n\x10TextDocumentItem\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x13\n\x0blanguage_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x05\x12\x0c\n\x04text\x18\x04 \x01(\t\"\xb7\x01\n\x14\x43loseDocumentRequest\x12=\n\nconsole_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12`\n\rtext_document\x18\x02 \x01(\x0b\x32I.io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier\"\xc0\x03\n\x15\x43hangeDocumentRequest\x12=\n\nconsole_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12`\n\rtext_document\x18\x02 \x01(\x0b\x32I.io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier\x12w\n\x0f\x63ontent_changes\x18\x03 \x03(\x0b\x32^.io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent\x1a\x8c\x01\n\x1eTextDocumentContentChangeEvent\x12\x46\n\x05range\x18\x01 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.script.grpc.DocumentRange\x12\x14\n\x0crange_length\x18\x02 \x01(\x05\x12\x0c\n\x04text\x18\x03 \x01(\t\"\x93\x01\n\rDocumentRange\x12\x41\n\x05start\x18\x01 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.script.grpc.Position\x12?\n\x03\x65nd\x18\x02 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.script.grpc.Position\"?\n\x1fVersionedTextDocumentIdentifier\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x05\"+\n\x08Position\x12\x0c\n\x04line\x18\x01 \x01(\x05\x12\x11\n\tcharacter\x18\x02 \x01(\x05\"\xe4\x02\n\x19GetCompletionItemsRequest\x12=\n\nconsole_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12L\n\x07\x63ontext\x18\x02 \x01(\x0b\x32;.io.deephaven.proto.backplane.script.grpc.CompletionContext\x12`\n\rtext_document\x18\x03 \x01(\x0b\x32I.io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier\x12\x44\n\x08position\x18\x04 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.script.grpc.Position\x12\x12\n\nrequest_id\x18\x05 \x01(\x05\"D\n\x11\x43ompletionContext\x12\x14\n\x0ctrigger_kind\x18\x01 \x01(\x05\x12\x19\n\x11trigger_character\x18\x02 \x01(\t\"\x8a\x01\n\x1aGetCompletionItemsResponse\x12G\n\x05items\x18\x01 \x03(\x0b\x32\x38.io.deephaven.proto.backplane.script.grpc.CompletionItem\x12\x12\n\nrequest_id\x18\x02 \x01(\x05\x12\x0f\n\x07success\x18\x03 \x01(\x08\"\x93\x03\n\x0e\x43ompletionItem\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0e\n\x06length\x18\x02 \x01(\x05\x12\r\n\x05label\x18\x03 \x01(\t\x12\x0c\n\x04kind\x18\x04 \x01(\x05\x12\x0e\n\x06\x64\x65tail\x18\x05 \x01(\t\x12\x15\n\rdocumentation\x18\x06 \x01(\t\x12\x12\n\ndeprecated\x18\x07 \x01(\x08\x12\x11\n\tpreselect\x18\x08 \x01(\x08\x12\x45\n\ttext_edit\x18\t \x01(\x0b\x32\x32.io.deephaven.proto.backplane.script.grpc.TextEdit\x12\x11\n\tsort_text\x18\n \x01(\t\x12\x13\n\x0b\x66ilter_text\x18\x0b \x01(\t\x12\x1a\n\x12insert_text_format\x18\x0c \x01(\x05\x12Q\n\x15\x61\x64\x64itional_text_edits\x18\r \x03(\x0b\x32\x32.io.deephaven.proto.backplane.script.grpc.TextEdit\x12\x19\n\x11\x63ommit_characters\x18\x0e \x03(\t\"`\n\x08TextEdit\x12\x46\n\x05range\x18\x01 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.script.grpc.DocumentRange\x12\x0c\n\x04text\x18\x02 \x01(\t\"\xe6\x30\n\x10\x46igureDescriptor\x12\x12\n\x05title\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\ntitle_font\x18\x02 \x01(\t\x12\x13\n\x0btitle_color\x18\x03 \x01(\t\x12\x1b\n\x0fupdate_interval\x18\x07 \x01(\x03\x42\x02\x30\x01\x12\x0c\n\x04\x63ols\x18\x08 \x01(\x05\x12\x0c\n\x04rows\x18\t \x01(\x05\x12Z\n\x06\x63harts\x18\n \x03(\x0b\x32J.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor\x12\x0e\n\x06\x65rrors\x18\r \x03(\t\x1a\xce\x05\n\x0f\x43hartDescriptor\x12\x0f\n\x07\x63olspan\x18\x01 \x01(\x05\x12\x0f\n\x07rowspan\x18\x02 \x01(\x05\x12[\n\x06series\x18\x03 \x03(\x0b\x32K.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor\x12\x66\n\x0cmulti_series\x18\x04 \x03(\x0b\x32P.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor\x12W\n\x04\x61xes\x18\x05 \x03(\x0b\x32I.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor\x12h\n\nchart_type\x18\x06 \x01(\x0e\x32T.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor.ChartType\x12\x12\n\x05title\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x12\n\ntitle_font\x18\x08 \x01(\t\x12\x13\n\x0btitle_color\x18\t \x01(\t\x12\x13\n\x0bshow_legend\x18\n \x01(\x08\x12\x13\n\x0blegend_font\x18\x0b \x01(\t\x12\x14\n\x0clegend_color\x18\x0c \x01(\t\x12\x0c\n\x04is3d\x18\r \x01(\x08\x12\x0e\n\x06\x63olumn\x18\x0e \x01(\x05\x12\x0b\n\x03row\x18\x0f \x01(\x05\"_\n\tChartType\x12\x06\n\x02XY\x10\x00\x12\x07\n\x03PIE\x10\x01\x12\x0c\n\x04OHLC\x10\x02\x1a\x02\x08\x01\x12\x0c\n\x08\x43\x41TEGORY\x10\x03\x12\x07\n\x03XYZ\x10\x04\x12\x0f\n\x0b\x43\x41TEGORY_3D\x10\x05\x12\x0b\n\x07TREEMAP\x10\x06\x42\x08\n\x06_title\x1a\xfe\x04\n\x10SeriesDescriptor\x12^\n\nplot_style\x18\x01 \x01(\x0e\x32J.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesPlotStyle\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x1a\n\rlines_visible\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0eshapes_visible\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x18\n\x10gradient_visible\x18\x05 \x01(\x08\x12\x12\n\nline_color\x18\x06 \x01(\t\x12\x1f\n\x12point_label_format\x18\x08 \x01(\tH\x02\x88\x01\x01\x12\x1f\n\x12x_tool_tip_pattern\x18\t \x01(\tH\x03\x88\x01\x01\x12\x1f\n\x12y_tool_tip_pattern\x18\n \x01(\tH\x04\x88\x01\x01\x12\x13\n\x0bshape_label\x18\x0b \x01(\t\x12\x17\n\nshape_size\x18\x0c \x01(\x01H\x05\x88\x01\x01\x12\x13\n\x0bshape_color\x18\r \x01(\t\x12\r\n\x05shape\x18\x0e \x01(\t\x12\x61\n\x0c\x64\x61ta_sources\x18\x0f \x03(\x0b\x32K.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptorB\x10\n\x0e_lines_visibleB\x11\n\x0f_shapes_visibleB\x15\n\x13_point_label_formatB\x15\n\x13_x_tool_tip_patternB\x15\n\x13_y_tool_tip_patternB\r\n\x0b_shape_sizeJ\x04\x08\x07\x10\x08\x1a\xec\n\n\x15MultiSeriesDescriptor\x12^\n\nplot_style\x18\x01 \x01(\x0e\x32J.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesPlotStyle\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x63\n\nline_color\x18\x03 \x01(\x0b\x32O.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault\x12\x64\n\x0bpoint_color\x18\x04 \x01(\x0b\x32O.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault\x12\x64\n\rlines_visible\x18\x05 \x01(\x0b\x32M.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault\x12\x65\n\x0epoints_visible\x18\x06 \x01(\x0b\x32M.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault\x12g\n\x10gradient_visible\x18\x07 \x01(\x0b\x32M.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault\x12k\n\x12point_label_format\x18\x08 \x01(\x0b\x32O.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault\x12k\n\x12x_tool_tip_pattern\x18\t \x01(\x0b\x32O.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault\x12k\n\x12y_tool_tip_pattern\x18\n \x01(\x0b\x32O.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault\x12\x64\n\x0bpoint_label\x18\x0b \x01(\x0b\x32O.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault\x12\x63\n\npoint_size\x18\x0c \x01(\x0b\x32O.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.DoubleMapWithDefault\x12\x64\n\x0bpoint_shape\x18\r \x01(\x0b\x32O.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault\x12l\n\x0c\x64\x61ta_sources\x18\x0e \x03(\x0b\x32V.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesSourceDescriptor\x1a\x64\n\x14StringMapWithDefault\x12\x1b\n\x0e\x64\x65\x66\x61ult_string\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0c\n\x04keys\x18\x02 \x03(\t\x12\x0e\n\x06values\x18\x03 \x03(\tB\x11\n\x0f_default_string\x1a\x64\n\x14\x44oubleMapWithDefault\x12\x1b\n\x0e\x64\x65\x66\x61ult_double\x18\x01 \x01(\x01H\x00\x88\x01\x01\x12\x0c\n\x04keys\x18\x02 \x03(\t\x12\x0e\n\x06values\x18\x03 \x03(\x01\x42\x11\n\x0f_default_double\x1a^\n\x12\x42oolMapWithDefault\x12\x19\n\x0c\x64\x65\x66\x61ult_bool\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x0c\n\x04keys\x18\x02 \x03(\t\x12\x0e\n\x06values\x18\x03 \x03(\x08\x42\x0f\n\r_default_bool\x1a\xa6\x08\n\x0e\x41xisDescriptor\x12\n\n\x02id\x18\x01 \x01(\t\x12m\n\x0b\x66ormat_type\x18\x02 \x01(\x0e\x32X.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisFormatType\x12`\n\x04type\x18\x03 \x01(\x0e\x32R.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisType\x12h\n\x08position\x18\x04 \x01(\x0e\x32V.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisPosition\x12\x0b\n\x03log\x18\x05 \x01(\x08\x12\r\n\x05label\x18\x06 \x01(\t\x12\x12\n\nlabel_font\x18\x07 \x01(\t\x12\x12\n\nticks_font\x18\x08 \x01(\t\x12\x1b\n\x0e\x66ormat_pattern\x18\t \x01(\tH\x00\x88\x01\x01\x12\r\n\x05\x63olor\x18\n \x01(\t\x12\x11\n\tmin_range\x18\x0b \x01(\x01\x12\x11\n\tmax_range\x18\x0c \x01(\x01\x12\x1b\n\x13minor_ticks_visible\x18\r \x01(\x08\x12\x1b\n\x13major_ticks_visible\x18\x0e \x01(\x08\x12\x18\n\x10minor_tick_count\x18\x0f \x01(\x05\x12$\n\x17gap_between_major_ticks\x18\x10 \x01(\x01H\x01\x88\x01\x01\x12\x1c\n\x14major_tick_locations\x18\x11 \x03(\x01\x12\x18\n\x10tick_label_angle\x18\x12 \x01(\x01\x12\x0e\n\x06invert\x18\x13 \x01(\x08\x12\x14\n\x0cis_time_axis\x18\x14 \x01(\x08\x12{\n\x1c\x62usiness_calendar_descriptor\x18\x15 \x01(\x0b\x32U.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor\"*\n\x0e\x41xisFormatType\x12\x0c\n\x08\x43\x41TEGORY\x10\x00\x12\n\n\x06NUMBER\x10\x01\"C\n\x08\x41xisType\x12\x05\n\x01X\x10\x00\x12\x05\n\x01Y\x10\x01\x12\t\n\x05SHAPE\x10\x02\x12\x08\n\x04SIZE\x10\x03\x12\t\n\x05LABEL\x10\x04\x12\t\n\x05\x43OLOR\x10\x05\"B\n\x0c\x41xisPosition\x12\x07\n\x03TOP\x10\x00\x12\n\n\x06\x42OTTOM\x10\x01\x12\x08\n\x04LEFT\x10\x02\x12\t\n\x05RIGHT\x10\x03\x12\x08\n\x04NONE\x10\x04\x42\x11\n\x0f_format_patternB\x1a\n\x18_gap_between_major_ticks\x1a\xf0\x06\n\x1a\x42usinessCalendarDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttime_zone\x18\x02 \x01(\t\x12v\n\rbusiness_days\x18\x03 \x03(\x0e\x32_.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.DayOfWeek\x12~\n\x10\x62usiness_periods\x18\x04 \x03(\x0b\x32\x64.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod\x12o\n\x08holidays\x18\x05 \x03(\x0b\x32].io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday\x1a-\n\x0e\x42usinessPeriod\x12\x0c\n\x04open\x18\x01 \x01(\t\x12\r\n\x05\x63lose\x18\x02 \x01(\t\x1a\xf8\x01\n\x07Holiday\x12m\n\x04\x64\x61te\x18\x01 \x01(\x0b\x32_.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.LocalDate\x12~\n\x10\x62usiness_periods\x18\x02 \x03(\x0b\x32\x64.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod\x1a\x35\n\tLocalDate\x12\x0c\n\x04year\x18\x01 \x01(\x05\x12\r\n\x05month\x18\x02 \x01(\x05\x12\x0b\n\x03\x64\x61y\x18\x03 \x01(\x05\"g\n\tDayOfWeek\x12\n\n\x06SUNDAY\x10\x00\x12\n\n\x06MONDAY\x10\x01\x12\x0b\n\x07TUESDAY\x10\x02\x12\r\n\tWEDNESDAY\x10\x03\x12\x0c\n\x08THURSDAY\x10\x04\x12\n\n\x06\x46RIDAY\x10\x05\x12\x0c\n\x08SATURDAY\x10\x06\x1a\xb6\x01\n\x1bMultiSeriesSourceDescriptor\x12\x0f\n\x07\x61xis_id\x18\x01 \x01(\t\x12S\n\x04type\x18\x02 \x01(\x0e\x32\x45.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceType\x12\x1c\n\x14partitioned_table_id\x18\x03 \x01(\x05\x12\x13\n\x0b\x63olumn_name\x18\x04 \x01(\t\x1a\xb4\x02\n\x10SourceDescriptor\x12\x0f\n\x07\x61xis_id\x18\x01 \x01(\t\x12S\n\x04type\x18\x02 \x01(\x0e\x32\x45.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceType\x12\x10\n\x08table_id\x18\x03 \x01(\x05\x12\x1c\n\x14partitioned_table_id\x18\x04 \x01(\x05\x12\x13\n\x0b\x63olumn_name\x18\x05 \x01(\t\x12\x13\n\x0b\x63olumn_type\x18\x06 \x01(\t\x12`\n\tone_click\x18\x07 \x01(\x0b\x32M.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.OneClickDescriptor\x1a\x63\n\x12OneClickDescriptor\x12\x0f\n\x07\x63olumns\x18\x01 \x03(\t\x12\x14\n\x0c\x63olumn_types\x18\x02 \x03(\t\x12&\n\x1erequire_all_filters_to_display\x18\x03 \x01(\x08\"\xa6\x01\n\x0fSeriesPlotStyle\x12\x07\n\x03\x42\x41R\x10\x00\x12\x0f\n\x0bSTACKED_BAR\x10\x01\x12\x08\n\x04LINE\x10\x02\x12\x08\n\x04\x41REA\x10\x03\x12\x10\n\x0cSTACKED_AREA\x10\x04\x12\x07\n\x03PIE\x10\x05\x12\r\n\tHISTOGRAM\x10\x06\x12\x08\n\x04OHLC\x10\x07\x12\x0b\n\x07SCATTER\x10\x08\x12\x08\n\x04STEP\x10\t\x12\r\n\tERROR_BAR\x10\n\x12\x0b\n\x07TREEMAP\x10\x0b\"\xd2\x01\n\nSourceType\x12\x05\n\x01X\x10\x00\x12\x05\n\x01Y\x10\x01\x12\x05\n\x01Z\x10\x02\x12\t\n\x05X_LOW\x10\x03\x12\n\n\x06X_HIGH\x10\x04\x12\t\n\x05Y_LOW\x10\x05\x12\n\n\x06Y_HIGH\x10\x06\x12\x08\n\x04TIME\x10\x07\x12\x08\n\x04OPEN\x10\x08\x12\x08\n\x04HIGH\x10\t\x12\x07\n\x03LOW\x10\n\x12\t\n\x05\x43LOSE\x10\x0b\x12\t\n\x05SHAPE\x10\x0c\x12\x08\n\x04SIZE\x10\r\x12\t\n\x05LABEL\x10\x0e\x12\t\n\x05\x43OLOR\x10\x0f\x12\n\n\x06PARENT\x10\x10\x12\x0e\n\nHOVER_TEXT\x10\x11\x12\x08\n\x04TEXT\x10\x12\x42\x08\n\x06_titleJ\x04\x08\x0b\x10\x0cJ\x04\x08\x0c\x10\r2\x8e\x0c\n\x0e\x43onsoleService\x12\x98\x01\n\x0fGetConsoleTypes\x12@.io.deephaven.proto.backplane.script.grpc.GetConsoleTypesRequest\x1a\x41.io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse\"\x00\x12\x8f\x01\n\x0cStartConsole\x12=.io.deephaven.proto.backplane.script.grpc.StartConsoleRequest\x1a>.io.deephaven.proto.backplane.script.grpc.StartConsoleResponse\"\x00\x12\x8c\x01\n\x0bGetHeapInfo\x12<.io.deephaven.proto.backplane.script.grpc.GetHeapInfoRequest\x1a=.io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse\"\x00\x12\x96\x01\n\x0fSubscribeToLogs\x12@.io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest\x1a=.io.deephaven.proto.backplane.script.grpc.LogSubscriptionData\"\x00\x30\x01\x12\x95\x01\n\x0e\x45xecuteCommand\x12?.io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest\x1a@.io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse\"\x00\x12\x92\x01\n\rCancelCommand\x12>.io.deephaven.proto.backplane.script.grpc.CancelCommandRequest\x1a?.io.deephaven.proto.backplane.script.grpc.CancelCommandResponse\"\x00\x12\xa4\x01\n\x13\x42indTableToVariable\x12\x44.io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest\x1a\x45.io.deephaven.proto.backplane.script.grpc.BindTableToVariableResponse\"\x00\x12\x99\x01\n\x12\x41utoCompleteStream\x12=.io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest\x1a>.io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse\"\x00(\x01\x30\x01\x12\x9b\x01\n\x16OpenAutoCompleteStream\x12=.io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest\x1a>.io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse\"\x00\x30\x01\x12\x98\x01\n\x16NextAutoCompleteStream\x12=.io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest\x1a=.io.deephaven.proto.backplane.script.grpc.BrowserNextResponse\"\x00\x42\x43H\x01P\x01Z=github.com/deephaven/deephaven-core/go/internal/proto/consoleb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1d\x64\x65\x65phaven/proto/console.proto\x12(io.deephaven.proto.backplane.script.grpc\x1a\x1c\x64\x65\x65phaven/proto/ticket.proto\x1a!deephaven/proto/application.proto\"\x18\n\x16GetConsoleTypesRequest\"0\n\x17GetConsoleTypesResponse\x12\x15\n\rconsole_types\x18\x01 \x03(\t\"i\n\x13StartConsoleRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x14\n\x0csession_type\x18\x02 \x01(\t\"T\n\x14StartConsoleResponse\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\x14\n\x12GetHeapInfoRequest\"`\n\x13GetHeapInfoResponse\x12\x16\n\nmax_memory\x18\x01 \x01(\x03\x42\x02\x30\x01\x12\x18\n\x0ctotal_memory\x18\x02 \x01(\x03\x42\x02\x30\x01\x12\x17\n\x0b\x66ree_memory\x18\x03 \x01(\x03\x42\x02\x30\x01\"M\n\x16LogSubscriptionRequest\x12#\n\x17last_seen_log_timestamp\x18\x01 \x01(\x03\x42\x02\x30\x01\x12\x0e\n\x06levels\x18\x02 \x03(\t\"S\n\x13LogSubscriptionData\x12\x12\n\x06micros\x18\x01 \x01(\x03\x42\x02\x30\x01\x12\x11\n\tlog_level\x18\x02 \x01(\t\x12\x0f\n\x07message\x18\x03 \x01(\tJ\x04\x08\x04\x10\x05\"j\n\x15\x45xecuteCommandRequest\x12=\n\nconsole_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x0c\n\x04\x63ode\x18\x03 \x01(\tJ\x04\x08\x02\x10\x03\"w\n\x16\x45xecuteCommandResponse\x12\x15\n\rerror_message\x18\x01 \x01(\t\x12\x46\n\x07\x63hanges\x18\x02 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.FieldsChangeUpdate\"\xb5\x01\n\x1a\x42indTableToVariableRequest\x12=\n\nconsole_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x15\n\rvariable_name\x18\x03 \x01(\t\x12;\n\x08table_id\x18\x04 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.TicketJ\x04\x08\x02\x10\x03\"\x1d\n\x1b\x42indTableToVariableResponse\"\x94\x01\n\x14\x43\x61ncelCommandRequest\x12=\n\nconsole_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12=\n\ncommand_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\x17\n\x15\x43\x61ncelCommandResponse\"n\n\x19\x43\x61ncelAutoCompleteRequest\x12=\n\nconsole_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x12\n\nrequest_id\x18\x02 \x01(\x05\"\x1c\n\x1a\x43\x61ncelAutoCompleteResponse\"\xf1\x05\n\x13\x41utoCompleteRequest\x12=\n\nconsole_id\x18\x05 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x12\n\nrequest_id\x18\x06 \x01(\x05\x12V\n\ropen_document\x18\x01 \x01(\x0b\x32=.io.deephaven.proto.backplane.script.grpc.OpenDocumentRequestH\x00\x12Z\n\x0f\x63hange_document\x18\x02 \x01(\x0b\x32?.io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequestH\x00\x12\x63\n\x14get_completion_items\x18\x03 \x01(\x0b\x32\x43.io.deephaven.proto.backplane.script.grpc.GetCompletionItemsRequestH\x00\x12_\n\x12get_signature_help\x18\x07 \x01(\x0b\x32\x41.io.deephaven.proto.backplane.script.grpc.GetSignatureHelpRequestH\x00\x12N\n\tget_hover\x18\x08 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.script.grpc.GetHoverRequestH\x00\x12X\n\x0eget_diagnostic\x18\t \x01(\x0b\x32>.io.deephaven.proto.backplane.script.grpc.GetDiagnosticRequestH\x00\x12X\n\x0e\x63lose_document\x18\x04 \x01(\x0b\x32>.io.deephaven.proto.backplane.script.grpc.CloseDocumentRequestH\x00\x42\t\n\x07request\"\x91\x04\n\x14\x41utoCompleteResponse\x12\x12\n\nrequest_id\x18\x02 \x01(\x05\x12\x0f\n\x07success\x18\x03 \x01(\x08\x12`\n\x10\x63ompletion_items\x18\x01 \x01(\x0b\x32\x44.io.deephaven.proto.backplane.script.grpc.GetCompletionItemsResponseH\x00\x12X\n\nsignatures\x18\x04 \x01(\x0b\x32\x42.io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponseH\x00\x12K\n\x05hover\x18\x05 \x01(\x0b\x32:.io.deephaven.proto.backplane.script.grpc.GetHoverResponseH\x00\x12Y\n\ndiagnostic\x18\x06 \x01(\x0b\x32\x43.io.deephaven.proto.backplane.script.grpc.GetPullDiagnosticResponseH\x00\x12\x64\n\x12\x64iagnostic_publish\x18\x07 \x01(\x0b\x32\x46.io.deephaven.proto.backplane.script.grpc.GetPublishDiagnosticResponseH\x00\x42\n\n\x08response\"\x15\n\x13\x42rowserNextResponse\"\xab\x01\n\x13OpenDocumentRequest\x12\x41\n\nconsole_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.TicketB\x02\x18\x01\x12Q\n\rtext_document\x18\x02 \x01(\x0b\x32:.io.deephaven.proto.backplane.script.grpc.TextDocumentItem\"S\n\x10TextDocumentItem\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x13\n\x0blanguage_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x05\x12\x0c\n\x04text\x18\x04 \x01(\t\"\xbb\x01\n\x14\x43loseDocumentRequest\x12\x41\n\nconsole_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.TicketB\x02\x18\x01\x12`\n\rtext_document\x18\x02 \x01(\x0b\x32I.io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier\"\xc4\x03\n\x15\x43hangeDocumentRequest\x12\x41\n\nconsole_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.TicketB\x02\x18\x01\x12`\n\rtext_document\x18\x02 \x01(\x0b\x32I.io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier\x12w\n\x0f\x63ontent_changes\x18\x03 \x03(\x0b\x32^.io.deephaven.proto.backplane.script.grpc.ChangeDocumentRequest.TextDocumentContentChangeEvent\x1a\x8c\x01\n\x1eTextDocumentContentChangeEvent\x12\x46\n\x05range\x18\x01 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.script.grpc.DocumentRange\x12\x14\n\x0crange_length\x18\x02 \x01(\x05\x12\x0c\n\x04text\x18\x03 \x01(\t\"\x93\x01\n\rDocumentRange\x12\x41\n\x05start\x18\x01 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.script.grpc.Position\x12?\n\x03\x65nd\x18\x02 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.script.grpc.Position\"?\n\x1fVersionedTextDocumentIdentifier\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x05\"+\n\x08Position\x12\x0c\n\x04line\x18\x01 \x01(\x05\x12\x11\n\tcharacter\x18\x02 \x01(\x05\",\n\rMarkupContent\x12\x0c\n\x04kind\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xec\x02\n\x19GetCompletionItemsRequest\x12\x41\n\nconsole_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.TicketB\x02\x18\x01\x12L\n\x07\x63ontext\x18\x02 \x01(\x0b\x32;.io.deephaven.proto.backplane.script.grpc.CompletionContext\x12`\n\rtext_document\x18\x03 \x01(\x0b\x32I.io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier\x12\x44\n\x08position\x18\x04 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.script.grpc.Position\x12\x16\n\nrequest_id\x18\x05 \x01(\x05\x42\x02\x18\x01\"D\n\x11\x43ompletionContext\x12\x14\n\x0ctrigger_kind\x18\x01 \x01(\x05\x12\x19\n\x11trigger_character\x18\x02 \x01(\t\"\x92\x01\n\x1aGetCompletionItemsResponse\x12G\n\x05items\x18\x01 \x03(\x0b\x32\x38.io.deephaven.proto.backplane.script.grpc.CompletionItem\x12\x16\n\nrequest_id\x18\x02 \x01(\x05\x42\x02\x18\x01\x12\x13\n\x07success\x18\x03 \x01(\x08\x42\x02\x18\x01\"\xd2\x03\n\x0e\x43ompletionItem\x12\r\n\x05start\x18\x01 \x01(\x05\x12\x0e\n\x06length\x18\x02 \x01(\x05\x12\r\n\x05label\x18\x03 \x01(\t\x12\x0c\n\x04kind\x18\x04 \x01(\x05\x12\x0e\n\x06\x64\x65tail\x18\x05 \x01(\t\x12\x12\n\ndeprecated\x18\x07 \x01(\x08\x12\x11\n\tpreselect\x18\x08 \x01(\x08\x12\x45\n\ttext_edit\x18\t \x01(\x0b\x32\x32.io.deephaven.proto.backplane.script.grpc.TextEdit\x12\x11\n\tsort_text\x18\n \x01(\t\x12\x13\n\x0b\x66ilter_text\x18\x0b \x01(\t\x12\x1a\n\x12insert_text_format\x18\x0c \x01(\x05\x12Q\n\x15\x61\x64\x64itional_text_edits\x18\r \x03(\x0b\x32\x32.io.deephaven.proto.backplane.script.grpc.TextEdit\x12\x19\n\x11\x63ommit_characters\x18\x0e \x03(\t\x12N\n\rdocumentation\x18\x0f \x01(\x0b\x32\x37.io.deephaven.proto.backplane.script.grpc.MarkupContentJ\x04\x08\x06\x10\x07\"`\n\x08TextEdit\x12\x46\n\x05range\x18\x01 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.script.grpc.DocumentRange\x12\x0c\n\x04text\x18\x02 \x01(\t\"\x92\x02\n\x17GetSignatureHelpRequest\x12O\n\x07\x63ontext\x18\x01 \x01(\x0b\x32>.io.deephaven.proto.backplane.script.grpc.SignatureHelpContext\x12`\n\rtext_document\x18\x02 \x01(\x0b\x32I.io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier\x12\x44\n\x08position\x18\x03 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.script.grpc.Position\"\xdb\x01\n\x14SignatureHelpContext\x12\x14\n\x0ctrigger_kind\x18\x01 \x01(\x05\x12\x1e\n\x11trigger_character\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cis_retrigger\x18\x03 \x01(\x08\x12\x61\n\x15\x61\x63tive_signature_help\x18\x04 \x01(\x0b\x32\x42.io.deephaven.proto.backplane.script.grpc.GetSignatureHelpResponseB\x14\n\x12_trigger_character\"\xd6\x01\n\x18GetSignatureHelpResponse\x12R\n\nsignatures\x18\x01 \x03(\x0b\x32>.io.deephaven.proto.backplane.script.grpc.SignatureInformation\x12\x1d\n\x10\x61\x63tive_signature\x18\x02 \x01(\x05H\x00\x88\x01\x01\x12\x1d\n\x10\x61\x63tive_parameter\x18\x03 \x01(\x05H\x01\x88\x01\x01\x42\x13\n\x11_active_signatureB\x13\n\x11_active_parameter\"\xfd\x01\n\x14SignatureInformation\x12\r\n\x05label\x18\x01 \x01(\t\x12N\n\rdocumentation\x18\x02 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.script.grpc.MarkupContent\x12R\n\nparameters\x18\x03 \x03(\x0b\x32>.io.deephaven.proto.backplane.script.grpc.ParameterInformation\x12\x1d\n\x10\x61\x63tive_parameter\x18\x04 \x01(\x05H\x00\x88\x01\x01\x42\x13\n\x11_active_parameter\"u\n\x14ParameterInformation\x12\r\n\x05label\x18\x01 \x01(\t\x12N\n\rdocumentation\x18\x02 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.script.grpc.MarkupContent\"\xb9\x01\n\x0fGetHoverRequest\x12`\n\rtext_document\x18\x01 \x01(\x0b\x32I.io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier\x12\x44\n\x08position\x18\x02 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.script.grpc.Position\"\xa5\x01\n\x10GetHoverResponse\x12I\n\x08\x63ontents\x18\x01 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.script.grpc.MarkupContent\x12\x46\n\x05range\x18\x02 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.script.grpc.DocumentRange\"\xd8\x01\n\x14GetDiagnosticRequest\x12`\n\rtext_document\x18\x01 \x01(\x0b\x32I.io.deephaven.proto.backplane.script.grpc.VersionedTextDocumentIdentifier\x12\x17\n\nidentifier\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1f\n\x12previous_result_id\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\r\n\x0b_identifierB\x15\n\x13_previous_result_id\"\x94\x01\n\x19GetPullDiagnosticResponse\x12\x0c\n\x04kind\x18\x01 \x01(\t\x12\x16\n\tresult_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x43\n\x05items\x18\x03 \x03(\x0b\x32\x34.io.deephaven.proto.backplane.script.grpc.DiagnosticB\x0c\n\n_result_id\"\x98\x01\n\x1cGetPublishDiagnosticResponse\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12\x14\n\x07version\x18\x02 \x01(\x05H\x00\x88\x01\x01\x12I\n\x0b\x64iagnostics\x18\x03 \x03(\x0b\x32\x34.io.deephaven.proto.backplane.script.grpc.DiagnosticB\n\n\x08_version\"\xa7\x05\n\nDiagnostic\x12\x46\n\x05range\x18\x01 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.script.grpc.DocumentRange\x12Y\n\x08severity\x18\x02 \x01(\x0e\x32G.io.deephaven.proto.backplane.script.grpc.Diagnostic.DiagnosticSeverity\x12\x11\n\x04\x63ode\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x63\n\x10\x63ode_description\x18\x04 \x01(\x0b\x32\x44.io.deephaven.proto.backplane.script.grpc.Diagnostic.CodeDescriptionH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x0f\n\x07message\x18\x06 \x01(\t\x12P\n\x04tags\x18\x07 \x03(\x0e\x32\x42.io.deephaven.proto.backplane.script.grpc.Diagnostic.DiagnosticTag\x12\x11\n\x04\x64\x61ta\x18\t \x01(\x0cH\x03\x88\x01\x01\x1a\x1f\n\x0f\x43odeDescription\x12\x0c\n\x04href\x18\x01 \x01(\t\"]\n\x12\x44iagnosticSeverity\x12\x14\n\x10NOT_SET_SEVERITY\x10\x00\x12\t\n\x05\x45RROR\x10\x01\x12\x0b\n\x07WARNING\x10\x02\x12\x0f\n\x0bINFORMATION\x10\x03\x12\x08\n\x04HINT\x10\x04\"A\n\rDiagnosticTag\x12\x0f\n\x0bNOT_SET_TAG\x10\x00\x12\x0f\n\x0bUNNECESSARY\x10\x01\x12\x0e\n\nDEPRECATED\x10\x02\x42\x07\n\x05_codeB\x13\n\x11_code_descriptionB\t\n\x07_sourceB\x07\n\x05_data\"\xe6\x30\n\x10\x46igureDescriptor\x12\x12\n\x05title\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\ntitle_font\x18\x02 \x01(\t\x12\x13\n\x0btitle_color\x18\x03 \x01(\t\x12\x1b\n\x0fupdate_interval\x18\x07 \x01(\x03\x42\x02\x30\x01\x12\x0c\n\x04\x63ols\x18\x08 \x01(\x05\x12\x0c\n\x04rows\x18\t \x01(\x05\x12Z\n\x06\x63harts\x18\n \x03(\x0b\x32J.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor\x12\x0e\n\x06\x65rrors\x18\r \x03(\t\x1a\xce\x05\n\x0f\x43hartDescriptor\x12\x0f\n\x07\x63olspan\x18\x01 \x01(\x05\x12\x0f\n\x07rowspan\x18\x02 \x01(\x05\x12[\n\x06series\x18\x03 \x03(\x0b\x32K.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesDescriptor\x12\x66\n\x0cmulti_series\x18\x04 \x03(\x0b\x32P.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesDescriptor\x12W\n\x04\x61xes\x18\x05 \x03(\x0b\x32I.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor\x12h\n\nchart_type\x18\x06 \x01(\x0e\x32T.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.ChartDescriptor.ChartType\x12\x12\n\x05title\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x12\n\ntitle_font\x18\x08 \x01(\t\x12\x13\n\x0btitle_color\x18\t \x01(\t\x12\x13\n\x0bshow_legend\x18\n \x01(\x08\x12\x13\n\x0blegend_font\x18\x0b \x01(\t\x12\x14\n\x0clegend_color\x18\x0c \x01(\t\x12\x0c\n\x04is3d\x18\r \x01(\x08\x12\x0e\n\x06\x63olumn\x18\x0e \x01(\x05\x12\x0b\n\x03row\x18\x0f \x01(\x05\"_\n\tChartType\x12\x06\n\x02XY\x10\x00\x12\x07\n\x03PIE\x10\x01\x12\x0c\n\x04OHLC\x10\x02\x1a\x02\x08\x01\x12\x0c\n\x08\x43\x41TEGORY\x10\x03\x12\x07\n\x03XYZ\x10\x04\x12\x0f\n\x0b\x43\x41TEGORY_3D\x10\x05\x12\x0b\n\x07TREEMAP\x10\x06\x42\x08\n\x06_title\x1a\xfe\x04\n\x10SeriesDescriptor\x12^\n\nplot_style\x18\x01 \x01(\x0e\x32J.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesPlotStyle\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x1a\n\rlines_visible\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0eshapes_visible\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x18\n\x10gradient_visible\x18\x05 \x01(\x08\x12\x12\n\nline_color\x18\x06 \x01(\t\x12\x1f\n\x12point_label_format\x18\x08 \x01(\tH\x02\x88\x01\x01\x12\x1f\n\x12x_tool_tip_pattern\x18\t \x01(\tH\x03\x88\x01\x01\x12\x1f\n\x12y_tool_tip_pattern\x18\n \x01(\tH\x04\x88\x01\x01\x12\x13\n\x0bshape_label\x18\x0b \x01(\t\x12\x17\n\nshape_size\x18\x0c \x01(\x01H\x05\x88\x01\x01\x12\x13\n\x0bshape_color\x18\r \x01(\t\x12\r\n\x05shape\x18\x0e \x01(\t\x12\x61\n\x0c\x64\x61ta_sources\x18\x0f \x03(\x0b\x32K.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceDescriptorB\x10\n\x0e_lines_visibleB\x11\n\x0f_shapes_visibleB\x15\n\x13_point_label_formatB\x15\n\x13_x_tool_tip_patternB\x15\n\x13_y_tool_tip_patternB\r\n\x0b_shape_sizeJ\x04\x08\x07\x10\x08\x1a\xec\n\n\x15MultiSeriesDescriptor\x12^\n\nplot_style\x18\x01 \x01(\x0e\x32J.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SeriesPlotStyle\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x63\n\nline_color\x18\x03 \x01(\x0b\x32O.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault\x12\x64\n\x0bpoint_color\x18\x04 \x01(\x0b\x32O.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault\x12\x64\n\rlines_visible\x18\x05 \x01(\x0b\x32M.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault\x12\x65\n\x0epoints_visible\x18\x06 \x01(\x0b\x32M.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault\x12g\n\x10gradient_visible\x18\x07 \x01(\x0b\x32M.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BoolMapWithDefault\x12k\n\x12point_label_format\x18\x08 \x01(\x0b\x32O.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault\x12k\n\x12x_tool_tip_pattern\x18\t \x01(\x0b\x32O.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault\x12k\n\x12y_tool_tip_pattern\x18\n \x01(\x0b\x32O.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault\x12\x64\n\x0bpoint_label\x18\x0b \x01(\x0b\x32O.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault\x12\x63\n\npoint_size\x18\x0c \x01(\x0b\x32O.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.DoubleMapWithDefault\x12\x64\n\x0bpoint_shape\x18\r \x01(\x0b\x32O.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.StringMapWithDefault\x12l\n\x0c\x64\x61ta_sources\x18\x0e \x03(\x0b\x32V.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.MultiSeriesSourceDescriptor\x1a\x64\n\x14StringMapWithDefault\x12\x1b\n\x0e\x64\x65\x66\x61ult_string\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0c\n\x04keys\x18\x02 \x03(\t\x12\x0e\n\x06values\x18\x03 \x03(\tB\x11\n\x0f_default_string\x1a\x64\n\x14\x44oubleMapWithDefault\x12\x1b\n\x0e\x64\x65\x66\x61ult_double\x18\x01 \x01(\x01H\x00\x88\x01\x01\x12\x0c\n\x04keys\x18\x02 \x03(\t\x12\x0e\n\x06values\x18\x03 \x03(\x01\x42\x11\n\x0f_default_double\x1a^\n\x12\x42oolMapWithDefault\x12\x19\n\x0c\x64\x65\x66\x61ult_bool\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x0c\n\x04keys\x18\x02 \x03(\t\x12\x0e\n\x06values\x18\x03 \x03(\x08\x42\x0f\n\r_default_bool\x1a\xa6\x08\n\x0e\x41xisDescriptor\x12\n\n\x02id\x18\x01 \x01(\t\x12m\n\x0b\x66ormat_type\x18\x02 \x01(\x0e\x32X.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisFormatType\x12`\n\x04type\x18\x03 \x01(\x0e\x32R.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisType\x12h\n\x08position\x18\x04 \x01(\x0e\x32V.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.AxisDescriptor.AxisPosition\x12\x0b\n\x03log\x18\x05 \x01(\x08\x12\r\n\x05label\x18\x06 \x01(\t\x12\x12\n\nlabel_font\x18\x07 \x01(\t\x12\x12\n\nticks_font\x18\x08 \x01(\t\x12\x1b\n\x0e\x66ormat_pattern\x18\t \x01(\tH\x00\x88\x01\x01\x12\r\n\x05\x63olor\x18\n \x01(\t\x12\x11\n\tmin_range\x18\x0b \x01(\x01\x12\x11\n\tmax_range\x18\x0c \x01(\x01\x12\x1b\n\x13minor_ticks_visible\x18\r \x01(\x08\x12\x1b\n\x13major_ticks_visible\x18\x0e \x01(\x08\x12\x18\n\x10minor_tick_count\x18\x0f \x01(\x05\x12$\n\x17gap_between_major_ticks\x18\x10 \x01(\x01H\x01\x88\x01\x01\x12\x1c\n\x14major_tick_locations\x18\x11 \x03(\x01\x12\x18\n\x10tick_label_angle\x18\x12 \x01(\x01\x12\x0e\n\x06invert\x18\x13 \x01(\x08\x12\x14\n\x0cis_time_axis\x18\x14 \x01(\x08\x12{\n\x1c\x62usiness_calendar_descriptor\x18\x15 \x01(\x0b\x32U.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor\"*\n\x0e\x41xisFormatType\x12\x0c\n\x08\x43\x41TEGORY\x10\x00\x12\n\n\x06NUMBER\x10\x01\"C\n\x08\x41xisType\x12\x05\n\x01X\x10\x00\x12\x05\n\x01Y\x10\x01\x12\t\n\x05SHAPE\x10\x02\x12\x08\n\x04SIZE\x10\x03\x12\t\n\x05LABEL\x10\x04\x12\t\n\x05\x43OLOR\x10\x05\"B\n\x0c\x41xisPosition\x12\x07\n\x03TOP\x10\x00\x12\n\n\x06\x42OTTOM\x10\x01\x12\x08\n\x04LEFT\x10\x02\x12\t\n\x05RIGHT\x10\x03\x12\x08\n\x04NONE\x10\x04\x42\x11\n\x0f_format_patternB\x1a\n\x18_gap_between_major_ticks\x1a\xf0\x06\n\x1a\x42usinessCalendarDescriptor\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttime_zone\x18\x02 \x01(\t\x12v\n\rbusiness_days\x18\x03 \x03(\x0e\x32_.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.DayOfWeek\x12~\n\x10\x62usiness_periods\x18\x04 \x03(\x0b\x32\x64.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod\x12o\n\x08holidays\x18\x05 \x03(\x0b\x32].io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.Holiday\x1a-\n\x0e\x42usinessPeriod\x12\x0c\n\x04open\x18\x01 \x01(\t\x12\r\n\x05\x63lose\x18\x02 \x01(\t\x1a\xf8\x01\n\x07Holiday\x12m\n\x04\x64\x61te\x18\x01 \x01(\x0b\x32_.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.LocalDate\x12~\n\x10\x62usiness_periods\x18\x02 \x03(\x0b\x32\x64.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.BusinessCalendarDescriptor.BusinessPeriod\x1a\x35\n\tLocalDate\x12\x0c\n\x04year\x18\x01 \x01(\x05\x12\r\n\x05month\x18\x02 \x01(\x05\x12\x0b\n\x03\x64\x61y\x18\x03 \x01(\x05\"g\n\tDayOfWeek\x12\n\n\x06SUNDAY\x10\x00\x12\n\n\x06MONDAY\x10\x01\x12\x0b\n\x07TUESDAY\x10\x02\x12\r\n\tWEDNESDAY\x10\x03\x12\x0c\n\x08THURSDAY\x10\x04\x12\n\n\x06\x46RIDAY\x10\x05\x12\x0c\n\x08SATURDAY\x10\x06\x1a\xb6\x01\n\x1bMultiSeriesSourceDescriptor\x12\x0f\n\x07\x61xis_id\x18\x01 \x01(\t\x12S\n\x04type\x18\x02 \x01(\x0e\x32\x45.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceType\x12\x1c\n\x14partitioned_table_id\x18\x03 \x01(\x05\x12\x13\n\x0b\x63olumn_name\x18\x04 \x01(\t\x1a\xb4\x02\n\x10SourceDescriptor\x12\x0f\n\x07\x61xis_id\x18\x01 \x01(\t\x12S\n\x04type\x18\x02 \x01(\x0e\x32\x45.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.SourceType\x12\x10\n\x08table_id\x18\x03 \x01(\x05\x12\x1c\n\x14partitioned_table_id\x18\x04 \x01(\x05\x12\x13\n\x0b\x63olumn_name\x18\x05 \x01(\t\x12\x13\n\x0b\x63olumn_type\x18\x06 \x01(\t\x12`\n\tone_click\x18\x07 \x01(\x0b\x32M.io.deephaven.proto.backplane.script.grpc.FigureDescriptor.OneClickDescriptor\x1a\x63\n\x12OneClickDescriptor\x12\x0f\n\x07\x63olumns\x18\x01 \x03(\t\x12\x14\n\x0c\x63olumn_types\x18\x02 \x03(\t\x12&\n\x1erequire_all_filters_to_display\x18\x03 \x01(\x08\"\xa6\x01\n\x0fSeriesPlotStyle\x12\x07\n\x03\x42\x41R\x10\x00\x12\x0f\n\x0bSTACKED_BAR\x10\x01\x12\x08\n\x04LINE\x10\x02\x12\x08\n\x04\x41REA\x10\x03\x12\x10\n\x0cSTACKED_AREA\x10\x04\x12\x07\n\x03PIE\x10\x05\x12\r\n\tHISTOGRAM\x10\x06\x12\x08\n\x04OHLC\x10\x07\x12\x0b\n\x07SCATTER\x10\x08\x12\x08\n\x04STEP\x10\t\x12\r\n\tERROR_BAR\x10\n\x12\x0b\n\x07TREEMAP\x10\x0b\"\xd2\x01\n\nSourceType\x12\x05\n\x01X\x10\x00\x12\x05\n\x01Y\x10\x01\x12\x05\n\x01Z\x10\x02\x12\t\n\x05X_LOW\x10\x03\x12\n\n\x06X_HIGH\x10\x04\x12\t\n\x05Y_LOW\x10\x05\x12\n\n\x06Y_HIGH\x10\x06\x12\x08\n\x04TIME\x10\x07\x12\x08\n\x04OPEN\x10\x08\x12\x08\n\x04HIGH\x10\t\x12\x07\n\x03LOW\x10\n\x12\t\n\x05\x43LOSE\x10\x0b\x12\t\n\x05SHAPE\x10\x0c\x12\x08\n\x04SIZE\x10\r\x12\t\n\x05LABEL\x10\x0e\x12\t\n\x05\x43OLOR\x10\x0f\x12\n\n\x06PARENT\x10\x10\x12\x0e\n\nHOVER_TEXT\x10\x11\x12\x08\n\x04TEXT\x10\x12\x42\x08\n\x06_titleJ\x04\x08\x0b\x10\x0cJ\x04\x08\x0c\x10\r2\xb2\r\n\x0e\x43onsoleService\x12\x98\x01\n\x0fGetConsoleTypes\x12@.io.deephaven.proto.backplane.script.grpc.GetConsoleTypesRequest\x1a\x41.io.deephaven.proto.backplane.script.grpc.GetConsoleTypesResponse\"\x00\x12\x8f\x01\n\x0cStartConsole\x12=.io.deephaven.proto.backplane.script.grpc.StartConsoleRequest\x1a>.io.deephaven.proto.backplane.script.grpc.StartConsoleResponse\"\x00\x12\x8c\x01\n\x0bGetHeapInfo\x12<.io.deephaven.proto.backplane.script.grpc.GetHeapInfoRequest\x1a=.io.deephaven.proto.backplane.script.grpc.GetHeapInfoResponse\"\x00\x12\x96\x01\n\x0fSubscribeToLogs\x12@.io.deephaven.proto.backplane.script.grpc.LogSubscriptionRequest\x1a=.io.deephaven.proto.backplane.script.grpc.LogSubscriptionData\"\x00\x30\x01\x12\x95\x01\n\x0e\x45xecuteCommand\x12?.io.deephaven.proto.backplane.script.grpc.ExecuteCommandRequest\x1a@.io.deephaven.proto.backplane.script.grpc.ExecuteCommandResponse\"\x00\x12\x92\x01\n\rCancelCommand\x12>.io.deephaven.proto.backplane.script.grpc.CancelCommandRequest\x1a?.io.deephaven.proto.backplane.script.grpc.CancelCommandResponse\"\x00\x12\xa4\x01\n\x13\x42indTableToVariable\x12\x44.io.deephaven.proto.backplane.script.grpc.BindTableToVariableRequest\x1a\x45.io.deephaven.proto.backplane.script.grpc.BindTableToVariableResponse\"\x00\x12\x99\x01\n\x12\x41utoCompleteStream\x12=.io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest\x1a>.io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse\"\x00(\x01\x30\x01\x12\xa1\x01\n\x12\x43\x61ncelAutoComplete\x12\x43.io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteRequest\x1a\x44.io.deephaven.proto.backplane.script.grpc.CancelAutoCompleteResponse\"\x00\x12\x9b\x01\n\x16OpenAutoCompleteStream\x12=.io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest\x1a>.io.deephaven.proto.backplane.script.grpc.AutoCompleteResponse\"\x00\x30\x01\x12\x98\x01\n\x16NextAutoCompleteStream\x12=.io.deephaven.proto.backplane.script.grpc.AutoCompleteRequest\x1a=.io.deephaven.proto.backplane.script.grpc.BrowserNextResponse\"\x00\x42\x43H\x01P\x01Z=github.com/deephaven/deephaven-core/go/internal/proto/consoleb\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'deephaven.proto.console_pb2', globals()) @@ -33,6 +33,20 @@ _LOGSUBSCRIPTIONREQUEST.fields_by_name['last_seen_log_timestamp']._serialized_options = b'0\001' _LOGSUBSCRIPTIONDATA.fields_by_name['micros']._options = None _LOGSUBSCRIPTIONDATA.fields_by_name['micros']._serialized_options = b'0\001' + _OPENDOCUMENTREQUEST.fields_by_name['console_id']._options = None + _OPENDOCUMENTREQUEST.fields_by_name['console_id']._serialized_options = b'\030\001' + _CLOSEDOCUMENTREQUEST.fields_by_name['console_id']._options = None + _CLOSEDOCUMENTREQUEST.fields_by_name['console_id']._serialized_options = b'\030\001' + _CHANGEDOCUMENTREQUEST.fields_by_name['console_id']._options = None + _CHANGEDOCUMENTREQUEST.fields_by_name['console_id']._serialized_options = b'\030\001' + _GETCOMPLETIONITEMSREQUEST.fields_by_name['console_id']._options = None + _GETCOMPLETIONITEMSREQUEST.fields_by_name['console_id']._serialized_options = b'\030\001' + _GETCOMPLETIONITEMSREQUEST.fields_by_name['request_id']._options = None + _GETCOMPLETIONITEMSREQUEST.fields_by_name['request_id']._serialized_options = b'\030\001' + _GETCOMPLETIONITEMSRESPONSE.fields_by_name['request_id']._options = None + _GETCOMPLETIONITEMSRESPONSE.fields_by_name['request_id']._serialized_options = b'\030\001' + _GETCOMPLETIONITEMSRESPONSE.fields_by_name['success']._options = None + _GETCOMPLETIONITEMSRESPONSE.fields_by_name['success']._serialized_options = b'\030\001' _FIGUREDESCRIPTOR_CHARTDESCRIPTOR_CHARTTYPE.values_by_name["OHLC"]._options = None _FIGUREDESCRIPTOR_CHARTDESCRIPTOR_CHARTTYPE.values_by_name["OHLC"]._serialized_options = b'\010\001' _FIGUREDESCRIPTOR.fields_by_name['update_interval']._options = None @@ -65,82 +79,116 @@ _CANCELCOMMANDREQUEST._serialized_end=1286 _CANCELCOMMANDRESPONSE._serialized_start=1288 _CANCELCOMMANDRESPONSE._serialized_end=1311 - _AUTOCOMPLETEREQUEST._serialized_start=1314 - _AUTOCOMPLETEREQUEST._serialized_end=1717 - _AUTOCOMPLETERESPONSE._serialized_start=1720 - _AUTOCOMPLETERESPONSE._serialized_end=1852 - _BROWSERNEXTRESPONSE._serialized_start=1854 - _BROWSERNEXTRESPONSE._serialized_end=1875 - _OPENDOCUMENTREQUEST._serialized_start=1878 - _OPENDOCUMENTREQUEST._serialized_end=2045 - _TEXTDOCUMENTITEM._serialized_start=2047 - _TEXTDOCUMENTITEM._serialized_end=2130 - _CLOSEDOCUMENTREQUEST._serialized_start=2133 - _CLOSEDOCUMENTREQUEST._serialized_end=2316 - _CHANGEDOCUMENTREQUEST._serialized_start=2319 - _CHANGEDOCUMENTREQUEST._serialized_end=2767 - _CHANGEDOCUMENTREQUEST_TEXTDOCUMENTCONTENTCHANGEEVENT._serialized_start=2627 - _CHANGEDOCUMENTREQUEST_TEXTDOCUMENTCONTENTCHANGEEVENT._serialized_end=2767 - _DOCUMENTRANGE._serialized_start=2770 - _DOCUMENTRANGE._serialized_end=2917 - _VERSIONEDTEXTDOCUMENTIDENTIFIER._serialized_start=2919 - _VERSIONEDTEXTDOCUMENTIDENTIFIER._serialized_end=2982 - _POSITION._serialized_start=2984 - _POSITION._serialized_end=3027 - _GETCOMPLETIONITEMSREQUEST._serialized_start=3030 - _GETCOMPLETIONITEMSREQUEST._serialized_end=3386 - _COMPLETIONCONTEXT._serialized_start=3388 - _COMPLETIONCONTEXT._serialized_end=3456 - _GETCOMPLETIONITEMSRESPONSE._serialized_start=3459 - _GETCOMPLETIONITEMSRESPONSE._serialized_end=3597 - _COMPLETIONITEM._serialized_start=3600 - _COMPLETIONITEM._serialized_end=4003 - _TEXTEDIT._serialized_start=4005 - _TEXTEDIT._serialized_end=4101 - _FIGUREDESCRIPTOR._serialized_start=4104 - _FIGUREDESCRIPTOR._serialized_end=10350 - _FIGUREDESCRIPTOR_CHARTDESCRIPTOR._serialized_start=4351 - _FIGUREDESCRIPTOR_CHARTDESCRIPTOR._serialized_end=5069 - _FIGUREDESCRIPTOR_CHARTDESCRIPTOR_CHARTTYPE._serialized_start=4964 - _FIGUREDESCRIPTOR_CHARTDESCRIPTOR_CHARTTYPE._serialized_end=5059 - _FIGUREDESCRIPTOR_SERIESDESCRIPTOR._serialized_start=5072 - _FIGUREDESCRIPTOR_SERIESDESCRIPTOR._serialized_end=5710 - _FIGUREDESCRIPTOR_MULTISERIESDESCRIPTOR._serialized_start=5713 - _FIGUREDESCRIPTOR_MULTISERIESDESCRIPTOR._serialized_end=7101 - _FIGUREDESCRIPTOR_STRINGMAPWITHDEFAULT._serialized_start=7103 - _FIGUREDESCRIPTOR_STRINGMAPWITHDEFAULT._serialized_end=7203 - _FIGUREDESCRIPTOR_DOUBLEMAPWITHDEFAULT._serialized_start=7205 - _FIGUREDESCRIPTOR_DOUBLEMAPWITHDEFAULT._serialized_end=7305 - _FIGUREDESCRIPTOR_BOOLMAPWITHDEFAULT._serialized_start=7307 - _FIGUREDESCRIPTOR_BOOLMAPWITHDEFAULT._serialized_end=7401 - _FIGUREDESCRIPTOR_AXISDESCRIPTOR._serialized_start=7404 - _FIGUREDESCRIPTOR_AXISDESCRIPTOR._serialized_end=8466 - _FIGUREDESCRIPTOR_AXISDESCRIPTOR_AXISFORMATTYPE._serialized_start=8240 - _FIGUREDESCRIPTOR_AXISDESCRIPTOR_AXISFORMATTYPE._serialized_end=8282 - _FIGUREDESCRIPTOR_AXISDESCRIPTOR_AXISTYPE._serialized_start=8284 - _FIGUREDESCRIPTOR_AXISDESCRIPTOR_AXISTYPE._serialized_end=8351 - _FIGUREDESCRIPTOR_AXISDESCRIPTOR_AXISPOSITION._serialized_start=8353 - _FIGUREDESCRIPTOR_AXISDESCRIPTOR_AXISPOSITION._serialized_end=8419 - _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR._serialized_start=8469 - _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR._serialized_end=9349 - _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR_BUSINESSPERIOD._serialized_start=8893 - _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR_BUSINESSPERIOD._serialized_end=8938 - _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR_HOLIDAY._serialized_start=8941 - _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR_HOLIDAY._serialized_end=9189 - _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR_LOCALDATE._serialized_start=9191 - _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR_LOCALDATE._serialized_end=9244 - _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR_DAYOFWEEK._serialized_start=9246 - _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR_DAYOFWEEK._serialized_end=9349 - _FIGUREDESCRIPTOR_MULTISERIESSOURCEDESCRIPTOR._serialized_start=9352 - _FIGUREDESCRIPTOR_MULTISERIESSOURCEDESCRIPTOR._serialized_end=9534 - _FIGUREDESCRIPTOR_SOURCEDESCRIPTOR._serialized_start=9537 - _FIGUREDESCRIPTOR_SOURCEDESCRIPTOR._serialized_end=9845 - _FIGUREDESCRIPTOR_ONECLICKDESCRIPTOR._serialized_start=9847 - _FIGUREDESCRIPTOR_ONECLICKDESCRIPTOR._serialized_end=9946 - _FIGUREDESCRIPTOR_SERIESPLOTSTYLE._serialized_start=9949 - _FIGUREDESCRIPTOR_SERIESPLOTSTYLE._serialized_end=10115 - _FIGUREDESCRIPTOR_SOURCETYPE._serialized_start=10118 - _FIGUREDESCRIPTOR_SOURCETYPE._serialized_end=10328 - _CONSOLESERVICE._serialized_start=10353 - _CONSOLESERVICE._serialized_end=11903 + _CANCELAUTOCOMPLETEREQUEST._serialized_start=1313 + _CANCELAUTOCOMPLETEREQUEST._serialized_end=1423 + _CANCELAUTOCOMPLETERESPONSE._serialized_start=1425 + _CANCELAUTOCOMPLETERESPONSE._serialized_end=1453 + _AUTOCOMPLETEREQUEST._serialized_start=1456 + _AUTOCOMPLETEREQUEST._serialized_end=2209 + _AUTOCOMPLETERESPONSE._serialized_start=2212 + _AUTOCOMPLETERESPONSE._serialized_end=2741 + _BROWSERNEXTRESPONSE._serialized_start=2743 + _BROWSERNEXTRESPONSE._serialized_end=2764 + _OPENDOCUMENTREQUEST._serialized_start=2767 + _OPENDOCUMENTREQUEST._serialized_end=2938 + _TEXTDOCUMENTITEM._serialized_start=2940 + _TEXTDOCUMENTITEM._serialized_end=3023 + _CLOSEDOCUMENTREQUEST._serialized_start=3026 + _CLOSEDOCUMENTREQUEST._serialized_end=3213 + _CHANGEDOCUMENTREQUEST._serialized_start=3216 + _CHANGEDOCUMENTREQUEST._serialized_end=3668 + _CHANGEDOCUMENTREQUEST_TEXTDOCUMENTCONTENTCHANGEEVENT._serialized_start=3528 + _CHANGEDOCUMENTREQUEST_TEXTDOCUMENTCONTENTCHANGEEVENT._serialized_end=3668 + _DOCUMENTRANGE._serialized_start=3671 + _DOCUMENTRANGE._serialized_end=3818 + _VERSIONEDTEXTDOCUMENTIDENTIFIER._serialized_start=3820 + _VERSIONEDTEXTDOCUMENTIDENTIFIER._serialized_end=3883 + _POSITION._serialized_start=3885 + _POSITION._serialized_end=3928 + _MARKUPCONTENT._serialized_start=3930 + _MARKUPCONTENT._serialized_end=3974 + _GETCOMPLETIONITEMSREQUEST._serialized_start=3977 + _GETCOMPLETIONITEMSREQUEST._serialized_end=4341 + _COMPLETIONCONTEXT._serialized_start=4343 + _COMPLETIONCONTEXT._serialized_end=4411 + _GETCOMPLETIONITEMSRESPONSE._serialized_start=4414 + _GETCOMPLETIONITEMSRESPONSE._serialized_end=4560 + _COMPLETIONITEM._serialized_start=4563 + _COMPLETIONITEM._serialized_end=5029 + _TEXTEDIT._serialized_start=5031 + _TEXTEDIT._serialized_end=5127 + _GETSIGNATUREHELPREQUEST._serialized_start=5130 + _GETSIGNATUREHELPREQUEST._serialized_end=5404 + _SIGNATUREHELPCONTEXT._serialized_start=5407 + _SIGNATUREHELPCONTEXT._serialized_end=5626 + _GETSIGNATUREHELPRESPONSE._serialized_start=5629 + _GETSIGNATUREHELPRESPONSE._serialized_end=5843 + _SIGNATUREINFORMATION._serialized_start=5846 + _SIGNATUREINFORMATION._serialized_end=6099 + _PARAMETERINFORMATION._serialized_start=6101 + _PARAMETERINFORMATION._serialized_end=6218 + _GETHOVERREQUEST._serialized_start=6221 + _GETHOVERREQUEST._serialized_end=6406 + _GETHOVERRESPONSE._serialized_start=6409 + _GETHOVERRESPONSE._serialized_end=6574 + _GETDIAGNOSTICREQUEST._serialized_start=6577 + _GETDIAGNOSTICREQUEST._serialized_end=6793 + _GETPULLDIAGNOSTICRESPONSE._serialized_start=6796 + _GETPULLDIAGNOSTICRESPONSE._serialized_end=6944 + _GETPUBLISHDIAGNOSTICRESPONSE._serialized_start=6947 + _GETPUBLISHDIAGNOSTICRESPONSE._serialized_end=7099 + _DIAGNOSTIC._serialized_start=7102 + _DIAGNOSTIC._serialized_end=7781 + _DIAGNOSTIC_CODEDESCRIPTION._serialized_start=7538 + _DIAGNOSTIC_CODEDESCRIPTION._serialized_end=7569 + _DIAGNOSTIC_DIAGNOSTICSEVERITY._serialized_start=7571 + _DIAGNOSTIC_DIAGNOSTICSEVERITY._serialized_end=7664 + _DIAGNOSTIC_DIAGNOSTICTAG._serialized_start=7666 + _DIAGNOSTIC_DIAGNOSTICTAG._serialized_end=7731 + _FIGUREDESCRIPTOR._serialized_start=7784 + _FIGUREDESCRIPTOR._serialized_end=14030 + _FIGUREDESCRIPTOR_CHARTDESCRIPTOR._serialized_start=8031 + _FIGUREDESCRIPTOR_CHARTDESCRIPTOR._serialized_end=8749 + _FIGUREDESCRIPTOR_CHARTDESCRIPTOR_CHARTTYPE._serialized_start=8644 + _FIGUREDESCRIPTOR_CHARTDESCRIPTOR_CHARTTYPE._serialized_end=8739 + _FIGUREDESCRIPTOR_SERIESDESCRIPTOR._serialized_start=8752 + _FIGUREDESCRIPTOR_SERIESDESCRIPTOR._serialized_end=9390 + _FIGUREDESCRIPTOR_MULTISERIESDESCRIPTOR._serialized_start=9393 + _FIGUREDESCRIPTOR_MULTISERIESDESCRIPTOR._serialized_end=10781 + _FIGUREDESCRIPTOR_STRINGMAPWITHDEFAULT._serialized_start=10783 + _FIGUREDESCRIPTOR_STRINGMAPWITHDEFAULT._serialized_end=10883 + _FIGUREDESCRIPTOR_DOUBLEMAPWITHDEFAULT._serialized_start=10885 + _FIGUREDESCRIPTOR_DOUBLEMAPWITHDEFAULT._serialized_end=10985 + _FIGUREDESCRIPTOR_BOOLMAPWITHDEFAULT._serialized_start=10987 + _FIGUREDESCRIPTOR_BOOLMAPWITHDEFAULT._serialized_end=11081 + _FIGUREDESCRIPTOR_AXISDESCRIPTOR._serialized_start=11084 + _FIGUREDESCRIPTOR_AXISDESCRIPTOR._serialized_end=12146 + _FIGUREDESCRIPTOR_AXISDESCRIPTOR_AXISFORMATTYPE._serialized_start=11920 + _FIGUREDESCRIPTOR_AXISDESCRIPTOR_AXISFORMATTYPE._serialized_end=11962 + _FIGUREDESCRIPTOR_AXISDESCRIPTOR_AXISTYPE._serialized_start=11964 + _FIGUREDESCRIPTOR_AXISDESCRIPTOR_AXISTYPE._serialized_end=12031 + _FIGUREDESCRIPTOR_AXISDESCRIPTOR_AXISPOSITION._serialized_start=12033 + _FIGUREDESCRIPTOR_AXISDESCRIPTOR_AXISPOSITION._serialized_end=12099 + _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR._serialized_start=12149 + _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR._serialized_end=13029 + _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR_BUSINESSPERIOD._serialized_start=12573 + _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR_BUSINESSPERIOD._serialized_end=12618 + _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR_HOLIDAY._serialized_start=12621 + _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR_HOLIDAY._serialized_end=12869 + _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR_LOCALDATE._serialized_start=12871 + _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR_LOCALDATE._serialized_end=12924 + _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR_DAYOFWEEK._serialized_start=12926 + _FIGUREDESCRIPTOR_BUSINESSCALENDARDESCRIPTOR_DAYOFWEEK._serialized_end=13029 + _FIGUREDESCRIPTOR_MULTISERIESSOURCEDESCRIPTOR._serialized_start=13032 + _FIGUREDESCRIPTOR_MULTISERIESSOURCEDESCRIPTOR._serialized_end=13214 + _FIGUREDESCRIPTOR_SOURCEDESCRIPTOR._serialized_start=13217 + _FIGUREDESCRIPTOR_SOURCEDESCRIPTOR._serialized_end=13525 + _FIGUREDESCRIPTOR_ONECLICKDESCRIPTOR._serialized_start=13527 + _FIGUREDESCRIPTOR_ONECLICKDESCRIPTOR._serialized_end=13626 + _FIGUREDESCRIPTOR_SERIESPLOTSTYLE._serialized_start=13629 + _FIGUREDESCRIPTOR_SERIESPLOTSTYLE._serialized_end=13795 + _FIGUREDESCRIPTOR_SOURCETYPE._serialized_start=13798 + _FIGUREDESCRIPTOR_SOURCETYPE._serialized_end=14008 + _CONSOLESERVICE._serialized_start=14033 + _CONSOLESERVICE._serialized_end=15747 # @@protoc_insertion_point(module_scope) diff --git a/py/client/pydeephaven/proto/console_pb2_grpc.py b/py/client/pydeephaven/proto/console_pb2_grpc.py index 6b6c77084ce..ae8fca57c07 100644 --- a/py/client/pydeephaven/proto/console_pb2_grpc.py +++ b/py/client/pydeephaven/proto/console_pb2_grpc.py @@ -56,6 +56,11 @@ def __init__(self, channel): request_serializer=deephaven_dot_proto_dot_console__pb2.AutoCompleteRequest.SerializeToString, response_deserializer=deephaven_dot_proto_dot_console__pb2.AutoCompleteResponse.FromString, ) + self.CancelAutoComplete = channel.unary_unary( + '/io.deephaven.proto.backplane.script.grpc.ConsoleService/CancelAutoComplete', + request_serializer=deephaven_dot_proto_dot_console__pb2.CancelAutoCompleteRequest.SerializeToString, + response_deserializer=deephaven_dot_proto_dot_console__pb2.CancelAutoCompleteResponse.FromString, + ) self.OpenAutoCompleteStream = channel.unary_stream( '/io.deephaven.proto.backplane.script.grpc.ConsoleService/OpenAutoCompleteStream', request_serializer=deephaven_dot_proto_dot_console__pb2.AutoCompleteRequest.SerializeToString, @@ -126,6 +131,12 @@ def AutoCompleteStream(self, request_iterator, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def CancelAutoComplete(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def OpenAutoCompleteStream(self, request, context): """ Half of the browser-based (browser's can't do bidirectional streams without websockets) @@ -186,6 +197,11 @@ def add_ConsoleServiceServicer_to_server(servicer, server): request_deserializer=deephaven_dot_proto_dot_console__pb2.AutoCompleteRequest.FromString, response_serializer=deephaven_dot_proto_dot_console__pb2.AutoCompleteResponse.SerializeToString, ), + 'CancelAutoComplete': grpc.unary_unary_rpc_method_handler( + servicer.CancelAutoComplete, + request_deserializer=deephaven_dot_proto_dot_console__pb2.CancelAutoCompleteRequest.FromString, + response_serializer=deephaven_dot_proto_dot_console__pb2.CancelAutoCompleteResponse.SerializeToString, + ), 'OpenAutoCompleteStream': grpc.unary_stream_rpc_method_handler( servicer.OpenAutoCompleteStream, request_deserializer=deephaven_dot_proto_dot_console__pb2.AutoCompleteRequest.FromString, @@ -344,6 +360,23 @@ def AutoCompleteStream(request_iterator, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod + def CancelAutoComplete(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/io.deephaven.proto.backplane.script.grpc.ConsoleService/CancelAutoComplete', + deephaven_dot_proto_dot_console__pb2.CancelAutoCompleteRequest.SerializeToString, + deephaven_dot_proto_dot_console__pb2.CancelAutoCompleteResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod def OpenAutoCompleteStream(request, target, diff --git a/py/server/deephaven_internal/auto_completer/_completer.py b/py/server/deephaven_internal/auto_completer/_completer.py index 485be4233e5..8e3ed0de933 100644 --- a/py/server/deephaven_internal/auto_completer/_completer.py +++ b/py/server/deephaven_internal/auto_completer/_completer.py @@ -1,8 +1,9 @@ # only python 3.8 needs this, but it must be the first expression in the file, so we can't predicate it from __future__ import annotations from enum import Enum -from typing import Any +from typing import Any, Union from jedi import Interpreter, Script +from jedi.api.classes import Name, Completion, Signature class Mode(Enum): @@ -14,7 +15,54 @@ def __str__(self) -> str: return self.value -class Completer(object): +""" +These options are from Jedi LSP implementation and LSP spec +https://github.com/pappasam/jedi-language-server/blob/6b064bca61a3e56535c27cc8c8b20f45a3fcbe47/jedi_language_server/type_map.py#L8 +https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#completionItemKind +""" +_JEDI_COMPLETION_TYPE_MAP = { + "module": 9, + "class": 7, + "instance": 6, + "function": 3, + "param": 6, + "path": 17, + "keyword": 14, + "property": 10, + "statement": 6, + "text": 1, +} + + +def wrap_python(txt: str) -> str: + """ Wraps a string in a Python fenced codeblock for markdown + + Args: + txt (str): the string to wrap + + Returns: + A markdown string wrapping the input in a Python codeblock + """ + if txt: + return f"```python\n{txt}\n```" + return '' + + +def wrap_plaintext(txt: str) -> str: + """ Wraps a string in a Python fenced codeblock for markdown + + Args: + txt (str): the string to wrap + + Returns: + A markdown string wrapping the input in a Python codeblock + """ + if txt: + return f"```plaintext\n{txt}\n```" + return '' + + +class Completer: def __init__(self): self._docs = {} self._versions = {} @@ -70,34 +118,41 @@ def can_jedi(self) -> bool: def set_scope(self, scope: dict) -> None: self.__scope = scope + def get_completer(self, uri: str) -> Union[Interpreter, Script]: + txt = self.get_doc(uri) + if self.__mode == Mode.SAFE: + # The Script completer is static analysis only, so we should actually be feeding it a whole document at once + return Script(txt) + return Interpreter(txt, [self.__scope]) + def do_completion( self, uri: str, version: int, line: int, col: int ) -> list[list[Any]]: + """ Gets completion items at the position + + Modeled after Jedi language server + https://github.com/pappasam/jedi-language-server/blob/main/jedi_language_server/server.py#L189 + """ if not self._versions[uri] == version: # if you aren't the newest completion, you get nothing, quickly return [] - # run jedi - txt = self.get_doc(uri) - - completer = ( - # The Script completer is static analysis only, so we should actually be feeding it a whole document at once. - Script(txt) - if self.__mode == Mode.SAFE - else Interpreter(txt, [self.__scope]) - ) - completions = completer.complete(line, col) + completer = self.get_completer(uri) + # Path completions don't seem useful with our setup + # It also doesn't suggest nested paths/files when the string is a parent path + # Might just be a client issue, but either way not useful right now + completions = [c for c in completer.complete(line, col) if c.type != "path"] # for now, a simple sorting based on number of preceding _ # we may want to apply additional sorting to each list before combining results: list = [] results_: list = [] results__: list = [] - for complete in completions: + for completion in completions: # keep checking the latest version as we run, so updated doc can cancel us if not self._versions[uri] == version: return [] - result: list = self.to_result(complete, col) + result: list = self.to_completion_result(completion, col) if result[0].startswith("__"): results__.append(result) elif result[0].startswith("_"): @@ -109,9 +164,90 @@ def do_completion( return results + results_ + results__ @staticmethod - def to_result(complete: Any, col: int) -> list[Any]: - name: str = complete.name - prefix_length: int = complete.get_completion_prefix_length() + def to_completion_result(completion: Completion, col: int) -> list[Any]: + name: str = completion.name + prefix_length: int = completion.get_completion_prefix_length() start: int = col - prefix_length - # all java needs to build a grpc response is completion text (name) and where the completion should start - return [name, start] + signatures: list[Signature] = completion.get_signatures() + detail: str = signatures[0].to_string() if len(signatures) > 0 else completion.description + + return [ + name, + start, + detail, + completion.docstring(raw=True), + _JEDI_COMPLETION_TYPE_MAP.get(completion.type, _JEDI_COMPLETION_TYPE_MAP.get('text', 1)) + ] + + def do_signature_help( + self, uri: str, version: int, line: int, col: int + ) -> list[list[Any]]: + """ Gets signature help at the position + + Modeled after Jedi language server + https://github.com/pappasam/jedi-language-server/blob/main/jedi_language_server/server.py#L255 + """ + if not self._versions[uri] == version: + # if you aren't the newest completion, you get nothing, quickly + return [] + + completer = self.get_completer(uri) + signatures = completer.get_signatures(line, col) + + results: list = [] + for signature in signatures: + # keep checking the latest version as we run, so updated doc can cancel us + if not self._versions[uri] == version: + return [] + + result: list = [ + signature.to_string(), + signature.docstring(raw=True), + [[param.to_string().strip(), param.docstring(raw=True).strip()] for param in signature.params], + signature.index if signature.index is not None else -1 + ] + results.append(result) + + return results + + def do_hover( + self, uri: str, version: int, line: int, col: int + ) -> list[str]: + """ Gets hover help at the position + + Modeled after Jedi language server + https://github.com/pappasam/jedi-language-server/blob/main/jedi_language_server/server.py#L366 + """ + if not self._versions[uri] == version: + # if you aren't the newest completion, you get nothing, quickly + return [] + + completer = self.get_completer(uri) + hovers = completer.help(line, col) + if not hovers or hovers[0].type == "keyword": + return [''] + + # LSP doesn't support multiple hovers really. Not sure if/when Jedi would return multiple either + hover = hovers[0] + signatures = hover.get_signatures() + kind = hover.type + + header = "" + if signatures: + header = f"{'def' if kind == 'function' else kind} {signatures[0].to_string()}" + else: + if kind == "class": + header = f"class {hover.name}()" + elif kind == "function": + header = f"def {hover.name}()" + elif kind == "property": + header = f"property {hover.name}" + else: + header = hover.description + + hoverstring = wrap_python(header) + raw_docstring = hover.docstring(raw=True) + if raw_docstring: + hoverstring += '\n---\n' + wrap_plaintext(raw_docstring) + + return [hoverstring.strip()] diff --git a/server/src/main/java/io/deephaven/server/console/ConsoleServiceGrpcImpl.java b/server/src/main/java/io/deephaven/server/console/ConsoleServiceGrpcImpl.java index aac2fb5dff1..7eeab762229 100644 --- a/server/src/main/java/io/deephaven/server/console/ConsoleServiceGrpcImpl.java +++ b/server/src/main/java/io/deephaven/server/console/ConsoleServiceGrpcImpl.java @@ -296,13 +296,18 @@ public NoopAutoCompleteObserver(SessionState session, StreamObserver responseObserver) { + // TODO: Consider autocomplete cancellation + super.cancelAutoComplete(request, responseObserver); + } + private final class LogsClient implements LogBufferRecordListener, Runnable { private final LogSubscriptionRequest request; private final ServerCallStreamObserver client; diff --git a/server/src/main/java/io/deephaven/server/console/completer/JavaAutoCompleteObserver.java b/server/src/main/java/io/deephaven/server/console/completer/JavaAutoCompleteObserver.java index 21d935beacf..ab4f2a93450 100644 --- a/server/src/main/java/io/deephaven/server/console/completer/JavaAutoCompleteObserver.java +++ b/server/src/main/java/io/deephaven/server/console/completer/JavaAutoCompleteObserver.java @@ -18,6 +18,7 @@ import io.deephaven.server.session.SessionState; import io.deephaven.util.SafeCloseable; import io.grpc.stub.StreamObserver; +import org.jpy.PyObject; import java.util.Collection; import java.util.Collections; @@ -73,18 +74,6 @@ public void onNext(AutoCompleteRequest value) { request.getContentChangesList()); break; } - case GET_COMPLETION_ITEMS: { - GetCompletionItemsRequest request = value.getGetCompletionItems(); - SessionState.ExportObject exportedConsole = - session.getExport(request.getConsoleId(), "consoleId"); - session.nonExport() - .require(exportedConsole) - .onError(responseObserver) - .submit(() -> { - getCompletionItems(request, exportedConsole, parser, responseObserver); - }); - break; - } case CLOSE_DOCUMENT: { CloseDocumentRequest request = value.getCloseDocument(); parser.remove(request.getTextDocument().getUri()); @@ -93,56 +82,72 @@ public void onNext(AutoCompleteRequest value) { case REQUEST_NOT_SET: { throw Exceptions.statusRuntimeException(Code.INVALID_ARGUMENT, "Autocomplete command missing request"); } + default: { + // Maintain compatibility with older clients + // The only autocomplete type supported before the consoleId was moved to the parent request was + // GetCompletionItems + final io.deephaven.proto.backplane.grpc.Ticket consoleId = + value.hasConsoleId() ? value.getConsoleId() : value.getGetCompletionItems().getConsoleId(); + SessionState.ExportObject exportedConsole = session.getExport(consoleId, "consoleId"); + session.nonExport() + .require(exportedConsole) + .onError(responseObserver) + .submit(() -> { + handleAutocompleteRequest(value, exportedConsole, responseObserver); + }); + } } } - private void getCompletionItems(GetCompletionItemsRequest request, - SessionState.ExportObject exportedConsole, CompletionParser parser, + private void handleAutocompleteRequest(AutoCompleteRequest request, + SessionState.ExportObject exportedConsole, StreamObserver responseObserver) { - final ScriptSession scriptSession = exportedConsole.get(); + // Maintain compatibility with older clients + // The only autocomplete type supported before the consoleId was moved to the parent request was + // GetCompletionItems + final int requestId = + request.getRequestId() > 0 ? request.getRequestId() : request.getGetCompletionItems().getRequestId(); try { - final VariableProvider vars = scriptSession.getVariableProvider(); - final VersionedTextDocumentIdentifier doc = request.getTextDocument(); - final CompletionLookups h = CompletionLookups.preload(scriptSession); - // The only stateful part of a completer is the CompletionLookups, which are already - // once-per-session-cached - // so, we'll just create a new completer for each request. No need to hang onto these guys. - final ChunkerCompleter completer = new ChunkerCompleter(log, vars, h); - - final ParsedDocument parsed; - try { - parsed = parser.finish(doc.getUri()); - } catch (CompletionCancelled exception) { - if (log.isTraceEnabled()) { - log.trace().append("Completion canceled").append(exception).endl(); + AutoCompleteResponse.Builder response = AutoCompleteResponse.newBuilder(); + + switch (request.getRequestCase()) { + case GET_COMPLETION_ITEMS: { + response.setCompletionItems(getCompletionItems(request.getGetCompletionItems(), exportedConsole, + parser, responseObserver)); + break; + } + case GET_SIGNATURE_HELP: { + // Not implemented. Return empty signature list + response.setSignatures(GetSignatureHelpResponse.getDefaultInstance()); + break; + } + case GET_HOVER: { + // Not implemented. Return empty hover help + response.setHover( + GetHoverResponse.newBuilder().setContents(MarkupContent.getDefaultInstance()).build()); + break; + } + case GET_DIAGNOSTIC: { + // Not implemented. Return empty diagnostics + response.setDiagnostic(GetPullDiagnosticResponse.getDefaultInstance()); + break; } - safelyOnNext(responseObserver, - AutoCompleteResponse.newBuilder() - .setCompletionItems(GetCompletionItemsResponse.newBuilder() - .setSuccess(false) - .setRequestId(request.getRequestId())) - .build()); - return; } - int offset = LspTools.getOffsetFromPosition(parsed.getSource(), - request.getPosition()); - final Collection results = - completer.runCompletion(parsed, request.getPosition(), offset); - final GetCompletionItemsResponse mangledResults = - GetCompletionItemsResponse.newBuilder() + safelyOnNext(responseObserver, + response .setSuccess(true) - .setRequestId(request.getRequestId()) - .addAllItems(results.stream().map( - // insertTextFormat is a default we used to set in constructor; for now, we'll - // just process the objects before sending back to client - item -> item.setInsertTextFormat(2).build()) - .collect(Collectors.toSet())) - .build(); + .setRequestId(requestId) + .build()); + } catch (CompletionCancelled exception) { + if (log.isTraceEnabled()) { + log.trace().append("Completion canceled").append(exception).endl(); + } safelyOnNext(responseObserver, AutoCompleteResponse.newBuilder() - .setCompletionItems(mangledResults) + .setSuccess(false) + .setRequestId(request.getRequestId()) .build()); } catch (Exception exception) { if (ConsoleServiceGrpcImpl.QUIET_AUTOCOMPLETE_ERRORS) { @@ -154,13 +159,41 @@ private void getCompletionItems(GetCompletionItemsRequest request, } safelyOnNext(responseObserver, AutoCompleteResponse.newBuilder() - .setCompletionItems(GetCompletionItemsResponse.newBuilder() - .setSuccess(false) - .setRequestId(request.getRequestId())) + .setSuccess(false) + .setRequestId(request.getRequestId()) .build()); } } + private GetCompletionItemsResponse getCompletionItems(GetCompletionItemsRequest request, + SessionState.ExportObject exportedConsole, CompletionParser parser, + StreamObserver responseObserver) { + final ScriptSession scriptSession = exportedConsole.get(); + final VariableProvider vars = scriptSession.getVariableProvider(); + final VersionedTextDocumentIdentifier doc = request.getTextDocument(); + final CompletionLookups h = CompletionLookups.preload(scriptSession); + // The only stateful part of a completer is the CompletionLookups, which are already + // once-per-session-cached + // so, we'll just create a new completer for each request. No need to hang onto these guys. + final ChunkerCompleter completer = new ChunkerCompleter(log, vars, h); + + final ParsedDocument parsed = parser.finish(doc.getUri()); + + int offset = LspTools.getOffsetFromPosition(parsed.getSource(), + request.getPosition()); + final Collection results = + completer.runCompletion(parsed, request.getPosition(), offset); + return GetCompletionItemsResponse.newBuilder() + .setSuccess(true) + .setRequestId(request.getRequestId()) + .addAllItems(results.stream().map( + // insertTextFormat is a default we used to set in constructor; for now, we'll + // just process the objects before sending back to client + item -> item.setInsertTextFormat(2).build()) + .collect(Collectors.toSet())) + .build(); + } + @Override public void onError(Throwable t) { // ignore, client doesn't need us, will be cleaned up later diff --git a/server/src/main/java/io/deephaven/server/console/completer/PythonAutoCompleteObserver.java b/server/src/main/java/io/deephaven/server/console/completer/PythonAutoCompleteObserver.java index 2d5aa1dc27c..62412091a12 100644 --- a/server/src/main/java/io/deephaven/server/console/completer/PythonAutoCompleteObserver.java +++ b/server/src/main/java/io/deephaven/server/console/completer/PythonAutoCompleteObserver.java @@ -18,6 +18,7 @@ import javax.inject.Provider; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import static io.deephaven.extensions.barrage.util.GrpcUtil.safelyComplete; import static io.deephaven.extensions.barrage.util.GrpcUtil.safelyOnNext; @@ -47,8 +48,7 @@ public PythonAutoCompleteObserver(StreamObserver responseO public void onNext(AutoCompleteRequest value) { switch (value.getRequestCase()) { case OPEN_DOCUMENT: { - final OpenDocumentRequest openDoc = value.getOpenDocument(); - final TextDocumentItem doc = openDoc.getTextDocument(); + final TextDocumentItem doc = value.getOpenDocument().getTextDocument(); PyObject completer = (PyObject) scriptSession.get().getVariable("jedi_settings"); completer.callMethod("open_doc", doc.getText(), doc.getUri(), doc.getVersion()); break; @@ -70,37 +70,46 @@ public void onNext(AutoCompleteRequest value) { } completer.callMethod("update_doc", document, uri, version); - break; - } - case GET_COMPLETION_ITEMS: { - GetCompletionItemsRequest request = value.getGetCompletionItems(); - SessionState.ExportObject exportedConsole = - session.getExport(request.getConsoleId(), "consoleId"); - session.nonExport() - .require(exportedConsole) - .onError(responseObserver) - .submit(() -> { - getCompletionItems(request, exportedConsole, responseObserver); - }); + // TODO (https://github.com/deephaven/deephaven-core/issues/3614): Add publish diagnostics + // responseObserver.onNext(AutoCompleteResponse.newBuilder().setDiagnosticPublish()); break; } case CLOSE_DOCUMENT: { - CloseDocumentRequest request = value.getCloseDocument(); PyObject completer = (PyObject) scriptSession.get().getVariable("jedi_settings"); + CloseDocumentRequest request = value.getCloseDocument(); completer.callMethod("close_doc", request.getTextDocument().getUri()); break; } case REQUEST_NOT_SET: { throw Exceptions.statusRuntimeException(Code.INVALID_ARGUMENT, "Autocomplete command missing request"); } + default: { + // Maintain compatibility with older clients + // The only autocomplete type supported before the consoleId was moved to the parent request was + // GetCompletionItems + final io.deephaven.proto.backplane.grpc.Ticket consoleId = + value.hasConsoleId() ? value.getConsoleId() : value.getGetCompletionItems().getConsoleId(); + SessionState.ExportObject exportedConsole = session.getExport(consoleId, "consoleId"); + session.nonExport() + .require(exportedConsole) + .onError(responseObserver) + .submit(() -> { + handleAutocompleteRequest(value, exportedConsole, responseObserver); + }); + } } } - private void getCompletionItems(GetCompletionItemsRequest request, + private void handleAutocompleteRequest(AutoCompleteRequest request, SessionState.ExportObject exportedConsole, StreamObserver responseObserver) { - final ScriptSession scriptSession = exportedConsole.get(); + // Maintain compatibility with older clients + // The only autocomplete type supported before the consoleId was moved to the parent request was + // GetCompletionItems + final int requestId = + request.getRequestId() > 0 ? request.getRequestId() : request.getGetCompletionItems().getRequestId(); try { + final ScriptSession scriptSession = exportedConsole.get(); PyObject completer = (PyObject) scriptSession.getVariable("jedi_settings"); boolean canJedi = completer.callMethod("is_enabled").getBooleanValue(); if (!canJedi) { @@ -108,90 +117,40 @@ private void getCompletionItems(GetCompletionItemsRequest request, // send back an empty, failed response... safelyOnNext(responseObserver, AutoCompleteResponse.newBuilder() - .setCompletionItems(GetCompletionItemsResponse.newBuilder() - .setSuccess(false) - .setRequestId(request.getRequestId())) + .setSuccess(false) + .setRequestId(requestId) .build()); return; } - final VersionedTextDocumentIdentifier doc = request.getTextDocument(); - final Position pos = request.getPosition(); - final long startNano = System.nanoTime(); - - if (log.isTraceEnabled()) { - String text = completer.call("get_doc", doc.getUri()).getStringValue(); - log.trace().append("Completion version ").append(doc.getVersion()) - .append(" has source code:").append(text).endl(); - } - final PyObject results = completer.callMethod("do_completion", doc.getUri(), doc.getVersion(), - // our java is 0-indexed lines, 1-indexed chars. jedi is 1-indexed-both. - // we'll keep that translation ugliness to the in-java result-processing. - pos.getLine() + 1, pos.getCharacter()); - if (!results.isList()) { - throw new UnsupportedOperationException( - "Expected list from jedi_settings.do_completion, got " + results.call("repr")); - } - final long nanosJedi = System.nanoTime(); - // translate from-python list of completion results. For now, each item in the outer list is a [str, int] - // which contains the text of the replacement, and the column where is should be inserted. - List finalItems = new ArrayList<>(); - - for (PyObject result : results.asList()) { - if (!result.isList()) { - throw new UnsupportedOperationException("Expected list-of-lists from jedi_settings.do_completion, " - + - "got bad result " + result.call("repr") + " from full results: " + results.call("repr")); - } - // we expect [ "completion text", start_column ] as our result. - // in the future we may want to get more interesting info from jedi to pass back to client - final List items = result.asList(); - String completionName = items.get(0).getStringValue(); - int start = items.get(1).getIntValue(); - final CompletionItem.Builder item = CompletionItem.newBuilder(); - final TextEdit.Builder textEdit = item.getTextEditBuilder(); - textEdit.setText(completionName); - final DocumentRange.Builder range = textEdit.getRangeBuilder(); - item.setStart(start); - item.setLabel(completionName); - item.setLength(completionName.length()); - range.getStartBuilder().setLine(pos.getLine()).setCharacter(start); - range.getEndBuilder().setLine(pos.getLine()).setCharacter(pos.getCharacter()); - item.setInsertTextFormat(2); - item.setSortText(ChunkerCompleter.sortable(finalItems.size())); - finalItems.add(item.build()); - } - - final long nanosBuiltResponse = System.nanoTime(); - final GetCompletionItemsResponse builtItems = GetCompletionItemsResponse.newBuilder() - .setSuccess(true) - .setRequestId(request.getRequestId()) - .addAllItems(finalItems) - .build(); + AutoCompleteResponse.Builder response = AutoCompleteResponse.newBuilder(); - try { - safelyOnNext(responseObserver, - AutoCompleteResponse.newBuilder() - .setCompletionItems(builtItems) - .build()); - } finally { - // let's track how long completions take, as it's known that some - // modules like numpy can cause slow completion, and we'll want to know what was causing them - final long totalCompletionNanos = nanosBuiltResponse - startNano; - final long totalJediNanos = nanosJedi - startNano; - final long totalResponseBuildNanos = nanosBuiltResponse - nanosJedi; - // only log completions taking more than 100ms - if (totalCompletionNanos > HUNDRED_MS_IN_NS && log.isTraceEnabled()) { - log.trace().append("Found ") - .append(finalItems.size()) - .append(" jedi completions from doc ") - .append(doc.getVersion()) - .append("\tjedi_time=").append(toMillis(totalJediNanos)) - .append("\tbuild_response_time=").append(toMillis(totalResponseBuildNanos)) - .append("\ttotal_complete_time=").append(toMillis(totalCompletionNanos)) - .endl(); + switch (request.getRequestCase()) { + case GET_COMPLETION_ITEMS: { + response.setCompletionItems(getCompletionItems(request.getGetCompletionItems(), completer)); + break; + } + case GET_SIGNATURE_HELP: { + response.setSignatures(getSignatureHelp(request.getGetSignatureHelp(), completer)); + break; + } + case GET_HOVER: { + response.setHover(getHover(request.getGetHover(), completer)); + break; + } + case GET_DIAGNOSTIC: { + // TODO (https://github.com/deephaven/deephaven-core/issues/3614): Add user requested diagnostics + response.setDiagnostic(GetPullDiagnosticResponse.getDefaultInstance()); + break; } } + + safelyOnNext(responseObserver, + response + .setSuccess(true) + .setRequestId(requestId) + .build()); + } catch (Throwable exception) { if (ConsoleServiceGrpcImpl.QUIET_AUTOCOMPLETE_ERRORS) { exception.printStackTrace(); @@ -203,9 +162,8 @@ private void getCompletionItems(GetCompletionItemsRequest request, } safelyOnNext(responseObserver, AutoCompleteResponse.newBuilder() - .setCompletionItems(GetCompletionItemsResponse.newBuilder() - .setSuccess(false) - .setRequestId(request.getRequestId())) + .setSuccess(false) + .setRequestId(requestId) .build()); if (exception instanceof Error) { throw exception; @@ -213,6 +171,130 @@ private void getCompletionItems(GetCompletionItemsRequest request, } } + private GetCompletionItemsResponse getCompletionItems(GetCompletionItemsRequest request, PyObject completer) { + final VersionedTextDocumentIdentifier doc = request.getTextDocument(); + final Position pos = request.getPosition(); + + final PyObject results = completer.callMethod("do_completion", doc.getUri(), doc.getVersion(), + // our java is 0-indexed lines and chars. jedi is 1-indexed lines and 0-indexed chars + // we'll keep that translation ugliness to the in-java result-processing. + pos.getLine() + 1, pos.getCharacter()); + if (!results.isList()) { + throw new UnsupportedOperationException( + "Expected list from jedi_settings.do_completion, got " + results.call("repr")); + } + // translate from-python list of completion results. For now, each item in the outer list is a [str, int] + // which contains the text of the replacement, and the column where it should be inserted. + List finalItems = new ArrayList<>(); + + for (PyObject result : results.asList()) { + if (!result.isList()) { + throw new UnsupportedOperationException("Expected list-of-lists from jedi_settings.do_completion, " + + + "got bad result " + result.call("repr") + " from full results: " + results.call("repr")); + } + // we expect [ "completion text", start_column, description, docstring, kind ] as our result. + // in the future we may want to get more interesting info from jedi to pass back to client + final List items = result.asList(); + String completionName = items.get(0).getStringValue(); + int start = items.get(1).getIntValue(); + final CompletionItem.Builder item = CompletionItem.newBuilder(); + final TextEdit.Builder textEdit = item.getTextEditBuilder(); + textEdit.setText(completionName); + final DocumentRange.Builder range = textEdit.getRangeBuilder(); + item.setStart(start); + item.setLabel(completionName); + item.setLength(completionName.length()); + item.setDetail(items.get(2).getStringValue()); + item.setDocumentation( + MarkupContent.newBuilder().setValue(items.get(3).getStringValue()).setKind("plaintext").build()); + item.setKind(items.get(4).getIntValue()); + range.getStartBuilder().setLine(pos.getLine()).setCharacter(start); + range.getEndBuilder().setLine(pos.getLine()).setCharacter(pos.getCharacter()); + item.setInsertTextFormat(2); + item.setSortText(ChunkerCompleter.sortable(finalItems.size())); + finalItems.add(item.build()); + } + + return GetCompletionItemsResponse.newBuilder() + .setSuccess(true) + .setRequestId(request.getRequestId()) + .addAllItems(finalItems) + .build(); + } + + private GetSignatureHelpResponse getSignatureHelp(GetSignatureHelpRequest request, PyObject completer) { + final VersionedTextDocumentIdentifier doc = request.getTextDocument(); + final Position pos = request.getPosition(); + + final PyObject results = completer.callMethod("do_signature_help", doc.getUri(), doc.getVersion(), + // our java is 0-indexed lines and chars. jedi is 1-indexed lines and 0-indexed chars + // we'll keep that translation ugliness to the in-java result-processing. + pos.getLine() + 1, pos.getCharacter()); + if (!results.isList()) { + throw new UnsupportedOperationException( + "Expected list from jedi_settings.do_signature_help, got " + results.call("repr")); + } + + // translate from-python list of completion results. For now, each item in the outer list is a [str, int] + // which contains the text of the replacement, and the column where is should be inserted. + List finalItems = new ArrayList<>(); + + for (PyObject result : results.asList()) { + if (!result.isList()) { + throw new UnsupportedOperationException("Expected list-of-lists from jedi_settings.do_signature_help, " + + + "got bad result " + result.call("repr") + " from full results: " + results.call("repr")); + } + // we expect [ label, documentation, [params], active_parameter ] as our result + final List signature = result.asList(); + String label = signature.get(0).getStringValue(); + String docstring = signature.get(1).getStringValue(); + int activeParam = signature.get(3).getIntValue(); + + final SignatureInformation.Builder item = SignatureInformation.newBuilder(); + item.setLabel(label); + item.setDocumentation(MarkupContent.newBuilder().setValue(docstring).setKind("plaintext").build()); + item.setActiveParameter(activeParam); + + signature.get(2).asList().forEach(obj -> { + final List param = obj.asList(); + item.addParameters(ParameterInformation.newBuilder().setLabel(param.get(0).getStringValue()) + .setDocumentation(MarkupContent.newBuilder().setValue(param.get(1).getStringValue()) + .setKind("plaintext").build())); + }); + + finalItems.add(item.build()); + } + + return GetSignatureHelpResponse.newBuilder() + .addAllSignatures(finalItems) + .build(); + } + + private GetHoverResponse getHover(GetHoverRequest request, PyObject completer) { + final VersionedTextDocumentIdentifier doc = request.getTextDocument(); + final Position pos = request.getPosition(); + + final PyObject result = completer.callMethod("do_hover", doc.getUri(), doc.getVersion(), + // our java is 0-indexed lines and chars. jedi is 1-indexed lines and 0-indexed chars + // we'll keep that translation ugliness to the in-java result-processing. + pos.getLine() + 1, pos.getCharacter()); + if (!result.isList()) { + throw new UnsupportedOperationException( + "Expected list from jedi_settings.do_hover, got " + result.call("repr")); + } + + // We expect [ contents ] as our result + // We don't set the range b/c Jedi doesn't seem to give the word range under the cursor easily + // Monaco in the web auto-detects the word range for the hover if not set + final List hover = result.asList(); + + return GetHoverResponse.newBuilder() + .setContents(MarkupContent.newBuilder().setValue(hover.get(0).getStringValue()).setKind("markdown")) + .build(); + } + private String toMillis(final long totalNanos) { StringBuilder totalNano = new StringBuilder(Long.toString(totalNanos)); while (totalNano.length() < 7) { diff --git a/web/client-api/src/main/java/io/deephaven/web/client/ide/IdeSession.java b/web/client-api/src/main/java/io/deephaven/web/client/ide/IdeSession.java index c63bca5d196..2f76126d37f 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/ide/IdeSession.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/ide/IdeSession.java @@ -52,7 +52,7 @@ public class IdeSession extends HasEventHandling { private final WorkerConnection connection; private final JsRunnable closer; private int nextAutocompleteRequestId = 0; - private Map>> pendingAutocompleteCalls = + private Map> pendingAutocompleteCalls = new HashMap<>(); private final Supplier> streamFactory; @@ -204,15 +204,10 @@ private BiDiStream ensureStream() { } currentStream = streamFactory.get(); currentStream.onData(res -> { - LazyPromise> pendingPromise = - pendingAutocompleteCalls.remove(res.getCompletionItems().getRequestId()); - if (pendingPromise == null) { - return; - } - if (res.getCompletionItems().getSuccess()) { - pendingPromise.succeed(cleanupItems(res.getCompletionItems().getItemsList())); + if (res.getSuccess()) { + pendingAutocompleteCalls.remove(res.getRequestId()).succeed(res); } else { - pendingPromise + pendingAutocompleteCalls.remove(res.getRequestId()) .fail("Error occurred handling autocomplete on the server, probably request is out of date"); } }); @@ -250,6 +245,7 @@ public void openDocument(Object params) { JsLog.debug("Opening document for autocomplete ", request); AutoCompleteRequest wrapper = new AutoCompleteRequest(); + wrapper.setConsoleId(result); wrapper.setOpenDocument(request); ensureStream().send(wrapper); } @@ -283,6 +279,7 @@ public void changeDocument(Object params) { JsLog.debug("Sending content changes", request); AutoCompleteRequest wrapper = new AutoCompleteRequest(); + wrapper.setConsoleId(result); wrapper.setChangeDocument(request); ensureStream().send(wrapper); } @@ -303,45 +300,98 @@ private Position toPosition(final Any pos) { return result; } + private AutoCompleteRequest getAutoCompleteRequest() { + AutoCompleteRequest request = new AutoCompleteRequest(); + request.setConsoleId(this.result); + request.setRequestId(nextAutocompleteRequestId); + nextAutocompleteRequestId++; + return request; + } + public Promise> getCompletionItems(Object params) { final JsPropertyMap jsMap = Js.uncheckedCast(params); - final GetCompletionItemsRequest request = new GetCompletionItemsRequest(); + final GetCompletionItemsRequest completionRequest = new GetCompletionItemsRequest(); final VersionedTextDocumentIdentifier textDocument = toVersionedTextDoc(jsMap.getAsAny("textDocument")); - request.setTextDocument(textDocument); - request.setPosition(toPosition(jsMap.getAsAny("position"))); - request.setContext(toContext(jsMap.getAsAny("context"))); - request.setConsoleId(this.result); - request.setRequestId(nextAutocompleteRequestId++); + completionRequest.setTextDocument(textDocument); + completionRequest.setPosition(toPosition(jsMap.getAsAny("position"))); + completionRequest.setContext(toContext(jsMap.getAsAny("context"))); - LazyPromise> promise = new LazyPromise<>(); - AutoCompleteRequest wrapper = new AutoCompleteRequest(); - wrapper.setGetCompletionItems(request); - ensureStream().send(wrapper); + final AutoCompleteRequest request = getAutoCompleteRequest(); + request.setGetCompletionItems(completionRequest); + + // Set these in case running against an old server implementation + completionRequest.setConsoleId(request.getConsoleId()); + completionRequest.setRequestId(request.getRequestId()); + + LazyPromise promise = new LazyPromise<>(); pendingAutocompleteCalls.put(request.getRequestId(), promise); + ensureStream().send(request); return promise .timeout(JsTable.MAX_BATCH_TIME) .asPromise() - .then(Promise::resolve, fail -> { - pendingAutocompleteCalls.remove(request.getRequestId()); - // noinspection unchecked, rawtypes - return (Promise>) (Promise) Promise - .reject(fail); - }); + .then(res -> Promise.resolve( + res.getCompletionItems().getItemsList().map((item, index, arr) -> LspTranslate.toJs(item))), + fail -> { + // noinspection unchecked, rawtypes + return (Promise>) (Promise) Promise + .reject(fail); + }); } - private JsArray cleanupItems( - final JsArray itemsList) { - JsArray cleaned = new JsArray<>(); - if (itemsList != null) { - for (int i = 0; i < itemsList.getLength(); i++) { - final CompletionItem item = itemsList.getAt(i); - final io.deephaven.web.shared.ide.lsp.CompletionItem copy = LspTranslate.toJs(item); - cleaned.push(copy); - } - } - return cleaned; + + public Promise> getSignatureHelp(Object params) { + final JsPropertyMap jsMap = Js.uncheckedCast(params); + final GetSignatureHelpRequest signatureHelpRequest = new GetSignatureHelpRequest(); + + final VersionedTextDocumentIdentifier textDocument = toVersionedTextDoc(jsMap.getAsAny("textDocument")); + signatureHelpRequest.setTextDocument(textDocument); + signatureHelpRequest.setPosition(toPosition(jsMap.getAsAny("position"))); + + final AutoCompleteRequest request = getAutoCompleteRequest(); + request.setGetSignatureHelp(signatureHelpRequest); + + LazyPromise promise = new LazyPromise<>(); + pendingAutocompleteCalls.put(request.getRequestId(), promise); + ensureStream().send(request); + + return promise + .timeout(JsTable.MAX_BATCH_TIME) + .asPromise() + .then(res -> Promise.resolve( + res.getSignatures().getSignaturesList().map((item, index, arr) -> LspTranslate.toJs(item))), + fail -> { + // noinspection unchecked, rawtypes + return (Promise>) (Promise) Promise + .reject(fail); + }); + } + + public Promise getHover(Object params) { + final JsPropertyMap jsMap = Js.uncheckedCast(params); + final GetHoverRequest hoverRequest = new GetHoverRequest(); + + final VersionedTextDocumentIdentifier textDocument = toVersionedTextDoc(jsMap.getAsAny("textDocument")); + hoverRequest.setTextDocument(textDocument); + hoverRequest.setPosition(toPosition(jsMap.getAsAny("position"))); + + final AutoCompleteRequest request = getAutoCompleteRequest(); + request.setGetHover(hoverRequest); + + LazyPromise promise = new LazyPromise<>(); + pendingAutocompleteCalls.put(request.getRequestId(), promise); + ensureStream().send(request); + + return promise + .timeout(JsTable.MAX_BATCH_TIME) + .asPromise() + .then(res -> Promise.resolve(LspTranslate.toJs(res.getHover())), + fail -> { + // noinspection unchecked, rawtypes + return (Promise) (Promise) Promise + .reject(fail); + }); } private CompletionContext toContext(final Any context) { @@ -364,6 +414,7 @@ public void closeDocument(Object params) { JsLog.debug("Closing document for autocomplete ", request); AutoCompleteRequest wrapper = new AutoCompleteRequest(); + wrapper.setConsoleId(result); wrapper.setCloseDocument(request); ensureStream().send(wrapper); } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/ide/LspTranslate.java b/web/client-api/src/main/java/io/deephaven/web/client/ide/LspTranslate.java index 2357de3eb2b..99f58be079c 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/ide/LspTranslate.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/ide/LspTranslate.java @@ -4,10 +4,7 @@ package io.deephaven.web.client.ide; import elemental2.core.JsArray; -import io.deephaven.web.shared.ide.lsp.CompletionItem; -import io.deephaven.web.shared.ide.lsp.DocumentRange; -import io.deephaven.web.shared.ide.lsp.Position; -import io.deephaven.web.shared.ide.lsp.TextEdit; +import io.deephaven.web.shared.ide.lsp.*; /** * LspTranslate: @@ -33,8 +30,8 @@ public static CompletionItem toJs( if (!src.getDetail().isEmpty()) { item.detail = src.getDetail(); } - if (!src.getDocumentation().isEmpty()) { - item.documentation = src.getDocumentation(); + if (src.hasDocumentation()) { + item.documentation = toJs(src.getDocumentation()); } if (!src.getFilterText().isEmpty()) { item.filterText = src.getFilterText(); @@ -82,4 +79,56 @@ private static Position toJs( item.character = (int) src.getCharacter(); return item; } + + private static MarkupContent toJs( + final io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.MarkupContent src) { + final MarkupContent content = new MarkupContent(); + + content.kind = src.getKind(); + content.value = src.getValue(); + return content; + } + + public static SignatureInformation toJs( + io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.SignatureInformation src) { + final SignatureInformation item = new SignatureInformation(); + item.label = src.getLabel(); + if (src.hasDocumentation()) { + item.documentation = toJs(src.getDocumentation()); + } + if (src.hasActiveParameter()) { + item.activeParameter = src.getActiveParameter(); + } + + final JsArray params = new JsArray<>(); + final JsArray paramsList = + src.getParametersList(); + for (int i = 0; i < paramsList.getLength(); i++) { + params.push(toJs(paramsList.getAt(i))); + } + item.setParameters(params); + return item; + } + + private static ParameterInformation toJs( + final io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.ParameterInformation src) { + final ParameterInformation item = new ParameterInformation(); + item.label = src.getLabel(); + item.documentation = toJs(src.getDocumentation()); + return item; + } + + public static Hover toJs( + final io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.GetHoverResponse src) { + final Hover item = new Hover(); + + if (src.hasContents()) { + item.contents = toJs(src.getContents()); + } + if (src.hasRange()) { + item.range = toJs(src.getRange()); + } + + return item; + } } diff --git a/web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/CompletionItem.java b/web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/CompletionItem.java index fd78e5adf2c..bf209d4eb34 100644 --- a/web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/CompletionItem.java +++ b/web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/CompletionItem.java @@ -24,7 +24,7 @@ public class CompletionItem implements Serializable { public String label; public int kind; public String detail; - public String documentation; + public MarkupContent documentation; public boolean deprecated; public boolean preselect; public TextEdit textEdit; diff --git a/web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/Hover.java b/web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/Hover.java new file mode 100644 index 00000000000..ab5602d4fee --- /dev/null +++ b/web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/Hover.java @@ -0,0 +1,24 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.web.shared.ide.lsp; + +import jsinterop.annotations.JsIgnore; +import jsinterop.annotations.JsType; + +import java.io.Serializable; + +@JsType(namespace = "dh.lsp") +public class Hover implements Serializable { + public MarkupContent contents; + public DocumentRange range; + + @Override + @JsIgnore + public String toString() { + return "Hover{" + + "contents=" + contents + + ", range='" + range.toString() + '\'' + + '}'; + } +} diff --git a/web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/MarkupContent.java b/web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/MarkupContent.java new file mode 100644 index 00000000000..e5ef5305277 --- /dev/null +++ b/web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/MarkupContent.java @@ -0,0 +1,26 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.web.shared.ide.lsp; + +import jsinterop.annotations.JsIgnore; +import jsinterop.annotations.JsType; +import jsinterop.base.JsPropertyMap; + +import java.io.Serializable; +import java.util.Objects; + +@JsType(namespace = "dh.lsp") +public class MarkupContent implements Serializable { + public String kind; + public String value; + + @Override + @JsIgnore + public String toString() { + return "MarkupContent{" + + "kind=" + kind + + ", value=" + value + + '}'; + } +} diff --git a/web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/ParameterInformation.java b/web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/ParameterInformation.java new file mode 100644 index 00000000000..439eb16ff1b --- /dev/null +++ b/web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/ParameterInformation.java @@ -0,0 +1,24 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.web.shared.ide.lsp; + +import jsinterop.annotations.JsIgnore; +import jsinterop.annotations.JsType; + +import java.io.Serializable; + +@JsType(namespace = "dh.lsp") +public class ParameterInformation implements Serializable { + public String label; + public MarkupContent documentation; + + @Override + @JsIgnore + public String toString() { + return "ParameterInformation{" + + "label=" + label + + ", documentation='" + documentation + '\'' + + '}'; + } +} diff --git a/web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/SignatureInformation.java b/web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/SignatureInformation.java new file mode 100644 index 00000000000..828d16891c2 --- /dev/null +++ b/web/client-api/src/main/java/io/deephaven/web/shared/ide/lsp/SignatureInformation.java @@ -0,0 +1,58 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.web.shared.ide.lsp; + +import com.google.gwt.core.client.JavaScriptObject; +import elemental2.core.JsArray; +import elemental2.core.JsObject; +import jsinterop.annotations.JsIgnore; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; + +import java.io.Serializable; +import java.lang.reflect.Array; +import java.util.Arrays; +import java.util.Objects; + +import static io.deephaven.web.shared.fu.JsArrays.setArray; + +@JsType(namespace = "dh.lsp") +public class SignatureInformation implements Serializable { + public String label; + public MarkupContent documentation; + private ParameterInformation[] parameters; + public int activeParameter; + + @JsProperty + public void setParameters(Object args) { + if (args == null || args instanceof ParameterInformation[]) { + parameters = (ParameterInformation[]) args; + } else if (args instanceof JavaScriptObject) { + // this is actually javascript. We can do terrible things here and it's ok + final int length = Array.getLength(args); + final ParameterInformation[] typed = new ParameterInformation[length]; + System.arraycopy(args, 0, typed, 0, length); + parameters = JsObject.freeze(typed); + } else { + throw new IllegalArgumentException("Not a ParameterInformation[] or js []" + args); + } + } + + @JsProperty + public Object getParameters() { + return parameters; + } + + @Override + @JsIgnore + public String toString() { + return "SignatureInformation{" + + "label=" + label + + ", documentation=" + documentation + + ", parameters=" + Arrays.toString(parameters) + + ", activeParameter=" + activeParameter + + "}\n"; + } +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/AutoCompleteRequest.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/AutoCompleteRequest.java index cc5f3084cb6..b623fc682a1 100644 --- a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/AutoCompleteRequest.java +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/AutoCompleteRequest.java @@ -5,6 +5,7 @@ import elemental2.core.JsArray; import elemental2.core.Uint8Array; +import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.ticket_pb.Ticket; import jsinterop.annotations.JsOverlay; import jsinterop.annotations.JsPackage; import jsinterop.annotations.JsProperty; @@ -163,6 +164,64 @@ static AutoCompleteRequest.ToObjectReturnType.CloseDocumentFieldType create() { void setTextDocument(Object textDocument); } + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ConsoleIdFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetTicketUnionType { + @JsOverlay + static AutoCompleteRequest.ToObjectReturnType.ConsoleIdFieldType.GetTicketUnionType of( + Object o) { + return Js.cast(o); + } + + @JsOverlay + default String asString() { + return Js.asString(this); + } + + @JsOverlay + default Uint8Array asUint8Array() { + return Js.cast(this); + } + + @JsOverlay + default boolean isString() { + return (Object) this instanceof String; + } + + @JsOverlay + default boolean isUint8Array() { + return (Object) this instanceof Uint8Array; + } + } + + @JsOverlay + static AutoCompleteRequest.ToObjectReturnType.ConsoleIdFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + AutoCompleteRequest.ToObjectReturnType.ConsoleIdFieldType.GetTicketUnionType getTicket(); + + @JsProperty + void setTicket( + AutoCompleteRequest.ToObjectReturnType.ConsoleIdFieldType.GetTicketUnionType ticket); + + @JsOverlay + default void setTicket(String ticket) { + setTicket( + Js.uncheckedCast( + ticket)); + } + + @JsOverlay + default void setTicket(Uint8Array ticket) { + setTicket( + Js.uncheckedCast( + ticket)); + } + } + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface GetCompletionItemsFieldType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) @@ -223,65 +282,230 @@ void setContext( } @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface OpenDocumentFieldType { + public interface GetDiagnosticFieldType { + @JsOverlay + static AutoCompleteRequest.ToObjectReturnType.GetDiagnosticFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getIdentifier(); + + @JsProperty + String getPreviousResultId(); + + @JsProperty + Object getTextDocument(); + + @JsProperty + void setIdentifier(String identifier); + + @JsProperty + void setPreviousResultId(String previousResultId); + + @JsProperty + void setTextDocument(Object textDocument); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetHoverFieldType { + @JsOverlay + static AutoCompleteRequest.ToObjectReturnType.GetHoverFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getPosition(); + + @JsProperty + Object getTextDocument(); + + @JsProperty + void setPosition(Object position); + + @JsProperty + void setTextDocument(Object textDocument); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetSignatureHelpFieldType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface ConsoleIdFieldType { + public interface ContextFieldType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface GetTicketUnionType { - @JsOverlay - static AutoCompleteRequest.ToObjectReturnType.OpenDocumentFieldType.ConsoleIdFieldType.GetTicketUnionType of( - Object o) { - return Js.cast(o); - } + public interface ActiveSignatureHelpFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface SignaturesListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static AutoCompleteRequest.ToObjectReturnType.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } - @JsOverlay - default String asString() { - return Js.asString(this); - } + @JsProperty + String getKind(); - @JsOverlay - default Uint8Array asUint8Array() { - return Js.cast(this); + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ParametersListFieldType { + @JsOverlay + static AutoCompleteRequest.ToObjectReturnType.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.ParametersListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + void setDocumentation(Object documentation); + + @JsProperty + void setLabel(String label); + } + + @JsOverlay + static AutoCompleteRequest.ToObjectReturnType.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + AutoCompleteRequest.ToObjectReturnType.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + JsArray getParametersList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setDocumentation( + AutoCompleteRequest.ToObjectReturnType.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType documentation); + + @JsProperty + void setLabel(String label); + + @JsProperty + void setParametersList( + JsArray parametersList); + + @JsOverlay + default void setParametersList( + AutoCompleteRequest.ToObjectReturnType.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.ParametersListFieldType[] parametersList) { + setParametersList( + Js.>uncheckedCast( + parametersList)); + } } @JsOverlay - default boolean isString() { - return (Object) this instanceof String; + static AutoCompleteRequest.ToObjectReturnType.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); } + @JsProperty + double getActiveParameter(); + + @JsProperty + double getActiveSignature(); + + @JsProperty + JsArray getSignaturesList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setActiveSignature(double activeSignature); + + @JsProperty + void setSignaturesList( + JsArray signaturesList); + @JsOverlay - default boolean isUint8Array() { - return (Object) this instanceof Uint8Array; + default void setSignaturesList( + AutoCompleteRequest.ToObjectReturnType.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType[] signaturesList) { + setSignaturesList( + Js.>uncheckedCast( + signaturesList)); } } @JsOverlay - static AutoCompleteRequest.ToObjectReturnType.OpenDocumentFieldType.ConsoleIdFieldType create() { + static AutoCompleteRequest.ToObjectReturnType.GetSignatureHelpFieldType.ContextFieldType create() { return Js.uncheckedCast(JsPropertyMap.of()); } @JsProperty - AutoCompleteRequest.ToObjectReturnType.OpenDocumentFieldType.ConsoleIdFieldType.GetTicketUnionType getTicket(); + AutoCompleteRequest.ToObjectReturnType.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType getActiveSignatureHelp(); + + @JsProperty + String getTriggerCharacter(); @JsProperty - void setTicket( - AutoCompleteRequest.ToObjectReturnType.OpenDocumentFieldType.ConsoleIdFieldType.GetTicketUnionType ticket); + double getTriggerKind(); - @JsOverlay - default void setTicket(String ticket) { - setTicket( - Js.uncheckedCast( - ticket)); - } + @JsProperty + boolean isIsRetrigger(); - @JsOverlay - default void setTicket(Uint8Array ticket) { - setTicket( - Js.uncheckedCast( - ticket)); - } + @JsProperty + void setActiveSignatureHelp( + AutoCompleteRequest.ToObjectReturnType.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType activeSignatureHelp); + + @JsProperty + void setIsRetrigger(boolean isRetrigger); + + @JsProperty + void setTriggerCharacter(String triggerCharacter); + + @JsProperty + void setTriggerKind(double triggerKind); + } + + @JsOverlay + static AutoCompleteRequest.ToObjectReturnType.GetSignatureHelpFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); } + @JsProperty + AutoCompleteRequest.ToObjectReturnType.GetSignatureHelpFieldType.ContextFieldType getContext(); + + @JsProperty + Object getPosition(); + + @JsProperty + Object getTextDocument(); + + @JsProperty + void setContext( + AutoCompleteRequest.ToObjectReturnType.GetSignatureHelpFieldType.ContextFieldType context); + + @JsProperty + void setPosition(Object position); + + @JsProperty + void setTextDocument(Object textDocument); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface OpenDocumentFieldType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface TextDocumentFieldType { @JsOverlay @@ -320,14 +544,13 @@ static AutoCompleteRequest.ToObjectReturnType.OpenDocumentFieldType create() { } @JsProperty - AutoCompleteRequest.ToObjectReturnType.OpenDocumentFieldType.ConsoleIdFieldType getConsoleId(); + Object getConsoleId(); @JsProperty AutoCompleteRequest.ToObjectReturnType.OpenDocumentFieldType.TextDocumentFieldType getTextDocument(); @JsProperty - void setConsoleId( - AutoCompleteRequest.ToObjectReturnType.OpenDocumentFieldType.ConsoleIdFieldType consoleId); + void setConsoleId(Object consoleId); @JsProperty void setTextDocument( @@ -345,12 +568,27 @@ static AutoCompleteRequest.ToObjectReturnType create() { @JsProperty AutoCompleteRequest.ToObjectReturnType.CloseDocumentFieldType getCloseDocument(); + @JsProperty + AutoCompleteRequest.ToObjectReturnType.ConsoleIdFieldType getConsoleId(); + @JsProperty AutoCompleteRequest.ToObjectReturnType.GetCompletionItemsFieldType getGetCompletionItems(); + @JsProperty + AutoCompleteRequest.ToObjectReturnType.GetDiagnosticFieldType getGetDiagnostic(); + + @JsProperty + AutoCompleteRequest.ToObjectReturnType.GetHoverFieldType getGetHover(); + + @JsProperty + AutoCompleteRequest.ToObjectReturnType.GetSignatureHelpFieldType getGetSignatureHelp(); + @JsProperty AutoCompleteRequest.ToObjectReturnType.OpenDocumentFieldType getOpenDocument(); + @JsProperty + double getRequestId(); + @JsProperty void setChangeDocument( AutoCompleteRequest.ToObjectReturnType.ChangeDocumentFieldType changeDocument); @@ -359,12 +597,29 @@ void setChangeDocument( void setCloseDocument( AutoCompleteRequest.ToObjectReturnType.CloseDocumentFieldType closeDocument); + @JsProperty + void setConsoleId(AutoCompleteRequest.ToObjectReturnType.ConsoleIdFieldType consoleId); + @JsProperty void setGetCompletionItems( AutoCompleteRequest.ToObjectReturnType.GetCompletionItemsFieldType getCompletionItems); + @JsProperty + void setGetDiagnostic( + AutoCompleteRequest.ToObjectReturnType.GetDiagnosticFieldType getDiagnostic); + + @JsProperty + void setGetHover(AutoCompleteRequest.ToObjectReturnType.GetHoverFieldType getHover); + + @JsProperty + void setGetSignatureHelp( + AutoCompleteRequest.ToObjectReturnType.GetSignatureHelpFieldType getSignatureHelp); + @JsProperty void setOpenDocument(AutoCompleteRequest.ToObjectReturnType.OpenDocumentFieldType openDocument); + + @JsProperty + void setRequestId(double requestId); } @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) @@ -513,6 +768,64 @@ static AutoCompleteRequest.ToObjectReturnType0.CloseDocumentFieldType create() { void setTextDocument(Object textDocument); } + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ConsoleIdFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetTicketUnionType { + @JsOverlay + static AutoCompleteRequest.ToObjectReturnType0.ConsoleIdFieldType.GetTicketUnionType of( + Object o) { + return Js.cast(o); + } + + @JsOverlay + default String asString() { + return Js.asString(this); + } + + @JsOverlay + default Uint8Array asUint8Array() { + return Js.cast(this); + } + + @JsOverlay + default boolean isString() { + return (Object) this instanceof String; + } + + @JsOverlay + default boolean isUint8Array() { + return (Object) this instanceof Uint8Array; + } + } + + @JsOverlay + static AutoCompleteRequest.ToObjectReturnType0.ConsoleIdFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + AutoCompleteRequest.ToObjectReturnType0.ConsoleIdFieldType.GetTicketUnionType getTicket(); + + @JsProperty + void setTicket( + AutoCompleteRequest.ToObjectReturnType0.ConsoleIdFieldType.GetTicketUnionType ticket); + + @JsOverlay + default void setTicket(String ticket) { + setTicket( + Js.uncheckedCast( + ticket)); + } + + @JsOverlay + default void setTicket(Uint8Array ticket) { + setTicket( + Js.uncheckedCast( + ticket)); + } + } + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface GetCompletionItemsFieldType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) @@ -573,65 +886,230 @@ void setContext( } @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface OpenDocumentFieldType { + public interface GetDiagnosticFieldType { + @JsOverlay + static AutoCompleteRequest.ToObjectReturnType0.GetDiagnosticFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getIdentifier(); + + @JsProperty + String getPreviousResultId(); + + @JsProperty + Object getTextDocument(); + + @JsProperty + void setIdentifier(String identifier); + + @JsProperty + void setPreviousResultId(String previousResultId); + + @JsProperty + void setTextDocument(Object textDocument); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetHoverFieldType { + @JsOverlay + static AutoCompleteRequest.ToObjectReturnType0.GetHoverFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getPosition(); + + @JsProperty + Object getTextDocument(); + + @JsProperty + void setPosition(Object position); + + @JsProperty + void setTextDocument(Object textDocument); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetSignatureHelpFieldType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface ConsoleIdFieldType { + public interface ContextFieldType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) - public interface GetTicketUnionType { - @JsOverlay - static AutoCompleteRequest.ToObjectReturnType0.OpenDocumentFieldType.ConsoleIdFieldType.GetTicketUnionType of( - Object o) { - return Js.cast(o); - } + public interface ActiveSignatureHelpFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface SignaturesListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static AutoCompleteRequest.ToObjectReturnType0.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } - @JsOverlay - default String asString() { - return Js.asString(this); - } + @JsProperty + String getKind(); - @JsOverlay - default Uint8Array asUint8Array() { - return Js.cast(this); + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ParametersListFieldType { + @JsOverlay + static AutoCompleteRequest.ToObjectReturnType0.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.ParametersListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + void setDocumentation(Object documentation); + + @JsProperty + void setLabel(String label); + } + + @JsOverlay + static AutoCompleteRequest.ToObjectReturnType0.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + AutoCompleteRequest.ToObjectReturnType0.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + JsArray getParametersList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setDocumentation( + AutoCompleteRequest.ToObjectReturnType0.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType documentation); + + @JsProperty + void setLabel(String label); + + @JsProperty + void setParametersList( + JsArray parametersList); + + @JsOverlay + default void setParametersList( + AutoCompleteRequest.ToObjectReturnType0.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.ParametersListFieldType[] parametersList) { + setParametersList( + Js.>uncheckedCast( + parametersList)); + } } @JsOverlay - default boolean isString() { - return (Object) this instanceof String; + static AutoCompleteRequest.ToObjectReturnType0.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); } + @JsProperty + double getActiveParameter(); + + @JsProperty + double getActiveSignature(); + + @JsProperty + JsArray getSignaturesList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setActiveSignature(double activeSignature); + + @JsProperty + void setSignaturesList( + JsArray signaturesList); + @JsOverlay - default boolean isUint8Array() { - return (Object) this instanceof Uint8Array; + default void setSignaturesList( + AutoCompleteRequest.ToObjectReturnType0.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType[] signaturesList) { + setSignaturesList( + Js.>uncheckedCast( + signaturesList)); } } @JsOverlay - static AutoCompleteRequest.ToObjectReturnType0.OpenDocumentFieldType.ConsoleIdFieldType create() { + static AutoCompleteRequest.ToObjectReturnType0.GetSignatureHelpFieldType.ContextFieldType create() { return Js.uncheckedCast(JsPropertyMap.of()); } @JsProperty - AutoCompleteRequest.ToObjectReturnType0.OpenDocumentFieldType.ConsoleIdFieldType.GetTicketUnionType getTicket(); + AutoCompleteRequest.ToObjectReturnType0.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType getActiveSignatureHelp(); @JsProperty - void setTicket( - AutoCompleteRequest.ToObjectReturnType0.OpenDocumentFieldType.ConsoleIdFieldType.GetTicketUnionType ticket); + String getTriggerCharacter(); - @JsOverlay - default void setTicket(String ticket) { - setTicket( - Js.uncheckedCast( - ticket)); - } + @JsProperty + double getTriggerKind(); - @JsOverlay - default void setTicket(Uint8Array ticket) { - setTicket( - Js.uncheckedCast( - ticket)); - } + @JsProperty + boolean isIsRetrigger(); + + @JsProperty + void setActiveSignatureHelp( + AutoCompleteRequest.ToObjectReturnType0.GetSignatureHelpFieldType.ContextFieldType.ActiveSignatureHelpFieldType activeSignatureHelp); + + @JsProperty + void setIsRetrigger(boolean isRetrigger); + + @JsProperty + void setTriggerCharacter(String triggerCharacter); + + @JsProperty + void setTriggerKind(double triggerKind); } + @JsOverlay + static AutoCompleteRequest.ToObjectReturnType0.GetSignatureHelpFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + AutoCompleteRequest.ToObjectReturnType0.GetSignatureHelpFieldType.ContextFieldType getContext(); + + @JsProperty + Object getPosition(); + + @JsProperty + Object getTextDocument(); + + @JsProperty + void setContext( + AutoCompleteRequest.ToObjectReturnType0.GetSignatureHelpFieldType.ContextFieldType context); + + @JsProperty + void setPosition(Object position); + + @JsProperty + void setTextDocument(Object textDocument); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface OpenDocumentFieldType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface TextDocumentFieldType { @JsOverlay @@ -670,14 +1148,13 @@ static AutoCompleteRequest.ToObjectReturnType0.OpenDocumentFieldType create() { } @JsProperty - AutoCompleteRequest.ToObjectReturnType0.OpenDocumentFieldType.ConsoleIdFieldType getConsoleId(); + Object getConsoleId(); @JsProperty AutoCompleteRequest.ToObjectReturnType0.OpenDocumentFieldType.TextDocumentFieldType getTextDocument(); @JsProperty - void setConsoleId( - AutoCompleteRequest.ToObjectReturnType0.OpenDocumentFieldType.ConsoleIdFieldType consoleId); + void setConsoleId(Object consoleId); @JsProperty void setTextDocument( @@ -695,12 +1172,27 @@ static AutoCompleteRequest.ToObjectReturnType0 create() { @JsProperty AutoCompleteRequest.ToObjectReturnType0.CloseDocumentFieldType getCloseDocument(); + @JsProperty + AutoCompleteRequest.ToObjectReturnType0.ConsoleIdFieldType getConsoleId(); + @JsProperty AutoCompleteRequest.ToObjectReturnType0.GetCompletionItemsFieldType getGetCompletionItems(); + @JsProperty + AutoCompleteRequest.ToObjectReturnType0.GetDiagnosticFieldType getGetDiagnostic(); + + @JsProperty + AutoCompleteRequest.ToObjectReturnType0.GetHoverFieldType getGetHover(); + + @JsProperty + AutoCompleteRequest.ToObjectReturnType0.GetSignatureHelpFieldType getGetSignatureHelp(); + @JsProperty AutoCompleteRequest.ToObjectReturnType0.OpenDocumentFieldType getOpenDocument(); + @JsProperty + double getRequestId(); + @JsProperty void setChangeDocument( AutoCompleteRequest.ToObjectReturnType0.ChangeDocumentFieldType changeDocument); @@ -709,13 +1201,30 @@ void setChangeDocument( void setCloseDocument( AutoCompleteRequest.ToObjectReturnType0.CloseDocumentFieldType closeDocument); + @JsProperty + void setConsoleId(AutoCompleteRequest.ToObjectReturnType0.ConsoleIdFieldType consoleId); + @JsProperty void setGetCompletionItems( AutoCompleteRequest.ToObjectReturnType0.GetCompletionItemsFieldType getCompletionItems); + @JsProperty + void setGetDiagnostic( + AutoCompleteRequest.ToObjectReturnType0.GetDiagnosticFieldType getDiagnostic); + + @JsProperty + void setGetHover(AutoCompleteRequest.ToObjectReturnType0.GetHoverFieldType getHover); + + @JsProperty + void setGetSignatureHelp( + AutoCompleteRequest.ToObjectReturnType0.GetSignatureHelpFieldType getSignatureHelp); + @JsProperty void setOpenDocument( AutoCompleteRequest.ToObjectReturnType0.OpenDocumentFieldType openDocument); + + @JsProperty + void setRequestId(double requestId); } public static native AutoCompleteRequest deserializeBinary(Uint8Array bytes); @@ -732,26 +1241,52 @@ public static native AutoCompleteRequest.ToObjectReturnType toObject( public native void clearCloseDocument(); + public native void clearConsoleId(); + public native void clearGetCompletionItems(); + public native void clearGetDiagnostic(); + + public native void clearGetHover(); + + public native void clearGetSignatureHelp(); + public native void clearOpenDocument(); public native ChangeDocumentRequest getChangeDocument(); public native CloseDocumentRequest getCloseDocument(); + public native Ticket getConsoleId(); + public native GetCompletionItemsRequest getGetCompletionItems(); + public native GetDiagnosticRequest getGetDiagnostic(); + + public native GetHoverRequest getGetHover(); + + public native GetSignatureHelpRequest getGetSignatureHelp(); + public native OpenDocumentRequest getOpenDocument(); public native int getRequestCase(); + public native int getRequestId(); + public native boolean hasChangeDocument(); public native boolean hasCloseDocument(); + public native boolean hasConsoleId(); + public native boolean hasGetCompletionItems(); + public native boolean hasGetDiagnostic(); + + public native boolean hasGetHover(); + + public native boolean hasGetSignatureHelp(); + public native boolean hasOpenDocument(); public native Uint8Array serializeBinary(); @@ -764,14 +1299,32 @@ public static native AutoCompleteRequest.ToObjectReturnType toObject( public native void setCloseDocument(CloseDocumentRequest value); + public native void setConsoleId(); + + public native void setConsoleId(Ticket value); + public native void setGetCompletionItems(); public native void setGetCompletionItems(GetCompletionItemsRequest value); + public native void setGetDiagnostic(); + + public native void setGetDiagnostic(GetDiagnosticRequest value); + + public native void setGetHover(); + + public native void setGetHover(GetHoverRequest value); + + public native void setGetSignatureHelp(); + + public native void setGetSignatureHelp(GetSignatureHelpRequest value); + public native void setOpenDocument(); public native void setOpenDocument(OpenDocumentRequest value); + public native void setRequestId(int value); + public native AutoCompleteRequest.ToObjectReturnType0 toObject(); public native AutoCompleteRequest.ToObjectReturnType0 toObject(boolean includeInstance); diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/AutoCompleteResponse.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/AutoCompleteResponse.java index b7d7b0c4be4..a55818ea31c 100644 --- a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/AutoCompleteResponse.java +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/AutoCompleteResponse.java @@ -23,6 +23,26 @@ public interface ToObjectReturnType { public interface CompletionItemsFieldType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface ItemsListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType.CompletionItemsFieldType.ItemsListFieldType.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface TextEditFieldType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) @@ -100,7 +120,7 @@ static AutoCompleteResponse.ToObjectReturnType.CompletionItemsFieldType.ItemsLis String getDetail(); @JsProperty - String getDocumentation(); + AutoCompleteResponse.ToObjectReturnType.CompletionItemsFieldType.ItemsListFieldType.DocumentationFieldType getDocumentation(); @JsProperty String getFilterText(); @@ -155,7 +175,8 @@ default void setCommitCharactersList(String[] commitCharactersList) { void setDetail(String detail); @JsProperty - void setDocumentation(String documentation); + void setDocumentation( + AutoCompleteResponse.ToObjectReturnType.CompletionItemsFieldType.ItemsListFieldType.DocumentationFieldType documentation); @JsProperty void setFilterText(String filterText); @@ -219,6 +240,308 @@ void setItemsList( void setSuccess(boolean success); } + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DiagnosticFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ItemsListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface CodeDescriptionFieldType { + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType.DiagnosticFieldType.ItemsListFieldType.CodeDescriptionFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getHref(); + + @JsProperty + void setHref(String href); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetDataUnionType { + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType.DiagnosticFieldType.ItemsListFieldType.GetDataUnionType of( + Object o) { + return Js.cast(o); + } + + @JsOverlay + default String asString() { + return Js.asString(this); + } + + @JsOverlay + default Uint8Array asUint8Array() { + return Js.cast(this); + } + + @JsOverlay + default boolean isString() { + return (Object) this instanceof String; + } + + @JsOverlay + default boolean isUint8Array() { + return (Object) this instanceof Uint8Array; + } + } + + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType.DiagnosticFieldType.ItemsListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getCode(); + + @JsProperty + AutoCompleteResponse.ToObjectReturnType.DiagnosticFieldType.ItemsListFieldType.CodeDescriptionFieldType getCodeDescription(); + + @JsProperty + AutoCompleteResponse.ToObjectReturnType.DiagnosticFieldType.ItemsListFieldType.GetDataUnionType getData(); + + @JsProperty + String getMessage(); + + @JsProperty + Object getRange(); + + @JsProperty + double getSeverity(); + + @JsProperty + String getSource(); + + @JsProperty + JsArray getTagsList(); + + @JsProperty + void setCode(String code); + + @JsProperty + void setCodeDescription( + AutoCompleteResponse.ToObjectReturnType.DiagnosticFieldType.ItemsListFieldType.CodeDescriptionFieldType codeDescription); + + @JsProperty + void setData( + AutoCompleteResponse.ToObjectReturnType.DiagnosticFieldType.ItemsListFieldType.GetDataUnionType data); + + @JsOverlay + default void setData(String data) { + setData( + Js.uncheckedCast( + data)); + } + + @JsOverlay + default void setData(Uint8Array data) { + setData( + Js.uncheckedCast( + data)); + } + + @JsProperty + void setMessage(String message); + + @JsProperty + void setRange(Object range); + + @JsProperty + void setSeverity(double severity); + + @JsProperty + void setSource(String source); + + @JsProperty + void setTagsList(JsArray tagsList); + + @JsOverlay + default void setTagsList(double[] tagsList) { + setTagsList(Js.>uncheckedCast(tagsList)); + } + } + + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType.DiagnosticFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + JsArray getItemsList(); + + @JsProperty + String getKind(); + + @JsProperty + String getResultId(); + + @JsOverlay + default void setItemsList( + AutoCompleteResponse.ToObjectReturnType.DiagnosticFieldType.ItemsListFieldType[] itemsList) { + setItemsList( + Js.>uncheckedCast( + itemsList)); + } + + @JsProperty + void setItemsList( + JsArray itemsList); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setResultId(String resultId); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DiagnosticPublishFieldType { + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType.DiagnosticPublishFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + JsArray getDiagnosticsList(); + + @JsProperty + String getUri(); + + @JsProperty + double getVersion(); + + @JsProperty + void setDiagnosticsList(JsArray diagnosticsList); + + @JsOverlay + default void setDiagnosticsList(Object[] diagnosticsList) { + setDiagnosticsList(Js.>uncheckedCast(diagnosticsList)); + } + + @JsProperty + void setUri(String uri); + + @JsProperty + void setVersion(double version); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface HoverFieldType { + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType.HoverFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getContents(); + + @JsProperty + Object getRange(); + + @JsProperty + void setContents(Object contents); + + @JsProperty + void setRange(Object range); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface SignaturesFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface SignaturesListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ParametersListFieldType { + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType.SignaturesFieldType.SignaturesListFieldType.ParametersListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + void setDocumentation(Object documentation); + + @JsProperty + void setLabel(String label); + } + + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType.SignaturesFieldType.SignaturesListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + Object getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + JsArray getParametersList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setDocumentation(Object documentation); + + @JsProperty + void setLabel(String label); + + @JsProperty + void setParametersList( + JsArray parametersList); + + @JsOverlay + default void setParametersList( + AutoCompleteResponse.ToObjectReturnType.SignaturesFieldType.SignaturesListFieldType.ParametersListFieldType[] parametersList) { + setParametersList( + Js.>uncheckedCast( + parametersList)); + } + } + + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType.SignaturesFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + double getActiveSignature(); + + @JsProperty + JsArray getSignaturesList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setActiveSignature(double activeSignature); + + @JsProperty + void setSignaturesList( + JsArray signaturesList); + + @JsOverlay + default void setSignaturesList( + AutoCompleteResponse.ToObjectReturnType.SignaturesFieldType.SignaturesListFieldType[] signaturesList) { + setSignaturesList( + Js.>uncheckedCast( + signaturesList)); + } + } + @JsOverlay static AutoCompleteResponse.ToObjectReturnType create() { return Js.uncheckedCast(JsPropertyMap.of()); @@ -227,9 +550,46 @@ static AutoCompleteResponse.ToObjectReturnType create() { @JsProperty AutoCompleteResponse.ToObjectReturnType.CompletionItemsFieldType getCompletionItems(); + @JsProperty + AutoCompleteResponse.ToObjectReturnType.DiagnosticFieldType getDiagnostic(); + + @JsProperty + AutoCompleteResponse.ToObjectReturnType.DiagnosticPublishFieldType getDiagnosticPublish(); + + @JsProperty + AutoCompleteResponse.ToObjectReturnType.HoverFieldType getHover(); + + @JsProperty + double getRequestId(); + + @JsProperty + AutoCompleteResponse.ToObjectReturnType.SignaturesFieldType getSignatures(); + + @JsProperty + boolean isSuccess(); + @JsProperty void setCompletionItems( AutoCompleteResponse.ToObjectReturnType.CompletionItemsFieldType completionItems); + + @JsProperty + void setDiagnostic(AutoCompleteResponse.ToObjectReturnType.DiagnosticFieldType diagnostic); + + @JsProperty + void setDiagnosticPublish( + AutoCompleteResponse.ToObjectReturnType.DiagnosticPublishFieldType diagnosticPublish); + + @JsProperty + void setHover(AutoCompleteResponse.ToObjectReturnType.HoverFieldType hover); + + @JsProperty + void setRequestId(double requestId); + + @JsProperty + void setSignatures(AutoCompleteResponse.ToObjectReturnType.SignaturesFieldType signatures); + + @JsProperty + void setSuccess(boolean success); } @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) @@ -238,6 +598,26 @@ public interface ToObjectReturnType0 { public interface CompletionItemsFieldType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface ItemsListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType0.CompletionItemsFieldType.ItemsListFieldType.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface TextEditFieldType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) @@ -315,7 +695,7 @@ static AutoCompleteResponse.ToObjectReturnType0.CompletionItemsFieldType.ItemsLi String getDetail(); @JsProperty - String getDocumentation(); + AutoCompleteResponse.ToObjectReturnType0.CompletionItemsFieldType.ItemsListFieldType.DocumentationFieldType getDocumentation(); @JsProperty String getFilterText(); @@ -370,7 +750,8 @@ default void setCommitCharactersList(String[] commitCharactersList) { void setDetail(String detail); @JsProperty - void setDocumentation(String documentation); + void setDocumentation( + AutoCompleteResponse.ToObjectReturnType0.CompletionItemsFieldType.ItemsListFieldType.DocumentationFieldType documentation); @JsProperty void setFilterText(String filterText); @@ -434,6 +815,308 @@ void setItemsList( void setSuccess(boolean success); } + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DiagnosticFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ItemsListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface CodeDescriptionFieldType { + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType0.DiagnosticFieldType.ItemsListFieldType.CodeDescriptionFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getHref(); + + @JsProperty + void setHref(String href); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetDataUnionType { + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType0.DiagnosticFieldType.ItemsListFieldType.GetDataUnionType of( + Object o) { + return Js.cast(o); + } + + @JsOverlay + default String asString() { + return Js.asString(this); + } + + @JsOverlay + default Uint8Array asUint8Array() { + return Js.cast(this); + } + + @JsOverlay + default boolean isString() { + return (Object) this instanceof String; + } + + @JsOverlay + default boolean isUint8Array() { + return (Object) this instanceof Uint8Array; + } + } + + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType0.DiagnosticFieldType.ItemsListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getCode(); + + @JsProperty + AutoCompleteResponse.ToObjectReturnType0.DiagnosticFieldType.ItemsListFieldType.CodeDescriptionFieldType getCodeDescription(); + + @JsProperty + AutoCompleteResponse.ToObjectReturnType0.DiagnosticFieldType.ItemsListFieldType.GetDataUnionType getData(); + + @JsProperty + String getMessage(); + + @JsProperty + Object getRange(); + + @JsProperty + double getSeverity(); + + @JsProperty + String getSource(); + + @JsProperty + JsArray getTagsList(); + + @JsProperty + void setCode(String code); + + @JsProperty + void setCodeDescription( + AutoCompleteResponse.ToObjectReturnType0.DiagnosticFieldType.ItemsListFieldType.CodeDescriptionFieldType codeDescription); + + @JsProperty + void setData( + AutoCompleteResponse.ToObjectReturnType0.DiagnosticFieldType.ItemsListFieldType.GetDataUnionType data); + + @JsOverlay + default void setData(String data) { + setData( + Js.uncheckedCast( + data)); + } + + @JsOverlay + default void setData(Uint8Array data) { + setData( + Js.uncheckedCast( + data)); + } + + @JsProperty + void setMessage(String message); + + @JsProperty + void setRange(Object range); + + @JsProperty + void setSeverity(double severity); + + @JsProperty + void setSource(String source); + + @JsProperty + void setTagsList(JsArray tagsList); + + @JsOverlay + default void setTagsList(double[] tagsList) { + setTagsList(Js.>uncheckedCast(tagsList)); + } + } + + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType0.DiagnosticFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + JsArray getItemsList(); + + @JsProperty + String getKind(); + + @JsProperty + String getResultId(); + + @JsOverlay + default void setItemsList( + AutoCompleteResponse.ToObjectReturnType0.DiagnosticFieldType.ItemsListFieldType[] itemsList) { + setItemsList( + Js.>uncheckedCast( + itemsList)); + } + + @JsProperty + void setItemsList( + JsArray itemsList); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setResultId(String resultId); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DiagnosticPublishFieldType { + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType0.DiagnosticPublishFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + JsArray getDiagnosticsList(); + + @JsProperty + String getUri(); + + @JsProperty + double getVersion(); + + @JsProperty + void setDiagnosticsList(JsArray diagnosticsList); + + @JsOverlay + default void setDiagnosticsList(Object[] diagnosticsList) { + setDiagnosticsList(Js.>uncheckedCast(diagnosticsList)); + } + + @JsProperty + void setUri(String uri); + + @JsProperty + void setVersion(double version); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface HoverFieldType { + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType0.HoverFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getContents(); + + @JsProperty + Object getRange(); + + @JsProperty + void setContents(Object contents); + + @JsProperty + void setRange(Object range); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface SignaturesFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface SignaturesListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ParametersListFieldType { + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType0.SignaturesFieldType.SignaturesListFieldType.ParametersListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + void setDocumentation(Object documentation); + + @JsProperty + void setLabel(String label); + } + + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType0.SignaturesFieldType.SignaturesListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + Object getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + JsArray getParametersList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setDocumentation(Object documentation); + + @JsProperty + void setLabel(String label); + + @JsProperty + void setParametersList( + JsArray parametersList); + + @JsOverlay + default void setParametersList( + AutoCompleteResponse.ToObjectReturnType0.SignaturesFieldType.SignaturesListFieldType.ParametersListFieldType[] parametersList) { + setParametersList( + Js.>uncheckedCast( + parametersList)); + } + } + + @JsOverlay + static AutoCompleteResponse.ToObjectReturnType0.SignaturesFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + double getActiveSignature(); + + @JsProperty + JsArray getSignaturesList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setActiveSignature(double activeSignature); + + @JsProperty + void setSignaturesList( + JsArray signaturesList); + + @JsOverlay + default void setSignaturesList( + AutoCompleteResponse.ToObjectReturnType0.SignaturesFieldType.SignaturesListFieldType[] signaturesList) { + setSignaturesList( + Js.>uncheckedCast( + signaturesList)); + } + } + @JsOverlay static AutoCompleteResponse.ToObjectReturnType0 create() { return Js.uncheckedCast(JsPropertyMap.of()); @@ -442,9 +1125,46 @@ static AutoCompleteResponse.ToObjectReturnType0 create() { @JsProperty AutoCompleteResponse.ToObjectReturnType0.CompletionItemsFieldType getCompletionItems(); + @JsProperty + AutoCompleteResponse.ToObjectReturnType0.DiagnosticFieldType getDiagnostic(); + + @JsProperty + AutoCompleteResponse.ToObjectReturnType0.DiagnosticPublishFieldType getDiagnosticPublish(); + + @JsProperty + AutoCompleteResponse.ToObjectReturnType0.HoverFieldType getHover(); + + @JsProperty + double getRequestId(); + + @JsProperty + AutoCompleteResponse.ToObjectReturnType0.SignaturesFieldType getSignatures(); + + @JsProperty + boolean isSuccess(); + @JsProperty void setCompletionItems( AutoCompleteResponse.ToObjectReturnType0.CompletionItemsFieldType completionItems); + + @JsProperty + void setDiagnostic(AutoCompleteResponse.ToObjectReturnType0.DiagnosticFieldType diagnostic); + + @JsProperty + void setDiagnosticPublish( + AutoCompleteResponse.ToObjectReturnType0.DiagnosticPublishFieldType diagnosticPublish); + + @JsProperty + void setHover(AutoCompleteResponse.ToObjectReturnType0.HoverFieldType hover); + + @JsProperty + void setRequestId(double requestId); + + @JsProperty + void setSignatures(AutoCompleteResponse.ToObjectReturnType0.SignaturesFieldType signatures); + + @JsProperty + void setSuccess(boolean success); } public static native AutoCompleteResponse deserializeBinary(Uint8Array bytes); @@ -459,18 +1179,66 @@ public static native AutoCompleteResponse.ToObjectReturnType toObject( public native void clearCompletionItems(); + public native void clearDiagnostic(); + + public native void clearDiagnosticPublish(); + + public native void clearHover(); + + public native void clearSignatures(); + public native GetCompletionItemsResponse getCompletionItems(); + public native GetPullDiagnosticResponse getDiagnostic(); + + public native GetPublishDiagnosticResponse getDiagnosticPublish(); + + public native GetHoverResponse getHover(); + + public native int getRequestId(); + public native int getResponseCase(); + public native GetSignatureHelpResponse getSignatures(); + + public native boolean getSuccess(); + public native boolean hasCompletionItems(); + public native boolean hasDiagnostic(); + + public native boolean hasDiagnosticPublish(); + + public native boolean hasHover(); + + public native boolean hasSignatures(); + public native Uint8Array serializeBinary(); public native void setCompletionItems(); public native void setCompletionItems(GetCompletionItemsResponse value); + public native void setDiagnostic(); + + public native void setDiagnostic(GetPullDiagnosticResponse value); + + public native void setDiagnosticPublish(); + + public native void setDiagnosticPublish(GetPublishDiagnosticResponse value); + + public native void setHover(); + + public native void setHover(GetHoverResponse value); + + public native void setRequestId(int value); + + public native void setSignatures(); + + public native void setSignatures(GetSignatureHelpResponse value); + + public native void setSuccess(boolean value); + public native AutoCompleteResponse.ToObjectReturnType0 toObject(); public native AutoCompleteResponse.ToObjectReturnType0 toObject(boolean includeInstance); diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/CancelAutoCompleteRequest.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/CancelAutoCompleteRequest.java new file mode 100644 index 00000000000..cc38a680182 --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/CancelAutoCompleteRequest.java @@ -0,0 +1,205 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb; + +import elemental2.core.Uint8Array; +import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.ticket_pb.Ticket; +import jsinterop.annotations.JsOverlay; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.CancelAutoCompleteRequest", + namespace = JsPackage.GLOBAL) +public class CancelAutoCompleteRequest { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ConsoleIdFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetTicketUnionType { + @JsOverlay + static CancelAutoCompleteRequest.ToObjectReturnType.ConsoleIdFieldType.GetTicketUnionType of(Object o) { + return Js.cast(o); + } + + @JsOverlay + default String asString() { + return Js.asString(this); + } + + @JsOverlay + default Uint8Array asUint8Array() { + return Js.cast(this); + } + + @JsOverlay + default boolean isString() { + return (Object) this instanceof String; + } + + @JsOverlay + default boolean isUint8Array() { + return (Object) this instanceof Uint8Array; + } + } + + @JsOverlay + static CancelAutoCompleteRequest.ToObjectReturnType.ConsoleIdFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + CancelAutoCompleteRequest.ToObjectReturnType.ConsoleIdFieldType.GetTicketUnionType getTicket(); + + @JsProperty + void setTicket( + CancelAutoCompleteRequest.ToObjectReturnType.ConsoleIdFieldType.GetTicketUnionType ticket); + + @JsOverlay + default void setTicket(String ticket) { + setTicket( + Js.uncheckedCast( + ticket)); + } + + @JsOverlay + default void setTicket(Uint8Array ticket) { + setTicket( + Js.uncheckedCast( + ticket)); + } + } + + @JsOverlay + static CancelAutoCompleteRequest.ToObjectReturnType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + CancelAutoCompleteRequest.ToObjectReturnType.ConsoleIdFieldType getConsoleId(); + + @JsProperty + double getRequestId(); + + @JsProperty + void setConsoleId(CancelAutoCompleteRequest.ToObjectReturnType.ConsoleIdFieldType consoleId); + + @JsProperty + void setRequestId(double requestId); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType0 { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ConsoleIdFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetTicketUnionType { + @JsOverlay + static CancelAutoCompleteRequest.ToObjectReturnType0.ConsoleIdFieldType.GetTicketUnionType of( + Object o) { + return Js.cast(o); + } + + @JsOverlay + default String asString() { + return Js.asString(this); + } + + @JsOverlay + default Uint8Array asUint8Array() { + return Js.cast(this); + } + + @JsOverlay + default boolean isString() { + return (Object) this instanceof String; + } + + @JsOverlay + default boolean isUint8Array() { + return (Object) this instanceof Uint8Array; + } + } + + @JsOverlay + static CancelAutoCompleteRequest.ToObjectReturnType0.ConsoleIdFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + CancelAutoCompleteRequest.ToObjectReturnType0.ConsoleIdFieldType.GetTicketUnionType getTicket(); + + @JsProperty + void setTicket( + CancelAutoCompleteRequest.ToObjectReturnType0.ConsoleIdFieldType.GetTicketUnionType ticket); + + @JsOverlay + default void setTicket(String ticket) { + setTicket( + Js.uncheckedCast( + ticket)); + } + + @JsOverlay + default void setTicket(Uint8Array ticket) { + setTicket( + Js.uncheckedCast( + ticket)); + } + } + + @JsOverlay + static CancelAutoCompleteRequest.ToObjectReturnType0 create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + CancelAutoCompleteRequest.ToObjectReturnType0.ConsoleIdFieldType getConsoleId(); + + @JsProperty + double getRequestId(); + + @JsProperty + void setConsoleId(CancelAutoCompleteRequest.ToObjectReturnType0.ConsoleIdFieldType consoleId); + + @JsProperty + void setRequestId(double requestId); + } + + public static native CancelAutoCompleteRequest deserializeBinary(Uint8Array bytes); + + public static native CancelAutoCompleteRequest deserializeBinaryFromReader( + CancelAutoCompleteRequest message, Object reader); + + public static native void serializeBinaryToWriter( + CancelAutoCompleteRequest message, Object writer); + + public static native CancelAutoCompleteRequest.ToObjectReturnType toObject( + boolean includeInstance, CancelAutoCompleteRequest msg); + + public native void clearConsoleId(); + + public native Ticket getConsoleId(); + + public native double getRequestId(); + + public native boolean hasConsoleId(); + + public native Uint8Array serializeBinary(); + + public native void setConsoleId(); + + public native void setConsoleId(Ticket value); + + public native void setRequestId(double value); + + public native CancelAutoCompleteRequest.ToObjectReturnType0 toObject(); + + public native CancelAutoCompleteRequest.ToObjectReturnType0 toObject(boolean includeInstance); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/CancelAutoCompleteResponse.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/CancelAutoCompleteResponse.java new file mode 100644 index 00000000000..b73e9d2dafe --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/CancelAutoCompleteResponse.java @@ -0,0 +1,30 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb; + +import elemental2.core.Uint8Array; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsType; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.CancelAutoCompleteResponse", + namespace = JsPackage.GLOBAL) +public class CancelAutoCompleteResponse { + public static native CancelAutoCompleteResponse deserializeBinary(Uint8Array bytes); + + public static native CancelAutoCompleteResponse deserializeBinaryFromReader( + CancelAutoCompleteResponse message, Object reader); + + public static native void serializeBinaryToWriter( + CancelAutoCompleteResponse message, Object writer); + + public static native Object toObject(boolean includeInstance, CancelAutoCompleteResponse msg); + + public native Uint8Array serializeBinary(); + + public native Object toObject(); + + public native Object toObject(boolean includeInstance); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/CompletionItem.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/CompletionItem.java index 7e7b6533864..b92d607d4c1 100644 --- a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/CompletionItem.java +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/CompletionItem.java @@ -19,6 +19,26 @@ public class CompletionItem { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface ToObjectReturnType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static CompletionItem.ToObjectReturnType.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface TextEditFieldType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) @@ -95,7 +115,7 @@ static CompletionItem.ToObjectReturnType create() { String getDetail(); @JsProperty - String getDocumentation(); + CompletionItem.ToObjectReturnType.DocumentationFieldType getDocumentation(); @JsProperty String getFilterText(); @@ -150,7 +170,7 @@ default void setCommitCharactersList(String[] commitCharactersList) { void setDetail(String detail); @JsProperty - void setDocumentation(String documentation); + void setDocumentation(CompletionItem.ToObjectReturnType.DocumentationFieldType documentation); @JsProperty void setFilterText(String filterText); @@ -182,6 +202,26 @@ default void setCommitCharactersList(String[] commitCharactersList) { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface ToObjectReturnType0 { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static CompletionItem.ToObjectReturnType0.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface TextEditFieldType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) @@ -258,7 +298,7 @@ static CompletionItem.ToObjectReturnType0 create() { String getDetail(); @JsProperty - String getDocumentation(); + CompletionItem.ToObjectReturnType0.DocumentationFieldType getDocumentation(); @JsProperty String getFilterText(); @@ -313,7 +353,7 @@ default void setCommitCharactersList(String[] commitCharactersList) { void setDetail(String detail); @JsProperty - void setDocumentation(String documentation); + void setDocumentation(CompletionItem.ToObjectReturnType0.DocumentationFieldType documentation); @JsProperty void setFilterText(String filterText); @@ -367,6 +407,8 @@ public static native CompletionItem.ToObjectReturnType toObject( public native void clearCommitCharactersList(); + public native void clearDocumentation(); + public native void clearTextEdit(); public native JsArray getAdditionalTextEditsList(); @@ -377,7 +419,7 @@ public static native CompletionItem.ToObjectReturnType toObject( public native String getDetail(); - public native String getDocumentation(); + public native MarkupContent getDocumentation(); public native String getFilterText(); @@ -397,6 +439,8 @@ public static native CompletionItem.ToObjectReturnType toObject( public native TextEdit getTextEdit(); + public native boolean hasDocumentation(); + public native boolean hasTextEdit(); public native Uint8Array serializeBinary(); @@ -419,7 +463,9 @@ public final void setCommitCharactersList(String[] value) { public native void setDetail(String value); - public native void setDocumentation(String value); + public native void setDocumentation(); + + public native void setDocumentation(MarkupContent value); public native void setFilterText(String value); diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/Diagnostic.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/Diagnostic.java new file mode 100644 index 00000000000..348d394b250 --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/Diagnostic.java @@ -0,0 +1,484 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb; + +import elemental2.core.JsArray; +import elemental2.core.Uint8Array; +import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.diagnostic.CodeDescription; +import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.diagnostic.DiagnosticSeverityMap; +import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.diagnostic.DiagnosticTagMap; +import jsinterop.annotations.JsOverlay; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.Diagnostic", + namespace = JsPackage.GLOBAL) +public class Diagnostic { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetDataUnionType { + @JsOverlay + static Diagnostic.GetDataUnionType of(Object o) { + return Js.cast(o); + } + + @JsOverlay + default String asString() { + return Js.asString(this); + } + + @JsOverlay + default Uint8Array asUint8Array() { + return Js.cast(this); + } + + @JsOverlay + default boolean isString() { + return (Object) this instanceof String; + } + + @JsOverlay + default boolean isUint8Array() { + return (Object) this instanceof Uint8Array; + } + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface SetDataValueUnionType { + @JsOverlay + static Diagnostic.SetDataValueUnionType of(Object o) { + return Js.cast(o); + } + + @JsOverlay + default String asString() { + return Js.asString(this); + } + + @JsOverlay + default Uint8Array asUint8Array() { + return Js.cast(this); + } + + @JsOverlay + default boolean isString() { + return (Object) this instanceof String; + } + + @JsOverlay + default boolean isUint8Array() { + return (Object) this instanceof Uint8Array; + } + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface CodeDescriptionFieldType { + @JsOverlay + static Diagnostic.ToObjectReturnType.CodeDescriptionFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getHref(); + + @JsProperty + void setHref(String href); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetDataUnionType { + @JsOverlay + static Diagnostic.ToObjectReturnType.GetDataUnionType of(Object o) { + return Js.cast(o); + } + + @JsOverlay + default String asString() { + return Js.asString(this); + } + + @JsOverlay + default Uint8Array asUint8Array() { + return Js.cast(this); + } + + @JsOverlay + default boolean isString() { + return (Object) this instanceof String; + } + + @JsOverlay + default boolean isUint8Array() { + return (Object) this instanceof Uint8Array; + } + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface RangeFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface StartFieldType { + @JsOverlay + static Diagnostic.ToObjectReturnType.RangeFieldType.StartFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getCharacter(); + + @JsProperty + double getLine(); + + @JsProperty + void setCharacter(double character); + + @JsProperty + void setLine(double line); + } + + @JsOverlay + static Diagnostic.ToObjectReturnType.RangeFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getEnd(); + + @JsProperty + Diagnostic.ToObjectReturnType.RangeFieldType.StartFieldType getStart(); + + @JsProperty + void setEnd(Object end); + + @JsProperty + void setStart(Diagnostic.ToObjectReturnType.RangeFieldType.StartFieldType start); + } + + @JsOverlay + static Diagnostic.ToObjectReturnType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getCode(); + + @JsProperty + Diagnostic.ToObjectReturnType.CodeDescriptionFieldType getCodeDescription(); + + @JsProperty + Diagnostic.ToObjectReturnType.GetDataUnionType getData(); + + @JsProperty + String getMessage(); + + @JsProperty + Diagnostic.ToObjectReturnType.RangeFieldType getRange(); + + @JsProperty + double getSeverity(); + + @JsProperty + String getSource(); + + @JsProperty + JsArray getTagsList(); + + @JsProperty + void setCode(String code); + + @JsProperty + void setCodeDescription(Diagnostic.ToObjectReturnType.CodeDescriptionFieldType codeDescription); + + @JsProperty + void setData(Diagnostic.ToObjectReturnType.GetDataUnionType data); + + @JsOverlay + default void setData(String data) { + setData(Js.uncheckedCast(data)); + } + + @JsOverlay + default void setData(Uint8Array data) { + setData(Js.uncheckedCast(data)); + } + + @JsProperty + void setMessage(String message); + + @JsProperty + void setRange(Diagnostic.ToObjectReturnType.RangeFieldType range); + + @JsProperty + void setSeverity(double severity); + + @JsProperty + void setSource(String source); + + @JsProperty + void setTagsList(JsArray tagsList); + + @JsOverlay + default void setTagsList(double[] tagsList) { + setTagsList(Js.>uncheckedCast(tagsList)); + } + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType0 { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface CodeDescriptionFieldType { + @JsOverlay + static Diagnostic.ToObjectReturnType0.CodeDescriptionFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getHref(); + + @JsProperty + void setHref(String href); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetDataUnionType { + @JsOverlay + static Diagnostic.ToObjectReturnType0.GetDataUnionType of(Object o) { + return Js.cast(o); + } + + @JsOverlay + default String asString() { + return Js.asString(this); + } + + @JsOverlay + default Uint8Array asUint8Array() { + return Js.cast(this); + } + + @JsOverlay + default boolean isString() { + return (Object) this instanceof String; + } + + @JsOverlay + default boolean isUint8Array() { + return (Object) this instanceof Uint8Array; + } + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface RangeFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface StartFieldType { + @JsOverlay + static Diagnostic.ToObjectReturnType0.RangeFieldType.StartFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getCharacter(); + + @JsProperty + double getLine(); + + @JsProperty + void setCharacter(double character); + + @JsProperty + void setLine(double line); + } + + @JsOverlay + static Diagnostic.ToObjectReturnType0.RangeFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getEnd(); + + @JsProperty + Diagnostic.ToObjectReturnType0.RangeFieldType.StartFieldType getStart(); + + @JsProperty + void setEnd(Object end); + + @JsProperty + void setStart(Diagnostic.ToObjectReturnType0.RangeFieldType.StartFieldType start); + } + + @JsOverlay + static Diagnostic.ToObjectReturnType0 create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getCode(); + + @JsProperty + Diagnostic.ToObjectReturnType0.CodeDescriptionFieldType getCodeDescription(); + + @JsProperty + Diagnostic.ToObjectReturnType0.GetDataUnionType getData(); + + @JsProperty + String getMessage(); + + @JsProperty + Diagnostic.ToObjectReturnType0.RangeFieldType getRange(); + + @JsProperty + double getSeverity(); + + @JsProperty + String getSource(); + + @JsProperty + JsArray getTagsList(); + + @JsProperty + void setCode(String code); + + @JsProperty + void setCodeDescription( + Diagnostic.ToObjectReturnType0.CodeDescriptionFieldType codeDescription); + + @JsProperty + void setData(Diagnostic.ToObjectReturnType0.GetDataUnionType data); + + @JsOverlay + default void setData(String data) { + setData(Js.uncheckedCast(data)); + } + + @JsOverlay + default void setData(Uint8Array data) { + setData(Js.uncheckedCast(data)); + } + + @JsProperty + void setMessage(String message); + + @JsProperty + void setRange(Diagnostic.ToObjectReturnType0.RangeFieldType range); + + @JsProperty + void setSeverity(double severity); + + @JsProperty + void setSource(String source); + + @JsProperty + void setTagsList(JsArray tagsList); + + @JsOverlay + default void setTagsList(double[] tagsList) { + setTagsList(Js.>uncheckedCast(tagsList)); + } + } + + public static DiagnosticSeverityMap DiagnosticSeverity; + public static DiagnosticTagMap DiagnosticTag; + + public static native Diagnostic deserializeBinary(Uint8Array bytes); + + public static native Diagnostic deserializeBinaryFromReader(Diagnostic message, Object reader); + + public static native void serializeBinaryToWriter(Diagnostic message, Object writer); + + public static native Diagnostic.ToObjectReturnType toObject( + boolean includeInstance, Diagnostic msg); + + public native double addTags(double value, double index); + + public native double addTags(double value); + + public native void clearCode(); + + public native void clearCodeDescription(); + + public native void clearData(); + + public native void clearRange(); + + public native void clearSource(); + + public native void clearTagsList(); + + public native String getCode(); + + public native CodeDescription getCodeDescription(); + + public native Diagnostic.GetDataUnionType getData(); + + public native String getData_asB64(); + + public native Uint8Array getData_asU8(); + + public native String getMessage(); + + public native DocumentRange getRange(); + + public native double getSeverity(); + + public native String getSource(); + + public native JsArray getTagsList(); + + public native boolean hasCode(); + + public native boolean hasCodeDescription(); + + public native boolean hasData(); + + public native boolean hasRange(); + + public native boolean hasSource(); + + public native Uint8Array serializeBinary(); + + public native void setCode(String value); + + public native void setCodeDescription(); + + public native void setCodeDescription(CodeDescription value); + + public native void setData(Diagnostic.SetDataValueUnionType value); + + @JsOverlay + public final void setData(String value) { + setData(Js.uncheckedCast(value)); + } + + @JsOverlay + public final void setData(Uint8Array value) { + setData(Js.uncheckedCast(value)); + } + + public native void setMessage(String value); + + public native void setRange(); + + public native void setRange(DocumentRange value); + + public native void setSeverity(double value); + + public native void setSource(String value); + + public native void setTagsList(JsArray value); + + @JsOverlay + public final void setTagsList(double[] value) { + setTagsList(Js.>uncheckedCast(value)); + } + + public native Diagnostic.ToObjectReturnType0 toObject(); + + public native Diagnostic.ToObjectReturnType0 toObject(boolean includeInstance); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetCompletionItemsResponse.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetCompletionItemsResponse.java index e8bcd7887e5..ca26551ebb2 100644 --- a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetCompletionItemsResponse.java +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetCompletionItemsResponse.java @@ -21,6 +21,26 @@ public class GetCompletionItemsResponse { public interface ToObjectReturnType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface ItemsListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static GetCompletionItemsResponse.ToObjectReturnType.ItemsListFieldType.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface TextEditFieldType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) @@ -98,7 +118,7 @@ static GetCompletionItemsResponse.ToObjectReturnType.ItemsListFieldType create() String getDetail(); @JsProperty - String getDocumentation(); + GetCompletionItemsResponse.ToObjectReturnType.ItemsListFieldType.DocumentationFieldType getDocumentation(); @JsProperty String getFilterText(); @@ -153,7 +173,8 @@ default void setCommitCharactersList(String[] commitCharactersList) { void setDetail(String detail); @JsProperty - void setDocumentation(String documentation); + void setDocumentation( + GetCompletionItemsResponse.ToObjectReturnType.ItemsListFieldType.DocumentationFieldType documentation); @JsProperty void setFilterText(String filterText); @@ -221,6 +242,26 @@ void setItemsList( public interface ToObjectReturnType0 { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface ItemsListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static GetCompletionItemsResponse.ToObjectReturnType0.ItemsListFieldType.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface TextEditFieldType { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) @@ -298,7 +339,7 @@ static GetCompletionItemsResponse.ToObjectReturnType0.ItemsListFieldType create( String getDetail(); @JsProperty - String getDocumentation(); + GetCompletionItemsResponse.ToObjectReturnType0.ItemsListFieldType.DocumentationFieldType getDocumentation(); @JsProperty String getFilterText(); @@ -353,7 +394,8 @@ default void setCommitCharactersList(String[] commitCharactersList) { void setDetail(String detail); @JsProperty - void setDocumentation(String documentation); + void setDocumentation( + GetCompletionItemsResponse.ToObjectReturnType0.ItemsListFieldType.DocumentationFieldType documentation); @JsProperty void setFilterText(String filterText); diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetDiagnosticRequest.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetDiagnosticRequest.java new file mode 100644 index 00000000000..7737f537d1f --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetDiagnosticRequest.java @@ -0,0 +1,154 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb; + +import elemental2.core.Uint8Array; +import jsinterop.annotations.JsOverlay; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.GetDiagnosticRequest", + namespace = JsPackage.GLOBAL) +public class GetDiagnosticRequest { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface TextDocumentFieldType { + @JsOverlay + static GetDiagnosticRequest.ToObjectReturnType.TextDocumentFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getUri(); + + @JsProperty + double getVersion(); + + @JsProperty + void setUri(String uri); + + @JsProperty + void setVersion(double version); + } + + @JsOverlay + static GetDiagnosticRequest.ToObjectReturnType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getIdentifier(); + + @JsProperty + String getPreviousResultId(); + + @JsProperty + GetDiagnosticRequest.ToObjectReturnType.TextDocumentFieldType getTextDocument(); + + @JsProperty + void setIdentifier(String identifier); + + @JsProperty + void setPreviousResultId(String previousResultId); + + @JsProperty + void setTextDocument( + GetDiagnosticRequest.ToObjectReturnType.TextDocumentFieldType textDocument); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType0 { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface TextDocumentFieldType { + @JsOverlay + static GetDiagnosticRequest.ToObjectReturnType0.TextDocumentFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getUri(); + + @JsProperty + double getVersion(); + + @JsProperty + void setUri(String uri); + + @JsProperty + void setVersion(double version); + } + + @JsOverlay + static GetDiagnosticRequest.ToObjectReturnType0 create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getIdentifier(); + + @JsProperty + String getPreviousResultId(); + + @JsProperty + GetDiagnosticRequest.ToObjectReturnType0.TextDocumentFieldType getTextDocument(); + + @JsProperty + void setIdentifier(String identifier); + + @JsProperty + void setPreviousResultId(String previousResultId); + + @JsProperty + void setTextDocument( + GetDiagnosticRequest.ToObjectReturnType0.TextDocumentFieldType textDocument); + } + + public static native GetDiagnosticRequest deserializeBinary(Uint8Array bytes); + + public static native GetDiagnosticRequest deserializeBinaryFromReader( + GetDiagnosticRequest message, Object reader); + + public static native void serializeBinaryToWriter(GetDiagnosticRequest message, Object writer); + + public static native GetDiagnosticRequest.ToObjectReturnType toObject( + boolean includeInstance, GetDiagnosticRequest msg); + + public native void clearIdentifier(); + + public native void clearPreviousResultId(); + + public native void clearTextDocument(); + + public native String getIdentifier(); + + public native String getPreviousResultId(); + + public native VersionedTextDocumentIdentifier getTextDocument(); + + public native boolean hasIdentifier(); + + public native boolean hasPreviousResultId(); + + public native boolean hasTextDocument(); + + public native Uint8Array serializeBinary(); + + public native void setIdentifier(String value); + + public native void setPreviousResultId(String value); + + public native void setTextDocument(); + + public native void setTextDocument(VersionedTextDocumentIdentifier value); + + public native GetDiagnosticRequest.ToObjectReturnType0 toObject(); + + public native GetDiagnosticRequest.ToObjectReturnType0 toObject(boolean includeInstance); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetHoverRequest.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetHoverRequest.java new file mode 100644 index 00000000000..e216e53819d --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetHoverRequest.java @@ -0,0 +1,174 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb; + +import elemental2.core.Uint8Array; +import jsinterop.annotations.JsOverlay; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.GetHoverRequest", + namespace = JsPackage.GLOBAL) +public class GetHoverRequest { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface PositionFieldType { + @JsOverlay + static GetHoverRequest.ToObjectReturnType.PositionFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getCharacter(); + + @JsProperty + double getLine(); + + @JsProperty + void setCharacter(double character); + + @JsProperty + void setLine(double line); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface TextDocumentFieldType { + @JsOverlay + static GetHoverRequest.ToObjectReturnType.TextDocumentFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getUri(); + + @JsProperty + double getVersion(); + + @JsProperty + void setUri(String uri); + + @JsProperty + void setVersion(double version); + } + + @JsOverlay + static GetHoverRequest.ToObjectReturnType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + GetHoverRequest.ToObjectReturnType.PositionFieldType getPosition(); + + @JsProperty + GetHoverRequest.ToObjectReturnType.TextDocumentFieldType getTextDocument(); + + @JsProperty + void setPosition(GetHoverRequest.ToObjectReturnType.PositionFieldType position); + + @JsProperty + void setTextDocument(GetHoverRequest.ToObjectReturnType.TextDocumentFieldType textDocument); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType0 { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface PositionFieldType { + @JsOverlay + static GetHoverRequest.ToObjectReturnType0.PositionFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getCharacter(); + + @JsProperty + double getLine(); + + @JsProperty + void setCharacter(double character); + + @JsProperty + void setLine(double line); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface TextDocumentFieldType { + @JsOverlay + static GetHoverRequest.ToObjectReturnType0.TextDocumentFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getUri(); + + @JsProperty + double getVersion(); + + @JsProperty + void setUri(String uri); + + @JsProperty + void setVersion(double version); + } + + @JsOverlay + static GetHoverRequest.ToObjectReturnType0 create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + GetHoverRequest.ToObjectReturnType0.PositionFieldType getPosition(); + + @JsProperty + GetHoverRequest.ToObjectReturnType0.TextDocumentFieldType getTextDocument(); + + @JsProperty + void setPosition(GetHoverRequest.ToObjectReturnType0.PositionFieldType position); + + @JsProperty + void setTextDocument(GetHoverRequest.ToObjectReturnType0.TextDocumentFieldType textDocument); + } + + public static native GetHoverRequest deserializeBinary(Uint8Array bytes); + + public static native GetHoverRequest deserializeBinaryFromReader( + GetHoverRequest message, Object reader); + + public static native void serializeBinaryToWriter(GetHoverRequest message, Object writer); + + public static native GetHoverRequest.ToObjectReturnType toObject( + boolean includeInstance, GetHoverRequest msg); + + public native void clearPosition(); + + public native void clearTextDocument(); + + public native Position getPosition(); + + public native VersionedTextDocumentIdentifier getTextDocument(); + + public native boolean hasPosition(); + + public native boolean hasTextDocument(); + + public native Uint8Array serializeBinary(); + + public native void setPosition(); + + public native void setPosition(Position value); + + public native void setTextDocument(); + + public native void setTextDocument(VersionedTextDocumentIdentifier value); + + public native GetHoverRequest.ToObjectReturnType0 toObject(); + + public native GetHoverRequest.ToObjectReturnType0 toObject(boolean includeInstance); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetHoverResponse.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetHoverResponse.java new file mode 100644 index 00000000000..ddc6d27d1e5 --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetHoverResponse.java @@ -0,0 +1,214 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb; + +import elemental2.core.Uint8Array; +import jsinterop.annotations.JsOverlay; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.GetHoverResponse", + namespace = JsPackage.GLOBAL) +public class GetHoverResponse { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ContentsFieldType { + @JsOverlay + static GetHoverResponse.ToObjectReturnType.ContentsFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface RangeFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface StartFieldType { + @JsOverlay + static GetHoverResponse.ToObjectReturnType.RangeFieldType.StartFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getCharacter(); + + @JsProperty + double getLine(); + + @JsProperty + void setCharacter(double character); + + @JsProperty + void setLine(double line); + } + + @JsOverlay + static GetHoverResponse.ToObjectReturnType.RangeFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getEnd(); + + @JsProperty + GetHoverResponse.ToObjectReturnType.RangeFieldType.StartFieldType getStart(); + + @JsProperty + void setEnd(Object end); + + @JsProperty + void setStart(GetHoverResponse.ToObjectReturnType.RangeFieldType.StartFieldType start); + } + + @JsOverlay + static GetHoverResponse.ToObjectReturnType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + GetHoverResponse.ToObjectReturnType.ContentsFieldType getContents(); + + @JsProperty + GetHoverResponse.ToObjectReturnType.RangeFieldType getRange(); + + @JsProperty + void setContents(GetHoverResponse.ToObjectReturnType.ContentsFieldType contents); + + @JsProperty + void setRange(GetHoverResponse.ToObjectReturnType.RangeFieldType range); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType0 { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ContentsFieldType { + @JsOverlay + static GetHoverResponse.ToObjectReturnType0.ContentsFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface RangeFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface StartFieldType { + @JsOverlay + static GetHoverResponse.ToObjectReturnType0.RangeFieldType.StartFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getCharacter(); + + @JsProperty + double getLine(); + + @JsProperty + void setCharacter(double character); + + @JsProperty + void setLine(double line); + } + + @JsOverlay + static GetHoverResponse.ToObjectReturnType0.RangeFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getEnd(); + + @JsProperty + GetHoverResponse.ToObjectReturnType0.RangeFieldType.StartFieldType getStart(); + + @JsProperty + void setEnd(Object end); + + @JsProperty + void setStart(GetHoverResponse.ToObjectReturnType0.RangeFieldType.StartFieldType start); + } + + @JsOverlay + static GetHoverResponse.ToObjectReturnType0 create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + GetHoverResponse.ToObjectReturnType0.ContentsFieldType getContents(); + + @JsProperty + GetHoverResponse.ToObjectReturnType0.RangeFieldType getRange(); + + @JsProperty + void setContents(GetHoverResponse.ToObjectReturnType0.ContentsFieldType contents); + + @JsProperty + void setRange(GetHoverResponse.ToObjectReturnType0.RangeFieldType range); + } + + public static native GetHoverResponse deserializeBinary(Uint8Array bytes); + + public static native GetHoverResponse deserializeBinaryFromReader( + GetHoverResponse message, Object reader); + + public static native void serializeBinaryToWriter(GetHoverResponse message, Object writer); + + public static native GetHoverResponse.ToObjectReturnType toObject( + boolean includeInstance, GetHoverResponse msg); + + public native void clearContents(); + + public native void clearRange(); + + public native MarkupContent getContents(); + + public native DocumentRange getRange(); + + public native boolean hasContents(); + + public native boolean hasRange(); + + public native Uint8Array serializeBinary(); + + public native void setContents(); + + public native void setContents(MarkupContent value); + + public native void setRange(); + + public native void setRange(DocumentRange value); + + public native GetHoverResponse.ToObjectReturnType0 toObject(); + + public native GetHoverResponse.ToObjectReturnType0 toObject(boolean includeInstance); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetPublishDiagnosticResponse.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetPublishDiagnosticResponse.java new file mode 100644 index 00000000000..ae9fb2cfa88 --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetPublishDiagnosticResponse.java @@ -0,0 +1,459 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb; + +import elemental2.core.JsArray; +import elemental2.core.Uint8Array; +import jsinterop.annotations.JsOverlay; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.GetPublishDiagnosticResponse", + namespace = JsPackage.GLOBAL) +public class GetPublishDiagnosticResponse { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DiagnosticsListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface CodeDescriptionFieldType { + @JsOverlay + static GetPublishDiagnosticResponse.ToObjectReturnType.DiagnosticsListFieldType.CodeDescriptionFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getHref(); + + @JsProperty + void setHref(String href); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetDataUnionType { + @JsOverlay + static GetPublishDiagnosticResponse.ToObjectReturnType.DiagnosticsListFieldType.GetDataUnionType of( + Object o) { + return Js.cast(o); + } + + @JsOverlay + default String asString() { + return Js.asString(this); + } + + @JsOverlay + default Uint8Array asUint8Array() { + return Js.cast(this); + } + + @JsOverlay + default boolean isString() { + return (Object) this instanceof String; + } + + @JsOverlay + default boolean isUint8Array() { + return (Object) this instanceof Uint8Array; + } + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface RangeFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface StartFieldType { + @JsOverlay + static GetPublishDiagnosticResponse.ToObjectReturnType.DiagnosticsListFieldType.RangeFieldType.StartFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getCharacter(); + + @JsProperty + double getLine(); + + @JsProperty + void setCharacter(double character); + + @JsProperty + void setLine(double line); + } + + @JsOverlay + static GetPublishDiagnosticResponse.ToObjectReturnType.DiagnosticsListFieldType.RangeFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getEnd(); + + @JsProperty + GetPublishDiagnosticResponse.ToObjectReturnType.DiagnosticsListFieldType.RangeFieldType.StartFieldType getStart(); + + @JsProperty + void setEnd(Object end); + + @JsProperty + void setStart( + GetPublishDiagnosticResponse.ToObjectReturnType.DiagnosticsListFieldType.RangeFieldType.StartFieldType start); + } + + @JsOverlay + static GetPublishDiagnosticResponse.ToObjectReturnType.DiagnosticsListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getCode(); + + @JsProperty + GetPublishDiagnosticResponse.ToObjectReturnType.DiagnosticsListFieldType.CodeDescriptionFieldType getCodeDescription(); + + @JsProperty + GetPublishDiagnosticResponse.ToObjectReturnType.DiagnosticsListFieldType.GetDataUnionType getData(); + + @JsProperty + String getMessage(); + + @JsProperty + GetPublishDiagnosticResponse.ToObjectReturnType.DiagnosticsListFieldType.RangeFieldType getRange(); + + @JsProperty + double getSeverity(); + + @JsProperty + String getSource(); + + @JsProperty + JsArray getTagsList(); + + @JsProperty + void setCode(String code); + + @JsProperty + void setCodeDescription( + GetPublishDiagnosticResponse.ToObjectReturnType.DiagnosticsListFieldType.CodeDescriptionFieldType codeDescription); + + @JsProperty + void setData( + GetPublishDiagnosticResponse.ToObjectReturnType.DiagnosticsListFieldType.GetDataUnionType data); + + @JsOverlay + default void setData(String data) { + setData( + Js.uncheckedCast( + data)); + } + + @JsOverlay + default void setData(Uint8Array data) { + setData( + Js.uncheckedCast( + data)); + } + + @JsProperty + void setMessage(String message); + + @JsProperty + void setRange( + GetPublishDiagnosticResponse.ToObjectReturnType.DiagnosticsListFieldType.RangeFieldType range); + + @JsProperty + void setSeverity(double severity); + + @JsProperty + void setSource(String source); + + @JsProperty + void setTagsList(JsArray tagsList); + + @JsOverlay + default void setTagsList(double[] tagsList) { + setTagsList(Js.>uncheckedCast(tagsList)); + } + } + + @JsOverlay + static GetPublishDiagnosticResponse.ToObjectReturnType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + JsArray getDiagnosticsList(); + + @JsProperty + String getUri(); + + @JsProperty + double getVersion(); + + @JsOverlay + default void setDiagnosticsList( + GetPublishDiagnosticResponse.ToObjectReturnType.DiagnosticsListFieldType[] diagnosticsList) { + setDiagnosticsList( + Js.>uncheckedCast( + diagnosticsList)); + } + + @JsProperty + void setDiagnosticsList( + JsArray diagnosticsList); + + @JsProperty + void setUri(String uri); + + @JsProperty + void setVersion(double version); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType0 { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DiagnosticsListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface CodeDescriptionFieldType { + @JsOverlay + static GetPublishDiagnosticResponse.ToObjectReturnType0.DiagnosticsListFieldType.CodeDescriptionFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getHref(); + + @JsProperty + void setHref(String href); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetDataUnionType { + @JsOverlay + static GetPublishDiagnosticResponse.ToObjectReturnType0.DiagnosticsListFieldType.GetDataUnionType of( + Object o) { + return Js.cast(o); + } + + @JsOverlay + default String asString() { + return Js.asString(this); + } + + @JsOverlay + default Uint8Array asUint8Array() { + return Js.cast(this); + } + + @JsOverlay + default boolean isString() { + return (Object) this instanceof String; + } + + @JsOverlay + default boolean isUint8Array() { + return (Object) this instanceof Uint8Array; + } + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface RangeFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface StartFieldType { + @JsOverlay + static GetPublishDiagnosticResponse.ToObjectReturnType0.DiagnosticsListFieldType.RangeFieldType.StartFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getCharacter(); + + @JsProperty + double getLine(); + + @JsProperty + void setCharacter(double character); + + @JsProperty + void setLine(double line); + } + + @JsOverlay + static GetPublishDiagnosticResponse.ToObjectReturnType0.DiagnosticsListFieldType.RangeFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getEnd(); + + @JsProperty + GetPublishDiagnosticResponse.ToObjectReturnType0.DiagnosticsListFieldType.RangeFieldType.StartFieldType getStart(); + + @JsProperty + void setEnd(Object end); + + @JsProperty + void setStart( + GetPublishDiagnosticResponse.ToObjectReturnType0.DiagnosticsListFieldType.RangeFieldType.StartFieldType start); + } + + @JsOverlay + static GetPublishDiagnosticResponse.ToObjectReturnType0.DiagnosticsListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getCode(); + + @JsProperty + GetPublishDiagnosticResponse.ToObjectReturnType0.DiagnosticsListFieldType.CodeDescriptionFieldType getCodeDescription(); + + @JsProperty + GetPublishDiagnosticResponse.ToObjectReturnType0.DiagnosticsListFieldType.GetDataUnionType getData(); + + @JsProperty + String getMessage(); + + @JsProperty + GetPublishDiagnosticResponse.ToObjectReturnType0.DiagnosticsListFieldType.RangeFieldType getRange(); + + @JsProperty + double getSeverity(); + + @JsProperty + String getSource(); + + @JsProperty + JsArray getTagsList(); + + @JsProperty + void setCode(String code); + + @JsProperty + void setCodeDescription( + GetPublishDiagnosticResponse.ToObjectReturnType0.DiagnosticsListFieldType.CodeDescriptionFieldType codeDescription); + + @JsProperty + void setData( + GetPublishDiagnosticResponse.ToObjectReturnType0.DiagnosticsListFieldType.GetDataUnionType data); + + @JsOverlay + default void setData(String data) { + setData( + Js.uncheckedCast( + data)); + } + + @JsOverlay + default void setData(Uint8Array data) { + setData( + Js.uncheckedCast( + data)); + } + + @JsProperty + void setMessage(String message); + + @JsProperty + void setRange( + GetPublishDiagnosticResponse.ToObjectReturnType0.DiagnosticsListFieldType.RangeFieldType range); + + @JsProperty + void setSeverity(double severity); + + @JsProperty + void setSource(String source); + + @JsProperty + void setTagsList(JsArray tagsList); + + @JsOverlay + default void setTagsList(double[] tagsList) { + setTagsList(Js.>uncheckedCast(tagsList)); + } + } + + @JsOverlay + static GetPublishDiagnosticResponse.ToObjectReturnType0 create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + JsArray getDiagnosticsList(); + + @JsProperty + String getUri(); + + @JsProperty + double getVersion(); + + @JsOverlay + default void setDiagnosticsList( + GetPublishDiagnosticResponse.ToObjectReturnType0.DiagnosticsListFieldType[] diagnosticsList) { + setDiagnosticsList( + Js.>uncheckedCast( + diagnosticsList)); + } + + @JsProperty + void setDiagnosticsList( + JsArray diagnosticsList); + + @JsProperty + void setUri(String uri); + + @JsProperty + void setVersion(double version); + } + + public static native GetPublishDiagnosticResponse deserializeBinary(Uint8Array bytes); + + public static native GetPublishDiagnosticResponse deserializeBinaryFromReader( + GetPublishDiagnosticResponse message, Object reader); + + public static native void serializeBinaryToWriter( + GetPublishDiagnosticResponse message, Object writer); + + public static native GetPublishDiagnosticResponse.ToObjectReturnType toObject( + boolean includeInstance, GetPublishDiagnosticResponse msg); + + public native Diagnostic addDiagnostics(); + + public native Diagnostic addDiagnostics(Diagnostic value, double index); + + public native Diagnostic addDiagnostics(Diagnostic value); + + public native void clearDiagnosticsList(); + + public native void clearVersion(); + + public native JsArray getDiagnosticsList(); + + public native String getUri(); + + public native double getVersion(); + + public native boolean hasVersion(); + + public native Uint8Array serializeBinary(); + + @JsOverlay + public final void setDiagnosticsList(Diagnostic[] value) { + setDiagnosticsList(Js.>uncheckedCast(value)); + } + + public native void setDiagnosticsList(JsArray value); + + public native void setUri(String value); + + public native void setVersion(double value); + + public native GetPublishDiagnosticResponse.ToObjectReturnType0 toObject(); + + public native GetPublishDiagnosticResponse.ToObjectReturnType0 toObject(boolean includeInstance); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetPullDiagnosticResponse.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetPullDiagnosticResponse.java new file mode 100644 index 00000000000..2fcfa20e1d5 --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetPullDiagnosticResponse.java @@ -0,0 +1,459 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb; + +import elemental2.core.JsArray; +import elemental2.core.Uint8Array; +import jsinterop.annotations.JsOverlay; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.GetPullDiagnosticResponse", + namespace = JsPackage.GLOBAL) +public class GetPullDiagnosticResponse { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ItemsListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface CodeDescriptionFieldType { + @JsOverlay + static GetPullDiagnosticResponse.ToObjectReturnType.ItemsListFieldType.CodeDescriptionFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getHref(); + + @JsProperty + void setHref(String href); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetDataUnionType { + @JsOverlay + static GetPullDiagnosticResponse.ToObjectReturnType.ItemsListFieldType.GetDataUnionType of( + Object o) { + return Js.cast(o); + } + + @JsOverlay + default String asString() { + return Js.asString(this); + } + + @JsOverlay + default Uint8Array asUint8Array() { + return Js.cast(this); + } + + @JsOverlay + default boolean isString() { + return (Object) this instanceof String; + } + + @JsOverlay + default boolean isUint8Array() { + return (Object) this instanceof Uint8Array; + } + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface RangeFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface StartFieldType { + @JsOverlay + static GetPullDiagnosticResponse.ToObjectReturnType.ItemsListFieldType.RangeFieldType.StartFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getCharacter(); + + @JsProperty + double getLine(); + + @JsProperty + void setCharacter(double character); + + @JsProperty + void setLine(double line); + } + + @JsOverlay + static GetPullDiagnosticResponse.ToObjectReturnType.ItemsListFieldType.RangeFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getEnd(); + + @JsProperty + GetPullDiagnosticResponse.ToObjectReturnType.ItemsListFieldType.RangeFieldType.StartFieldType getStart(); + + @JsProperty + void setEnd(Object end); + + @JsProperty + void setStart( + GetPullDiagnosticResponse.ToObjectReturnType.ItemsListFieldType.RangeFieldType.StartFieldType start); + } + + @JsOverlay + static GetPullDiagnosticResponse.ToObjectReturnType.ItemsListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getCode(); + + @JsProperty + GetPullDiagnosticResponse.ToObjectReturnType.ItemsListFieldType.CodeDescriptionFieldType getCodeDescription(); + + @JsProperty + GetPullDiagnosticResponse.ToObjectReturnType.ItemsListFieldType.GetDataUnionType getData(); + + @JsProperty + String getMessage(); + + @JsProperty + GetPullDiagnosticResponse.ToObjectReturnType.ItemsListFieldType.RangeFieldType getRange(); + + @JsProperty + double getSeverity(); + + @JsProperty + String getSource(); + + @JsProperty + JsArray getTagsList(); + + @JsProperty + void setCode(String code); + + @JsProperty + void setCodeDescription( + GetPullDiagnosticResponse.ToObjectReturnType.ItemsListFieldType.CodeDescriptionFieldType codeDescription); + + @JsProperty + void setData( + GetPullDiagnosticResponse.ToObjectReturnType.ItemsListFieldType.GetDataUnionType data); + + @JsOverlay + default void setData(String data) { + setData( + Js.uncheckedCast( + data)); + } + + @JsOverlay + default void setData(Uint8Array data) { + setData( + Js.uncheckedCast( + data)); + } + + @JsProperty + void setMessage(String message); + + @JsProperty + void setRange( + GetPullDiagnosticResponse.ToObjectReturnType.ItemsListFieldType.RangeFieldType range); + + @JsProperty + void setSeverity(double severity); + + @JsProperty + void setSource(String source); + + @JsProperty + void setTagsList(JsArray tagsList); + + @JsOverlay + default void setTagsList(double[] tagsList) { + setTagsList(Js.>uncheckedCast(tagsList)); + } + } + + @JsOverlay + static GetPullDiagnosticResponse.ToObjectReturnType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + JsArray getItemsList(); + + @JsProperty + String getKind(); + + @JsProperty + String getResultId(); + + @JsOverlay + default void setItemsList( + GetPullDiagnosticResponse.ToObjectReturnType.ItemsListFieldType[] itemsList) { + setItemsList( + Js.>uncheckedCast( + itemsList)); + } + + @JsProperty + void setItemsList( + JsArray itemsList); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setResultId(String resultId); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType0 { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ItemsListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface CodeDescriptionFieldType { + @JsOverlay + static GetPullDiagnosticResponse.ToObjectReturnType0.ItemsListFieldType.CodeDescriptionFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getHref(); + + @JsProperty + void setHref(String href); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface GetDataUnionType { + @JsOverlay + static GetPullDiagnosticResponse.ToObjectReturnType0.ItemsListFieldType.GetDataUnionType of( + Object o) { + return Js.cast(o); + } + + @JsOverlay + default String asString() { + return Js.asString(this); + } + + @JsOverlay + default Uint8Array asUint8Array() { + return Js.cast(this); + } + + @JsOverlay + default boolean isString() { + return (Object) this instanceof String; + } + + @JsOverlay + default boolean isUint8Array() { + return (Object) this instanceof Uint8Array; + } + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface RangeFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface StartFieldType { + @JsOverlay + static GetPullDiagnosticResponse.ToObjectReturnType0.ItemsListFieldType.RangeFieldType.StartFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getCharacter(); + + @JsProperty + double getLine(); + + @JsProperty + void setCharacter(double character); + + @JsProperty + void setLine(double line); + } + + @JsOverlay + static GetPullDiagnosticResponse.ToObjectReturnType0.ItemsListFieldType.RangeFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getEnd(); + + @JsProperty + GetPullDiagnosticResponse.ToObjectReturnType0.ItemsListFieldType.RangeFieldType.StartFieldType getStart(); + + @JsProperty + void setEnd(Object end); + + @JsProperty + void setStart( + GetPullDiagnosticResponse.ToObjectReturnType0.ItemsListFieldType.RangeFieldType.StartFieldType start); + } + + @JsOverlay + static GetPullDiagnosticResponse.ToObjectReturnType0.ItemsListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getCode(); + + @JsProperty + GetPullDiagnosticResponse.ToObjectReturnType0.ItemsListFieldType.CodeDescriptionFieldType getCodeDescription(); + + @JsProperty + GetPullDiagnosticResponse.ToObjectReturnType0.ItemsListFieldType.GetDataUnionType getData(); + + @JsProperty + String getMessage(); + + @JsProperty + GetPullDiagnosticResponse.ToObjectReturnType0.ItemsListFieldType.RangeFieldType getRange(); + + @JsProperty + double getSeverity(); + + @JsProperty + String getSource(); + + @JsProperty + JsArray getTagsList(); + + @JsProperty + void setCode(String code); + + @JsProperty + void setCodeDescription( + GetPullDiagnosticResponse.ToObjectReturnType0.ItemsListFieldType.CodeDescriptionFieldType codeDescription); + + @JsProperty + void setData( + GetPullDiagnosticResponse.ToObjectReturnType0.ItemsListFieldType.GetDataUnionType data); + + @JsOverlay + default void setData(String data) { + setData( + Js.uncheckedCast( + data)); + } + + @JsOverlay + default void setData(Uint8Array data) { + setData( + Js.uncheckedCast( + data)); + } + + @JsProperty + void setMessage(String message); + + @JsProperty + void setRange( + GetPullDiagnosticResponse.ToObjectReturnType0.ItemsListFieldType.RangeFieldType range); + + @JsProperty + void setSeverity(double severity); + + @JsProperty + void setSource(String source); + + @JsProperty + void setTagsList(JsArray tagsList); + + @JsOverlay + default void setTagsList(double[] tagsList) { + setTagsList(Js.>uncheckedCast(tagsList)); + } + } + + @JsOverlay + static GetPullDiagnosticResponse.ToObjectReturnType0 create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + JsArray getItemsList(); + + @JsProperty + String getKind(); + + @JsProperty + String getResultId(); + + @JsOverlay + default void setItemsList( + GetPullDiagnosticResponse.ToObjectReturnType0.ItemsListFieldType[] itemsList) { + setItemsList( + Js.>uncheckedCast( + itemsList)); + } + + @JsProperty + void setItemsList( + JsArray itemsList); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setResultId(String resultId); + } + + public static native GetPullDiagnosticResponse deserializeBinary(Uint8Array bytes); + + public static native GetPullDiagnosticResponse deserializeBinaryFromReader( + GetPullDiagnosticResponse message, Object reader); + + public static native void serializeBinaryToWriter( + GetPullDiagnosticResponse message, Object writer); + + public static native GetPullDiagnosticResponse.ToObjectReturnType toObject( + boolean includeInstance, GetPullDiagnosticResponse msg); + + public native Diagnostic addItems(); + + public native Diagnostic addItems(Diagnostic value, double index); + + public native Diagnostic addItems(Diagnostic value); + + public native void clearItemsList(); + + public native void clearResultId(); + + public native JsArray getItemsList(); + + public native String getKind(); + + public native String getResultId(); + + public native boolean hasResultId(); + + public native Uint8Array serializeBinary(); + + @JsOverlay + public final void setItemsList(Diagnostic[] value) { + setItemsList(Js.>uncheckedCast(value)); + } + + public native void setItemsList(JsArray value); + + public native void setKind(String value); + + public native void setResultId(String value); + + public native GetPullDiagnosticResponse.ToObjectReturnType0 toObject(); + + public native GetPullDiagnosticResponse.ToObjectReturnType0 toObject(boolean includeInstance); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetSignatureHelpRequest.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetSignatureHelpRequest.java new file mode 100644 index 00000000000..1e746519b48 --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetSignatureHelpRequest.java @@ -0,0 +1,499 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb; + +import elemental2.core.JsArray; +import elemental2.core.Uint8Array; +import jsinterop.annotations.JsOverlay; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.GetSignatureHelpRequest", + namespace = JsPackage.GLOBAL) +public class GetSignatureHelpRequest { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ContextFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ActiveSignatureHelpFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface SignaturesListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static GetSignatureHelpRequest.ToObjectReturnType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ParametersListFieldType { + @JsOverlay + static GetSignatureHelpRequest.ToObjectReturnType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.ParametersListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + void setDocumentation(Object documentation); + + @JsProperty + void setLabel(String label); + } + + @JsOverlay + static GetSignatureHelpRequest.ToObjectReturnType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + GetSignatureHelpRequest.ToObjectReturnType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + JsArray getParametersList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setDocumentation( + GetSignatureHelpRequest.ToObjectReturnType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType documentation); + + @JsProperty + void setLabel(String label); + + @JsProperty + void setParametersList( + JsArray parametersList); + + @JsOverlay + default void setParametersList( + GetSignatureHelpRequest.ToObjectReturnType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.ParametersListFieldType[] parametersList) { + setParametersList( + Js.>uncheckedCast( + parametersList)); + } + } + + @JsOverlay + static GetSignatureHelpRequest.ToObjectReturnType.ContextFieldType.ActiveSignatureHelpFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + double getActiveSignature(); + + @JsProperty + JsArray getSignaturesList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setActiveSignature(double activeSignature); + + @JsProperty + void setSignaturesList( + JsArray signaturesList); + + @JsOverlay + default void setSignaturesList( + GetSignatureHelpRequest.ToObjectReturnType.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType[] signaturesList) { + setSignaturesList( + Js.>uncheckedCast( + signaturesList)); + } + } + + @JsOverlay + static GetSignatureHelpRequest.ToObjectReturnType.ContextFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + GetSignatureHelpRequest.ToObjectReturnType.ContextFieldType.ActiveSignatureHelpFieldType getActiveSignatureHelp(); + + @JsProperty + String getTriggerCharacter(); + + @JsProperty + double getTriggerKind(); + + @JsProperty + boolean isIsRetrigger(); + + @JsProperty + void setActiveSignatureHelp( + GetSignatureHelpRequest.ToObjectReturnType.ContextFieldType.ActiveSignatureHelpFieldType activeSignatureHelp); + + @JsProperty + void setIsRetrigger(boolean isRetrigger); + + @JsProperty + void setTriggerCharacter(String triggerCharacter); + + @JsProperty + void setTriggerKind(double triggerKind); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface PositionFieldType { + @JsOverlay + static GetSignatureHelpRequest.ToObjectReturnType.PositionFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getCharacter(); + + @JsProperty + double getLine(); + + @JsProperty + void setCharacter(double character); + + @JsProperty + void setLine(double line); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface TextDocumentFieldType { + @JsOverlay + static GetSignatureHelpRequest.ToObjectReturnType.TextDocumentFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getUri(); + + @JsProperty + double getVersion(); + + @JsProperty + void setUri(String uri); + + @JsProperty + void setVersion(double version); + } + + @JsOverlay + static GetSignatureHelpRequest.ToObjectReturnType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + GetSignatureHelpRequest.ToObjectReturnType.ContextFieldType getContext(); + + @JsProperty + GetSignatureHelpRequest.ToObjectReturnType.PositionFieldType getPosition(); + + @JsProperty + GetSignatureHelpRequest.ToObjectReturnType.TextDocumentFieldType getTextDocument(); + + @JsProperty + void setContext(GetSignatureHelpRequest.ToObjectReturnType.ContextFieldType context); + + @JsProperty + void setPosition(GetSignatureHelpRequest.ToObjectReturnType.PositionFieldType position); + + @JsProperty + void setTextDocument( + GetSignatureHelpRequest.ToObjectReturnType.TextDocumentFieldType textDocument); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType0 { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ContextFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ActiveSignatureHelpFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface SignaturesListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static GetSignatureHelpRequest.ToObjectReturnType0.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ParametersListFieldType { + @JsOverlay + static GetSignatureHelpRequest.ToObjectReturnType0.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.ParametersListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + void setDocumentation(Object documentation); + + @JsProperty + void setLabel(String label); + } + + @JsOverlay + static GetSignatureHelpRequest.ToObjectReturnType0.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + GetSignatureHelpRequest.ToObjectReturnType0.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + JsArray getParametersList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setDocumentation( + GetSignatureHelpRequest.ToObjectReturnType0.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType documentation); + + @JsProperty + void setLabel(String label); + + @JsProperty + void setParametersList( + JsArray parametersList); + + @JsOverlay + default void setParametersList( + GetSignatureHelpRequest.ToObjectReturnType0.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType.ParametersListFieldType[] parametersList) { + setParametersList( + Js.>uncheckedCast( + parametersList)); + } + } + + @JsOverlay + static GetSignatureHelpRequest.ToObjectReturnType0.ContextFieldType.ActiveSignatureHelpFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + double getActiveSignature(); + + @JsProperty + JsArray getSignaturesList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setActiveSignature(double activeSignature); + + @JsProperty + void setSignaturesList( + JsArray signaturesList); + + @JsOverlay + default void setSignaturesList( + GetSignatureHelpRequest.ToObjectReturnType0.ContextFieldType.ActiveSignatureHelpFieldType.SignaturesListFieldType[] signaturesList) { + setSignaturesList( + Js.>uncheckedCast( + signaturesList)); + } + } + + @JsOverlay + static GetSignatureHelpRequest.ToObjectReturnType0.ContextFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + GetSignatureHelpRequest.ToObjectReturnType0.ContextFieldType.ActiveSignatureHelpFieldType getActiveSignatureHelp(); + + @JsProperty + String getTriggerCharacter(); + + @JsProperty + double getTriggerKind(); + + @JsProperty + boolean isIsRetrigger(); + + @JsProperty + void setActiveSignatureHelp( + GetSignatureHelpRequest.ToObjectReturnType0.ContextFieldType.ActiveSignatureHelpFieldType activeSignatureHelp); + + @JsProperty + void setIsRetrigger(boolean isRetrigger); + + @JsProperty + void setTriggerCharacter(String triggerCharacter); + + @JsProperty + void setTriggerKind(double triggerKind); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface PositionFieldType { + @JsOverlay + static GetSignatureHelpRequest.ToObjectReturnType0.PositionFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getCharacter(); + + @JsProperty + double getLine(); + + @JsProperty + void setCharacter(double character); + + @JsProperty + void setLine(double line); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface TextDocumentFieldType { + @JsOverlay + static GetSignatureHelpRequest.ToObjectReturnType0.TextDocumentFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getUri(); + + @JsProperty + double getVersion(); + + @JsProperty + void setUri(String uri); + + @JsProperty + void setVersion(double version); + } + + @JsOverlay + static GetSignatureHelpRequest.ToObjectReturnType0 create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + GetSignatureHelpRequest.ToObjectReturnType0.ContextFieldType getContext(); + + @JsProperty + GetSignatureHelpRequest.ToObjectReturnType0.PositionFieldType getPosition(); + + @JsProperty + GetSignatureHelpRequest.ToObjectReturnType0.TextDocumentFieldType getTextDocument(); + + @JsProperty + void setContext(GetSignatureHelpRequest.ToObjectReturnType0.ContextFieldType context); + + @JsProperty + void setPosition(GetSignatureHelpRequest.ToObjectReturnType0.PositionFieldType position); + + @JsProperty + void setTextDocument( + GetSignatureHelpRequest.ToObjectReturnType0.TextDocumentFieldType textDocument); + } + + public static native GetSignatureHelpRequest deserializeBinary(Uint8Array bytes); + + public static native GetSignatureHelpRequest deserializeBinaryFromReader( + GetSignatureHelpRequest message, Object reader); + + public static native void serializeBinaryToWriter(GetSignatureHelpRequest message, Object writer); + + public static native GetSignatureHelpRequest.ToObjectReturnType toObject( + boolean includeInstance, GetSignatureHelpRequest msg); + + public native void clearContext(); + + public native void clearPosition(); + + public native void clearTextDocument(); + + public native SignatureHelpContext getContext(); + + public native Position getPosition(); + + public native VersionedTextDocumentIdentifier getTextDocument(); + + public native boolean hasContext(); + + public native boolean hasPosition(); + + public native boolean hasTextDocument(); + + public native Uint8Array serializeBinary(); + + public native void setContext(); + + public native void setContext(SignatureHelpContext value); + + public native void setPosition(); + + public native void setPosition(Position value); + + public native void setTextDocument(); + + public native void setTextDocument(VersionedTextDocumentIdentifier value); + + public native GetSignatureHelpRequest.ToObjectReturnType0 toObject(); + + public native GetSignatureHelpRequest.ToObjectReturnType0 toObject(boolean includeInstance); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetSignatureHelpResponse.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetSignatureHelpResponse.java new file mode 100644 index 00000000000..d9d1a236cbc --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/GetSignatureHelpResponse.java @@ -0,0 +1,303 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb; + +import elemental2.core.JsArray; +import elemental2.core.Uint8Array; +import jsinterop.annotations.JsOverlay; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.GetSignatureHelpResponse", + namespace = JsPackage.GLOBAL) +public class GetSignatureHelpResponse { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface SignaturesListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static GetSignatureHelpResponse.ToObjectReturnType.SignaturesListFieldType.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ParametersListFieldType { + @JsOverlay + static GetSignatureHelpResponse.ToObjectReturnType.SignaturesListFieldType.ParametersListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + void setDocumentation(Object documentation); + + @JsProperty + void setLabel(String label); + } + + @JsOverlay + static GetSignatureHelpResponse.ToObjectReturnType.SignaturesListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + GetSignatureHelpResponse.ToObjectReturnType.SignaturesListFieldType.DocumentationFieldType getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + JsArray getParametersList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setDocumentation( + GetSignatureHelpResponse.ToObjectReturnType.SignaturesListFieldType.DocumentationFieldType documentation); + + @JsProperty + void setLabel(String label); + + @JsProperty + void setParametersList( + JsArray parametersList); + + @JsOverlay + default void setParametersList( + GetSignatureHelpResponse.ToObjectReturnType.SignaturesListFieldType.ParametersListFieldType[] parametersList) { + setParametersList( + Js.>uncheckedCast( + parametersList)); + } + } + + @JsOverlay + static GetSignatureHelpResponse.ToObjectReturnType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + double getActiveSignature(); + + @JsProperty + JsArray getSignaturesList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setActiveSignature(double activeSignature); + + @JsProperty + void setSignaturesList( + JsArray signaturesList); + + @JsOverlay + default void setSignaturesList( + GetSignatureHelpResponse.ToObjectReturnType.SignaturesListFieldType[] signaturesList) { + setSignaturesList( + Js.>uncheckedCast( + signaturesList)); + } + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType0 { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface SignaturesListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static GetSignatureHelpResponse.ToObjectReturnType0.SignaturesListFieldType.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ParametersListFieldType { + @JsOverlay + static GetSignatureHelpResponse.ToObjectReturnType0.SignaturesListFieldType.ParametersListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + void setDocumentation(Object documentation); + + @JsProperty + void setLabel(String label); + } + + @JsOverlay + static GetSignatureHelpResponse.ToObjectReturnType0.SignaturesListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + GetSignatureHelpResponse.ToObjectReturnType0.SignaturesListFieldType.DocumentationFieldType getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + JsArray getParametersList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setDocumentation( + GetSignatureHelpResponse.ToObjectReturnType0.SignaturesListFieldType.DocumentationFieldType documentation); + + @JsProperty + void setLabel(String label); + + @JsProperty + void setParametersList( + JsArray parametersList); + + @JsOverlay + default void setParametersList( + GetSignatureHelpResponse.ToObjectReturnType0.SignaturesListFieldType.ParametersListFieldType[] parametersList) { + setParametersList( + Js.>uncheckedCast( + parametersList)); + } + } + + @JsOverlay + static GetSignatureHelpResponse.ToObjectReturnType0 create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + double getActiveSignature(); + + @JsProperty + JsArray getSignaturesList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setActiveSignature(double activeSignature); + + @JsProperty + void setSignaturesList( + JsArray signaturesList); + + @JsOverlay + default void setSignaturesList( + GetSignatureHelpResponse.ToObjectReturnType0.SignaturesListFieldType[] signaturesList) { + setSignaturesList( + Js.>uncheckedCast( + signaturesList)); + } + } + + public static native GetSignatureHelpResponse deserializeBinary(Uint8Array bytes); + + public static native GetSignatureHelpResponse deserializeBinaryFromReader( + GetSignatureHelpResponse message, Object reader); + + public static native void serializeBinaryToWriter( + GetSignatureHelpResponse message, Object writer); + + public static native GetSignatureHelpResponse.ToObjectReturnType toObject( + boolean includeInstance, GetSignatureHelpResponse msg); + + public native SignatureInformation addSignatures(); + + public native SignatureInformation addSignatures(SignatureInformation value, double index); + + public native SignatureInformation addSignatures(SignatureInformation value); + + public native void clearActiveParameter(); + + public native void clearActiveSignature(); + + public native void clearSignaturesList(); + + public native int getActiveParameter(); + + public native int getActiveSignature(); + + public native JsArray getSignaturesList(); + + public native boolean hasActiveParameter(); + + public native boolean hasActiveSignature(); + + public native Uint8Array serializeBinary(); + + public native void setActiveParameter(int value); + + public native void setActiveSignature(int value); + + public native void setSignaturesList(JsArray value); + + @JsOverlay + public final void setSignaturesList(SignatureInformation[] value) { + setSignaturesList(Js.>uncheckedCast(value)); + } + + public native GetSignatureHelpResponse.ToObjectReturnType0 toObject(); + + public native GetSignatureHelpResponse.ToObjectReturnType0 toObject(boolean includeInstance); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/MarkupContent.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/MarkupContent.java new file mode 100644 index 00000000000..e469f920c80 --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/MarkupContent.java @@ -0,0 +1,82 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb; + +import elemental2.core.Uint8Array; +import jsinterop.annotations.JsOverlay; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.MarkupContent", + namespace = JsPackage.GLOBAL) +public class MarkupContent { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType { + @JsOverlay + static MarkupContent.ToObjectReturnType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType0 { + @JsOverlay + static MarkupContent.ToObjectReturnType0 create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + + public static native MarkupContent deserializeBinary(Uint8Array bytes); + + public static native MarkupContent deserializeBinaryFromReader( + MarkupContent message, Object reader); + + public static native void serializeBinaryToWriter(MarkupContent message, Object writer); + + public static native MarkupContent.ToObjectReturnType toObject( + boolean includeInstance, MarkupContent msg); + + public native String getKind(); + + public native String getValue(); + + public native Uint8Array serializeBinary(); + + public native void setKind(String value); + + public native void setValue(String value); + + public native MarkupContent.ToObjectReturnType0 toObject(); + + public native MarkupContent.ToObjectReturnType0 toObject(boolean includeInstance); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/ParameterInformation.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/ParameterInformation.java new file mode 100644 index 00000000000..1070ecdf1b4 --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/ParameterInformation.java @@ -0,0 +1,130 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb; + +import elemental2.core.Uint8Array; +import jsinterop.annotations.JsOverlay; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.ParameterInformation", + namespace = JsPackage.GLOBAL) +public class ParameterInformation { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static ParameterInformation.ToObjectReturnType.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + + @JsOverlay + static ParameterInformation.ToObjectReturnType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + ParameterInformation.ToObjectReturnType.DocumentationFieldType getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + void setDocumentation( + ParameterInformation.ToObjectReturnType.DocumentationFieldType documentation); + + @JsProperty + void setLabel(String label); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType0 { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static ParameterInformation.ToObjectReturnType0.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + + @JsOverlay + static ParameterInformation.ToObjectReturnType0 create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + ParameterInformation.ToObjectReturnType0.DocumentationFieldType getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + void setDocumentation( + ParameterInformation.ToObjectReturnType0.DocumentationFieldType documentation); + + @JsProperty + void setLabel(String label); + } + + public static native ParameterInformation deserializeBinary(Uint8Array bytes); + + public static native ParameterInformation deserializeBinaryFromReader( + ParameterInformation message, Object reader); + + public static native void serializeBinaryToWriter(ParameterInformation message, Object writer); + + public static native ParameterInformation.ToObjectReturnType toObject( + boolean includeInstance, ParameterInformation msg); + + public native void clearDocumentation(); + + public native MarkupContent getDocumentation(); + + public native String getLabel(); + + public native boolean hasDocumentation(); + + public native Uint8Array serializeBinary(); + + public native void setDocumentation(); + + public native void setDocumentation(MarkupContent value); + + public native void setLabel(String value); + + public native ParameterInformation.ToObjectReturnType0 toObject(); + + public native ParameterInformation.ToObjectReturnType0 toObject(boolean includeInstance); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/SignatureHelpContext.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/SignatureHelpContext.java new file mode 100644 index 00000000000..6ec0224842a --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/SignatureHelpContext.java @@ -0,0 +1,361 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb; + +import elemental2.core.JsArray; +import elemental2.core.Uint8Array; +import jsinterop.annotations.JsOverlay; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.SignatureHelpContext", + namespace = JsPackage.GLOBAL) +public class SignatureHelpContext { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ActiveSignatureHelpFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface SignaturesListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static SignatureHelpContext.ToObjectReturnType.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ParametersListFieldType { + @JsOverlay + static SignatureHelpContext.ToObjectReturnType.ActiveSignatureHelpFieldType.SignaturesListFieldType.ParametersListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + void setDocumentation(Object documentation); + + @JsProperty + void setLabel(String label); + } + + @JsOverlay + static SignatureHelpContext.ToObjectReturnType.ActiveSignatureHelpFieldType.SignaturesListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + SignatureHelpContext.ToObjectReturnType.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + JsArray getParametersList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setDocumentation( + SignatureHelpContext.ToObjectReturnType.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType documentation); + + @JsProperty + void setLabel(String label); + + @JsProperty + void setParametersList( + JsArray parametersList); + + @JsOverlay + default void setParametersList( + SignatureHelpContext.ToObjectReturnType.ActiveSignatureHelpFieldType.SignaturesListFieldType.ParametersListFieldType[] parametersList) { + setParametersList( + Js.>uncheckedCast( + parametersList)); + } + } + + @JsOverlay + static SignatureHelpContext.ToObjectReturnType.ActiveSignatureHelpFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + double getActiveSignature(); + + @JsProperty + JsArray getSignaturesList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setActiveSignature(double activeSignature); + + @JsProperty + void setSignaturesList( + JsArray signaturesList); + + @JsOverlay + default void setSignaturesList( + SignatureHelpContext.ToObjectReturnType.ActiveSignatureHelpFieldType.SignaturesListFieldType[] signaturesList) { + setSignaturesList( + Js.>uncheckedCast( + signaturesList)); + } + } + + @JsOverlay + static SignatureHelpContext.ToObjectReturnType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + SignatureHelpContext.ToObjectReturnType.ActiveSignatureHelpFieldType getActiveSignatureHelp(); + + @JsProperty + String getTriggerCharacter(); + + @JsProperty + double getTriggerKind(); + + @JsProperty + boolean isIsRetrigger(); + + @JsProperty + void setActiveSignatureHelp( + SignatureHelpContext.ToObjectReturnType.ActiveSignatureHelpFieldType activeSignatureHelp); + + @JsProperty + void setIsRetrigger(boolean isRetrigger); + + @JsProperty + void setTriggerCharacter(String triggerCharacter); + + @JsProperty + void setTriggerKind(double triggerKind); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType0 { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ActiveSignatureHelpFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface SignaturesListFieldType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static SignatureHelpContext.ToObjectReturnType0.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ParametersListFieldType { + @JsOverlay + static SignatureHelpContext.ToObjectReturnType0.ActiveSignatureHelpFieldType.SignaturesListFieldType.ParametersListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + void setDocumentation(Object documentation); + + @JsProperty + void setLabel(String label); + } + + @JsOverlay + static SignatureHelpContext.ToObjectReturnType0.ActiveSignatureHelpFieldType.SignaturesListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + SignatureHelpContext.ToObjectReturnType0.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + JsArray getParametersList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setDocumentation( + SignatureHelpContext.ToObjectReturnType0.ActiveSignatureHelpFieldType.SignaturesListFieldType.DocumentationFieldType documentation); + + @JsProperty + void setLabel(String label); + + @JsProperty + void setParametersList( + JsArray parametersList); + + @JsOverlay + default void setParametersList( + SignatureHelpContext.ToObjectReturnType0.ActiveSignatureHelpFieldType.SignaturesListFieldType.ParametersListFieldType[] parametersList) { + setParametersList( + Js.>uncheckedCast( + parametersList)); + } + } + + @JsOverlay + static SignatureHelpContext.ToObjectReturnType0.ActiveSignatureHelpFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + double getActiveSignature(); + + @JsProperty + JsArray getSignaturesList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setActiveSignature(double activeSignature); + + @JsProperty + void setSignaturesList( + JsArray signaturesList); + + @JsOverlay + default void setSignaturesList( + SignatureHelpContext.ToObjectReturnType0.ActiveSignatureHelpFieldType.SignaturesListFieldType[] signaturesList) { + setSignaturesList( + Js.>uncheckedCast( + signaturesList)); + } + } + + @JsOverlay + static SignatureHelpContext.ToObjectReturnType0 create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + SignatureHelpContext.ToObjectReturnType0.ActiveSignatureHelpFieldType getActiveSignatureHelp(); + + @JsProperty + String getTriggerCharacter(); + + @JsProperty + double getTriggerKind(); + + @JsProperty + boolean isIsRetrigger(); + + @JsProperty + void setActiveSignatureHelp( + SignatureHelpContext.ToObjectReturnType0.ActiveSignatureHelpFieldType activeSignatureHelp); + + @JsProperty + void setIsRetrigger(boolean isRetrigger); + + @JsProperty + void setTriggerCharacter(String triggerCharacter); + + @JsProperty + void setTriggerKind(double triggerKind); + } + + public static native SignatureHelpContext deserializeBinary(Uint8Array bytes); + + public static native SignatureHelpContext deserializeBinaryFromReader( + SignatureHelpContext message, Object reader); + + public static native void serializeBinaryToWriter(SignatureHelpContext message, Object writer); + + public static native SignatureHelpContext.ToObjectReturnType toObject( + boolean includeInstance, SignatureHelpContext msg); + + public native void clearActiveSignatureHelp(); + + public native void clearTriggerCharacter(); + + public native GetSignatureHelpResponse getActiveSignatureHelp(); + + public native boolean getIsRetrigger(); + + public native String getTriggerCharacter(); + + public native int getTriggerKind(); + + public native boolean hasActiveSignatureHelp(); + + public native boolean hasTriggerCharacter(); + + public native Uint8Array serializeBinary(); + + public native void setActiveSignatureHelp(); + + public native void setActiveSignatureHelp(GetSignatureHelpResponse value); + + public native void setIsRetrigger(boolean value); + + public native void setTriggerCharacter(String value); + + public native void setTriggerKind(int value); + + public native SignatureHelpContext.ToObjectReturnType0 toObject(); + + public native SignatureHelpContext.ToObjectReturnType0 toObject(boolean includeInstance); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/SignatureInformation.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/SignatureInformation.java new file mode 100644 index 00000000000..19915e6ed71 --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/SignatureInformation.java @@ -0,0 +1,238 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb; + +import elemental2.core.JsArray; +import elemental2.core.Uint8Array; +import jsinterop.annotations.JsOverlay; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.SignatureInformation", + namespace = JsPackage.GLOBAL) +public class SignatureInformation { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static SignatureInformation.ToObjectReturnType.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ParametersListFieldType { + @JsOverlay + static SignatureInformation.ToObjectReturnType.ParametersListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + void setDocumentation(Object documentation); + + @JsProperty + void setLabel(String label); + } + + @JsOverlay + static SignatureInformation.ToObjectReturnType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + SignatureInformation.ToObjectReturnType.DocumentationFieldType getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + JsArray getParametersList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setDocumentation( + SignatureInformation.ToObjectReturnType.DocumentationFieldType documentation); + + @JsProperty + void setLabel(String label); + + @JsProperty + void setParametersList( + JsArray parametersList); + + @JsOverlay + default void setParametersList( + SignatureInformation.ToObjectReturnType.ParametersListFieldType[] parametersList) { + setParametersList( + Js.>uncheckedCast( + parametersList)); + } + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType0 { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface DocumentationFieldType { + @JsOverlay + static SignatureInformation.ToObjectReturnType0.DocumentationFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getKind(); + + @JsProperty + String getValue(); + + @JsProperty + void setKind(String kind); + + @JsProperty + void setValue(String value); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ParametersListFieldType { + @JsOverlay + static SignatureInformation.ToObjectReturnType0.ParametersListFieldType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + Object getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + void setDocumentation(Object documentation); + + @JsProperty + void setLabel(String label); + } + + @JsOverlay + static SignatureInformation.ToObjectReturnType0 create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getActiveParameter(); + + @JsProperty + SignatureInformation.ToObjectReturnType0.DocumentationFieldType getDocumentation(); + + @JsProperty + String getLabel(); + + @JsProperty + JsArray getParametersList(); + + @JsProperty + void setActiveParameter(double activeParameter); + + @JsProperty + void setDocumentation( + SignatureInformation.ToObjectReturnType0.DocumentationFieldType documentation); + + @JsProperty + void setLabel(String label); + + @JsProperty + void setParametersList( + JsArray parametersList); + + @JsOverlay + default void setParametersList( + SignatureInformation.ToObjectReturnType0.ParametersListFieldType[] parametersList) { + setParametersList( + Js.>uncheckedCast( + parametersList)); + } + } + + public static native SignatureInformation deserializeBinary(Uint8Array bytes); + + public static native SignatureInformation deserializeBinaryFromReader( + SignatureInformation message, Object reader); + + public static native void serializeBinaryToWriter(SignatureInformation message, Object writer); + + public static native SignatureInformation.ToObjectReturnType toObject( + boolean includeInstance, SignatureInformation msg); + + public native ParameterInformation addParameters(); + + public native ParameterInformation addParameters(ParameterInformation value, double index); + + public native ParameterInformation addParameters(ParameterInformation value); + + public native void clearActiveParameter(); + + public native void clearDocumentation(); + + public native void clearParametersList(); + + public native int getActiveParameter(); + + public native MarkupContent getDocumentation(); + + public native String getLabel(); + + public native JsArray getParametersList(); + + public native boolean hasActiveParameter(); + + public native boolean hasDocumentation(); + + public native Uint8Array serializeBinary(); + + public native void setActiveParameter(int value); + + public native void setDocumentation(); + + public native void setDocumentation(MarkupContent value); + + public native void setLabel(String value); + + public native void setParametersList(JsArray value); + + @JsOverlay + public final void setParametersList(ParameterInformation[] value) { + setParametersList(Js.>uncheckedCast(value)); + } + + public native SignatureInformation.ToObjectReturnType0 toObject(); + + public native SignatureInformation.ToObjectReturnType0 toObject(boolean includeInstance); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/autocompleterequest/RequestCase.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/autocompleterequest/RequestCase.java index 9465bf082a8..dbf1bb22dc2 100644 --- a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/autocompleterequest/RequestCase.java +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/autocompleterequest/RequestCase.java @@ -14,6 +14,9 @@ public class RequestCase { public static int CHANGE_DOCUMENT, CLOSE_DOCUMENT, GET_COMPLETION_ITEMS, + GET_DIAGNOSTIC, + GET_HOVER, + GET_SIGNATURE_HELP, OPEN_DOCUMENT, REQUEST_NOT_SET; } diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/autocompleteresponse/ResponseCase.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/autocompleteresponse/ResponseCase.java index 0e549c62063..4ea37ec46e9 100644 --- a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/autocompleteresponse/ResponseCase.java +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/autocompleteresponse/ResponseCase.java @@ -12,5 +12,9 @@ namespace = JsPackage.GLOBAL) public class ResponseCase { public static int COMPLETION_ITEMS, - RESPONSE_NOT_SET; + DIAGNOSTIC, + DIAGNOSTIC_PUBLISH, + HOVER, + RESPONSE_NOT_SET, + SIGNATURES; } diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/diagnostic/CodeDescription.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/diagnostic/CodeDescription.java new file mode 100644 index 00000000000..148dfa07a24 --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/diagnostic/CodeDescription.java @@ -0,0 +1,66 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.diagnostic; + +import elemental2.core.Uint8Array; +import jsinterop.annotations.JsOverlay; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.Diagnostic.CodeDescription", + namespace = JsPackage.GLOBAL) +public class CodeDescription { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType { + @JsOverlay + static CodeDescription.ToObjectReturnType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getHref(); + + @JsProperty + void setHref(String href); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface ToObjectReturnType0 { + @JsOverlay + static CodeDescription.ToObjectReturnType0 create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getHref(); + + @JsProperty + void setHref(String href); + } + + public static native CodeDescription deserializeBinary(Uint8Array bytes); + + public static native CodeDescription deserializeBinaryFromReader( + CodeDescription message, Object reader); + + public static native void serializeBinaryToWriter(CodeDescription message, Object writer); + + public static native CodeDescription.ToObjectReturnType toObject( + boolean includeInstance, CodeDescription msg); + + public native String getHref(); + + public native Uint8Array serializeBinary(); + + public native void setHref(String value); + + public native CodeDescription.ToObjectReturnType0 toObject(); + + public native CodeDescription.ToObjectReturnType0 toObject(boolean includeInstance); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/diagnostic/DiagnosticSeverityMap.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/diagnostic/DiagnosticSeverityMap.java new file mode 100644 index 00000000000..5bdd8267ef9 --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/diagnostic/DiagnosticSeverityMap.java @@ -0,0 +1,52 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.diagnostic; + +import jsinterop.annotations.JsOverlay; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.Diagnostic.DiagnosticSeverityMap", + namespace = JsPackage.GLOBAL) +public interface DiagnosticSeverityMap { + @JsOverlay + static DiagnosticSeverityMap create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty(name = "ERROR") + int getERROR(); + + @JsProperty(name = "HINT") + int getHINT(); + + @JsProperty(name = "INFORMATION") + int getINFORMATION(); + + @JsProperty(name = "NOT_SET_SEVERITY") + int getNOT_SET_SEVERITY(); + + @JsProperty(name = "WARNING") + int getWARNING(); + + @JsProperty(name = "ERROR") + void setERROR(int ERROR); + + @JsProperty(name = "HINT") + void setHINT(int HINT); + + @JsProperty(name = "INFORMATION") + void setINFORMATION(int INFORMATION); + + @JsProperty(name = "NOT_SET_SEVERITY") + void setNOT_SET_SEVERITY(int NOT_SET_SEVERITY); + + @JsProperty(name = "WARNING") + void setWARNING(int WARNING); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/diagnostic/DiagnosticTagMap.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/diagnostic/DiagnosticTagMap.java new file mode 100644 index 00000000000..fd8f51d1593 --- /dev/null +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb/diagnostic/DiagnosticTagMap.java @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.diagnostic; + +import jsinterop.annotations.JsOverlay; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; + +@JsType( + isNative = true, + name = "dhinternal.io.deephaven.proto.console_pb.Diagnostic.DiagnosticTagMap", + namespace = JsPackage.GLOBAL) +public interface DiagnosticTagMap { + @JsOverlay + static DiagnosticTagMap create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty(name = "DEPRECATED") + int getDEPRECATED(); + + @JsProperty(name = "NOT_SET_TAG") + int getNOT_SET_TAG(); + + @JsProperty(name = "UNNECESSARY") + int getUNNECESSARY(); + + @JsProperty(name = "DEPRECATED") + void setDEPRECATED(int DEPRECATED); + + @JsProperty(name = "NOT_SET_TAG") + void setNOT_SET_TAG(int NOT_SET_TAG); + + @JsProperty(name = "UNNECESSARY") + void setUNNECESSARY(int UNNECESSARY); +} diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb_service/ConsoleService.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb_service/ConsoleService.java index 19fba352238..53ecd9023c5 100644 --- a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb_service/ConsoleService.java +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb_service/ConsoleService.java @@ -103,6 +103,50 @@ static ConsoleService.BindTableToVariableType create() { void setService(Object service); } + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface CancelAutoCompleteType { + @JsOverlay + static ConsoleService.CancelAutoCompleteType create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + String getMethodName(); + + @JsProperty + Object getRequestType(); + + @JsProperty + Object getResponseType(); + + @JsProperty + Object getService(); + + @JsProperty + boolean isRequestStream(); + + @JsProperty + boolean isResponseStream(); + + @JsProperty + void setMethodName(String methodName); + + @JsProperty + void setRequestStream(boolean requestStream); + + @JsProperty + void setRequestType(Object requestType); + + @JsProperty + void setResponseStream(boolean responseStream); + + @JsProperty + void setResponseType(Object responseType); + + @JsProperty + void setService(Object service); + } + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) public interface CancelCommandType { @JsOverlay @@ -457,6 +501,7 @@ static ConsoleService.SubscribeToLogsType create() { public static ConsoleService.AutoCompleteStreamType AutoCompleteStream; public static ConsoleService.BindTableToVariableType BindTableToVariable; + public static ConsoleService.CancelAutoCompleteType CancelAutoComplete; public static ConsoleService.CancelCommandType CancelCommand; public static ConsoleService.ExecuteCommandType ExecuteCommand; public static ConsoleService.GetConsoleTypesType GetConsoleTypes; diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb_service/ConsoleServiceClient.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb_service/ConsoleServiceClient.java index d6ce3a304bd..6f733b0e111 100644 --- a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb_service/ConsoleServiceClient.java +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/console_pb_service/ConsoleServiceClient.java @@ -9,6 +9,8 @@ import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.BindTableToVariableRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.BindTableToVariableResponse; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.BrowserNextResponse; +import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.CancelAutoCompleteRequest; +import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.CancelAutoCompleteResponse; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.CancelCommandRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.CancelCommandResponse; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.ExecuteCommandRequest; @@ -128,6 +130,99 @@ default boolean isBrowserHeaders() { } } + @JsFunction + public interface CancelAutoCompleteCallbackFn { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface P0Type { + @JsOverlay + static ConsoleServiceClient.CancelAutoCompleteCallbackFn.P0Type create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getCode(); + + @JsProperty + String getMessage(); + + @JsProperty + BrowserHeaders getMetadata(); + + @JsProperty + void setCode(double code); + + @JsProperty + void setMessage(String message); + + @JsProperty + void setMetadata(BrowserHeaders metadata); + } + + void onInvoke( + ConsoleServiceClient.CancelAutoCompleteCallbackFn.P0Type p0, CancelAutoCompleteResponse p1); + } + + @JsFunction + public interface CancelAutoCompleteMetadata_or_callbackFn { + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface P0Type { + @JsOverlay + static ConsoleServiceClient.CancelAutoCompleteMetadata_or_callbackFn.P0Type create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + double getCode(); + + @JsProperty + String getMessage(); + + @JsProperty + BrowserHeaders getMetadata(); + + @JsProperty + void setCode(double code); + + @JsProperty + void setMessage(String message); + + @JsProperty + void setMetadata(BrowserHeaders metadata); + } + + void onInvoke( + ConsoleServiceClient.CancelAutoCompleteMetadata_or_callbackFn.P0Type p0, + CancelAutoCompleteResponse p1); + } + + @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) + public interface CancelAutoCompleteMetadata_or_callbackUnionType { + @JsOverlay + static ConsoleServiceClient.CancelAutoCompleteMetadata_or_callbackUnionType of(Object o) { + return Js.cast(o); + } + + @JsOverlay + default BrowserHeaders asBrowserHeaders() { + return Js.cast(this); + } + + @JsOverlay + default ConsoleServiceClient.CancelAutoCompleteMetadata_or_callbackFn asCancelAutoCompleteMetadata_or_callbackFn() { + return Js.cast(this); + } + + @JsOverlay + default boolean isBrowserHeaders() { + return (Object) this instanceof BrowserHeaders; + } + + @JsOverlay + default boolean isCancelAutoCompleteMetadata_or_callbackFn() { + return (Object) this instanceof ConsoleServiceClient.CancelAutoCompleteMetadata_or_callbackFn; + } + } + @JsFunction public interface CancelCommandCallbackFn { @JsType(isNative = true, name = "?", namespace = JsPackage.GLOBAL) @@ -744,6 +839,58 @@ public final UnaryResponse bindTableToVariable( metadata_or_callback)); } + @JsOverlay + public final UnaryResponse cancelAutoComplete( + CancelAutoCompleteRequest requestMessage, + BrowserHeaders metadata_or_callback, + ConsoleServiceClient.CancelAutoCompleteCallbackFn callback) { + return cancelAutoComplete( + requestMessage, + Js.uncheckedCast( + metadata_or_callback), + callback); + } + + @JsOverlay + public final UnaryResponse cancelAutoComplete( + CancelAutoCompleteRequest requestMessage, BrowserHeaders metadata_or_callback) { + return cancelAutoComplete( + requestMessage, + Js.uncheckedCast( + metadata_or_callback)); + } + + @JsOverlay + public final UnaryResponse cancelAutoComplete( + CancelAutoCompleteRequest requestMessage, + ConsoleServiceClient.CancelAutoCompleteMetadata_or_callbackFn metadata_or_callback, + ConsoleServiceClient.CancelAutoCompleteCallbackFn callback) { + return cancelAutoComplete( + requestMessage, + Js.uncheckedCast( + metadata_or_callback), + callback); + } + + @JsOverlay + public final UnaryResponse cancelAutoComplete( + CancelAutoCompleteRequest requestMessage, + ConsoleServiceClient.CancelAutoCompleteMetadata_or_callbackFn metadata_or_callback) { + return cancelAutoComplete( + requestMessage, + Js.uncheckedCast( + metadata_or_callback)); + } + + public native UnaryResponse cancelAutoComplete( + CancelAutoCompleteRequest requestMessage, + ConsoleServiceClient.CancelAutoCompleteMetadata_or_callbackUnionType metadata_or_callback, + ConsoleServiceClient.CancelAutoCompleteCallbackFn callback); + + public native UnaryResponse cancelAutoComplete( + CancelAutoCompleteRequest requestMessage, + ConsoleServiceClient.CancelAutoCompleteMetadata_or_callbackUnionType metadata_or_callback); + @JsOverlay public final UnaryResponse cancelCommand( CancelCommandRequest requestMessage, diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/SeekRowRequest.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/SeekRowRequest.java index cf1cc9fb6a4..406b185902b 100644 --- a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/SeekRowRequest.java +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/SeekRowRequest.java @@ -1,3 +1,6 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb; import elemental2.core.Uint8Array; diff --git a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/SeekRowResponse.java b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/SeekRowResponse.java index 8f5a5aaba8c..ee68f42ff1f 100644 --- a/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/SeekRowResponse.java +++ b/web/client-backplane/src/main/java/io/deephaven/javascript/proto/dhinternal/io/deephaven/proto/table_pb/SeekRowResponse.java @@ -1,3 +1,6 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ package io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb; import elemental2.core.Uint8Array; From a0077ae10778d5180c878256eca6b0ab7094e541 Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Mon, 3 Apr 2023 07:37:17 -0700 Subject: [PATCH 19/29] Post release bump to 0.24.0 (#3646) --- authorization-codegen/protoc-gen-contextual-auth-wiring | 2 +- authorization-codegen/protoc-gen-service-auth-wiring | 2 +- buildSrc/src/main/groovy/io.deephaven.common-conventions.gradle | 2 +- py/client/README.md | 2 +- py/client/pydeephaven/__init__.py | 2 +- py/client/setup.py | 2 +- py/embedded-server/deephaven_server/__init__.py | 2 +- py/server/deephaven/__init__.py | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/authorization-codegen/protoc-gen-contextual-auth-wiring b/authorization-codegen/protoc-gen-contextual-auth-wiring index aca88f325ab..fd4d3660f65 100755 --- a/authorization-codegen/protoc-gen-contextual-auth-wiring +++ b/authorization-codegen/protoc-gen-contextual-auth-wiring @@ -1,2 +1,2 @@ # protoc-gen-contextual-auth-wiring -java -cp authorization-codegen/build/libs/deephaven-authorization-codegen-0.23.0-all.jar io.deephaven.auth.codegen.GenerateContextualAuthWiring +java -cp authorization-codegen/build/libs/deephaven-authorization-codegen-0.24.0-all.jar io.deephaven.auth.codegen.GenerateContextualAuthWiring diff --git a/authorization-codegen/protoc-gen-service-auth-wiring b/authorization-codegen/protoc-gen-service-auth-wiring index 1f2434a3b8b..d92e9c11630 100755 --- a/authorization-codegen/protoc-gen-service-auth-wiring +++ b/authorization-codegen/protoc-gen-service-auth-wiring @@ -1,2 +1,2 @@ # protoc-gen-service-auth-wiring -java -cp authorization-codegen/build/libs/deephaven-authorization-codegen-0.23.0-all.jar io.deephaven.auth.codegen.GenerateServiceAuthWiring +java -cp authorization-codegen/build/libs/deephaven-authorization-codegen-0.24.0-all.jar io.deephaven.auth.codegen.GenerateServiceAuthWiring diff --git a/buildSrc/src/main/groovy/io.deephaven.common-conventions.gradle b/buildSrc/src/main/groovy/io.deephaven.common-conventions.gradle index 43e55e6c46a..e0b84db1434 100644 --- a/buildSrc/src/main/groovy/io.deephaven.common-conventions.gradle +++ b/buildSrc/src/main/groovy/io.deephaven.common-conventions.gradle @@ -5,7 +5,7 @@ plugins { } group = 'io.deephaven' -version = '0.23.0' +version = '0.24.0' if (!name.startsWith('deephaven-')) { archivesBaseName = "deephaven-${name}" diff --git a/py/client/README.md b/py/client/README.md index 3ac7c02f628..f5bfa075bbf 100644 --- a/py/client/README.md +++ b/py/client/README.md @@ -35,7 +35,7 @@ $ python3 -m examples.demo_asof_join ``` ## Install ``` shell -$ pip3 install dist/pydeephaven-0.23.0-py3-none-any.whl +$ pip3 install dist/pydeephaven-0.24.0-py3-none-any.whl ``` ## Quick start diff --git a/py/client/pydeephaven/__init__.py b/py/client/pydeephaven/__init__.py index 0b0fc7223d9..605fe1dd5fa 100644 --- a/py/client/pydeephaven/__init__.py +++ b/py/client/pydeephaven/__init__.py @@ -29,4 +29,4 @@ from .constants import SortDirection, MatchRule from .query import Query -__version__ = "0.23.0" +__version__ = "0.24.0" diff --git a/py/client/setup.py b/py/client/setup.py index 559a9b119f0..b1f85c74c2c 100644 --- a/py/client/setup.py +++ b/py/client/setup.py @@ -12,7 +12,7 @@ setup( name='pydeephaven', - version='0.23.0', + version='0.24.0', description='The Deephaven Python Client', long_description=README, long_description_content_type="text/markdown", diff --git a/py/embedded-server/deephaven_server/__init__.py b/py/embedded-server/deephaven_server/__init__.py index 25ad9f3150a..277bbf25b14 100644 --- a/py/embedded-server/deephaven_server/__init__.py +++ b/py/embedded-server/deephaven_server/__init__.py @@ -1,7 +1,7 @@ # # Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending # -__version__ = "0.23.0" +__version__ = "0.24.0" from .start_jvm import DEFAULT_JVM_PROPERTIES, DEFAULT_JVM_ARGS, start_jvm from .server import Server diff --git a/py/server/deephaven/__init__.py b/py/server/deephaven/__init__.py index 809075e1dfd..f4c11eea62b 100644 --- a/py/server/deephaven/__init__.py +++ b/py/server/deephaven/__init__.py @@ -7,7 +7,7 @@ """ -__version__ = "0.23.0" +__version__ = "0.24.0" from deephaven_internal import jvm try: From 1f61a6228a8daf99440e406d778223bdb4a276d5 Mon Sep 17 00:00:00 2001 From: Chip Kent <5250374+chipkent@users.noreply.github.com> Date: Mon, 3 Apr 2023 14:55:47 -0600 Subject: [PATCH 20/29] Make Go example tests robust to metadata order (#3652) * Made metadata print in a consistent order so that tests are deterministic. Enabled an example that was not properly enabled. * minor rename. --- go/internal/test_tools/test_tools.go | 35 ++++++++++++++++++++++ go/pkg/client/example_import_table_test.go | 12 ++++---- go/pkg/client/example_input_table_test.go | 8 ++--- go/pkg/client/example_table_ops_test.go | 21 ++++++------- 4 files changed, 56 insertions(+), 20 deletions(-) diff --git a/go/internal/test_tools/test_tools.go b/go/internal/test_tools/test_tools.go index 5749bae6103..e786403eb19 100644 --- a/go/internal/test_tools/test_tools.go +++ b/go/internal/test_tools/test_tools.go @@ -5,6 +5,7 @@ import ( "fmt" "math/rand" "os" + "sort" "testing" "github.com/apache/arrow/go/v8/arrow" @@ -110,3 +111,37 @@ func GetAuthToken() string { return auth } } + +type sortableMetadata arrow.Metadata + +func (m sortableMetadata) Len() int { md := arrow.Metadata(m); return md.Len() } +func (m sortableMetadata) Less(i, j int) bool { + md := arrow.Metadata(m) + return md.Keys()[i] < md.Keys()[j] +} +func (m sortableMetadata) Swap(i, j int) { + md := arrow.Metadata(m) + k := md.Keys() + v := md.Values() + k[i], k[j] = k[j], k[i] + v[i], v[j] = v[j], v[i] +} + +// RecordString returns a string representation of a record in a deterministic way that is safe to use for diffs. +func RecordString(r arrow.Record) string { + + if s := r.Schema(); s != nil { + sort.Sort(sortableMetadata(s.Metadata())) + + for _, f := range s.Fields() { + sort.Sort(sortableMetadata(f.Metadata)) + } + } + + return fmt.Sprintf("%v", r) +} + +// RecordPrint prints a record in a deterministic way that is safe to use for diffs. +func RecordPrint(r arrow.Record) { + fmt.Println(RecordString(r)) +} diff --git a/go/pkg/client/example_import_table_test.go b/go/pkg/client/example_import_table_test.go index 1b8b0cc0c9d..31e92fc495e 100644 --- a/go/pkg/client/example_import_table_test.go +++ b/go/pkg/client/example_import_table_test.go @@ -31,7 +31,7 @@ func Example_importTable() { defer sampleRecord.Release() fmt.Println("Data Before:") - fmt.Println(sampleRecord) + test_tools.RecordPrint(sampleRecord) // Now we upload the record so that we can manipulate its data using the server. // We get back a TableHandle, which is a reference to a table on the server. @@ -68,7 +68,7 @@ func Example_importTable() { defer filteredRecord.Release() fmt.Println("Data After:") - fmt.Println(filteredRecord) + test_tools.RecordPrint(filteredRecord) // Output: // Data Before: @@ -88,12 +88,12 @@ func Example_importTable() { // schema: // fields: 3 // - Ticker: type=utf8, nullable - // metadata: ["deephaven:isRowStyle": "false", "deephaven:isNumberFormat": "false", "deephaven:isStyle": "false", "deephaven:type": "java.lang.String", "deephaven:isDateFormat": "false"] + // metadata: ["deephaven:isDateFormat": "false", "deephaven:isNumberFormat": "false", "deephaven:isRowStyle": "false", "deephaven:isStyle": "false", "deephaven:type": "java.lang.String"] // - Close: type=float32, nullable - // metadata: ["deephaven:isRowStyle": "false", "deephaven:isNumberFormat": "false", "deephaven:isStyle": "false", "deephaven:type": "float", "deephaven:isDateFormat": "false"] + // metadata: ["deephaven:isDateFormat": "false", "deephaven:isNumberFormat": "false", "deephaven:isRowStyle": "false", "deephaven:isStyle": "false", "deephaven:type": "float"] // - Volume: type=int32, nullable - // metadata: ["deephaven:isRowStyle": "false", "deephaven:isNumberFormat": "false", "deephaven:isStyle": "false", "deephaven:type": "int", "deephaven:isDateFormat": "false"] - // metadata: ["deephaven:attribute.SortedColumns": "Close=Ascending", "deephaven:attribute_type.SortedColumns": "java.lang.String", "deephaven:attribute_type.AddOnly": "java.lang.Boolean", "deephaven:attribute.AddOnly": "true", "deephaven:attribute_type.AppendOnly": "java.lang.Boolean", "deephaven:attribute.AppendOnly": "true"] + // metadata: ["deephaven:isDateFormat": "false", "deephaven:isNumberFormat": "false", "deephaven:isRowStyle": "false", "deephaven:isStyle": "false", "deephaven:type": "int"] + // metadata: ["deephaven:attribute.AddOnly": "true", "deephaven:attribute.AppendOnly": "true", "deephaven:attribute.SortedColumns": "Close=Ascending", "deephaven:attribute_type.AddOnly": "java.lang.Boolean", "deephaven:attribute_type.AppendOnly": "java.lang.Boolean", "deephaven:attribute_type.SortedColumns": "java.lang.String"] // rows: 5 // col[0][Ticker]: ["IBM" "XRX" "XYZZY" "GME" "ZNGA"] // col[1][Close]: [38.7 53.8 88.5 453 544.9] diff --git a/go/pkg/client/example_input_table_test.go b/go/pkg/client/example_input_table_test.go index 5887bcf2c4b..de2efebdf85 100644 --- a/go/pkg/client/example_input_table_test.go +++ b/go/pkg/client/example_input_table_test.go @@ -113,7 +113,7 @@ func Example_inputTable() { } fmt.Println("Got the output table!") - fmt.Println(outputRec) + test_tools.RecordPrint(outputRec) outputRec.Release() break } @@ -124,11 +124,11 @@ func Example_inputTable() { // schema: // fields: 3 // - Ticker: type=utf8, nullable - // metadata: ["deephaven:isRowStyle": "false", "deephaven:type": "java.lang.String", "deephaven:isNumberFormat": "false", "deephaven:isStyle": "false", "deephaven:inputtable.isKey": "true", "deephaven:isDateFormat": "false"] + // metadata: ["deephaven:inputtable.isKey": "true", "deephaven:isDateFormat": "false", "deephaven:isNumberFormat": "false", "deephaven:isRowStyle": "false", "deephaven:isStyle": "false", "deephaven:type": "java.lang.String"] // - Close: type=float32, nullable - // metadata: ["deephaven:isRowStyle": "false", "deephaven:type": "float", "deephaven:isNumberFormat": "false", "deephaven:isStyle": "false", "deephaven:inputtable.isKey": "false", "deephaven:isDateFormat": "false"] + // metadata: ["deephaven:inputtable.isKey": "false", "deephaven:isDateFormat": "false", "deephaven:isNumberFormat": "false", "deephaven:isRowStyle": "false", "deephaven:isStyle": "false", "deephaven:type": "float"] // - Volume: type=int32, nullable - // metadata: ["deephaven:isRowStyle": "false", "deephaven:type": "int", "deephaven:isNumberFormat": "false", "deephaven:isStyle": "false", "deephaven:inputtable.isKey": "false", "deephaven:isDateFormat": "false"] + // metadata: ["deephaven:inputtable.isKey": "false", "deephaven:isDateFormat": "false", "deephaven:isNumberFormat": "false", "deephaven:isRowStyle": "false", "deephaven:isStyle": "false", "deephaven:type": "int"] // metadata: ["deephaven:unsent.attribute.InputTable": ""] // rows: 4 // col[0][Ticker]: ["XRX" "XYZZY" "GME" "ZNGA"] diff --git a/go/pkg/client/example_table_ops_test.go b/go/pkg/client/example_table_ops_test.go index 54b7db2796f..464bf3cebc1 100644 --- a/go/pkg/client/example_table_ops_test.go +++ b/go/pkg/client/example_table_ops_test.go @@ -34,6 +34,7 @@ func Example_tableOps() { fmt.Println(queryResult) + // Output: // Data Before: // record: // schema: @@ -51,12 +52,12 @@ func Example_tableOps() { // schema: // fields: 3 // - Ticker: type=utf8, nullable - // metadata: ["deephaven:isRowStyle": "false", "deephaven:isNumberFormat": "false", "deephaven:isStyle": "false", "deephaven:type": "java.lang.String", "deephaven:isDateFormat": "false"] + // metadata: ["deephaven:isDateFormat": "false", "deephaven:isNumberFormat": "false", "deephaven:isRowStyle": "false", "deephaven:isStyle": "false", "deephaven:type": "java.lang.String"] // - Close: type=float32, nullable - // metadata: ["deephaven:isRowStyle": "false", "deephaven:isNumberFormat": "false", "deephaven:isStyle": "false", "deephaven:type": "float", "deephaven:isDateFormat": "false"] + // metadata: ["deephaven:isDateFormat": "false", "deephaven:isNumberFormat": "false", "deephaven:isRowStyle": "false", "deephaven:isStyle": "false", "deephaven:type": "float"] // - Volume: type=int32, nullable - // metadata: ["deephaven:isRowStyle": "false", "deephaven:isNumberFormat": "false", "deephaven:isStyle": "false", "deephaven:type": "int", "deephaven:isDateFormat": "false"] - // metadata: ["deephaven:attribute_type.AppendOnly": "java.lang.Boolean", "deephaven:attribute.AppendOnly": "true", "deephaven:attribute_type.AddOnly": "java.lang.Boolean", "deephaven:attribute.AddOnly": "true"] + // metadata: ["deephaven:isDateFormat": "false", "deephaven:isNumberFormat": "false", "deephaven:isRowStyle": "false", "deephaven:isStyle": "false", "deephaven:type": "int"] + // metadata: ["deephaven:attribute.AddOnly": "true", "deephaven:attribute.AppendOnly": "true", "deephaven:attribute_type.AddOnly": "java.lang.Boolean", "deephaven:attribute_type.AppendOnly": "java.lang.Boolean"] // rows: 5 // col[0][Ticker]: ["XRX" "IBM" "GME" "AAPL" "ZNGA"] // col[1][Close]: [53.8 38.7 453 26.7 544.9] @@ -66,13 +67,13 @@ func Example_tableOps() { // schema: // fields: 4 // - Ticker: type=utf8, nullable - // metadata: ["deephaven:isRowStyle": "false", "deephaven:isNumberFormat": "false", "deephaven:isStyle": "false", "deephaven:type": "java.lang.String", "deephaven:isDateFormat": "false"] + // metadata: ["deephaven:isDateFormat": "false", "deephaven:isNumberFormat": "false", "deephaven:isRowStyle": "false", "deephaven:isStyle": "false", "deephaven:type": "java.lang.String"] // - Close: type=float32, nullable - // metadata: ["deephaven:isRowStyle": "false", "deephaven:isNumberFormat": "false", "deephaven:isStyle": "false", "deephaven:type": "float", "deephaven:isDateFormat": "false"] + // metadata: ["deephaven:isDateFormat": "false", "deephaven:isNumberFormat": "false", "deephaven:isRowStyle": "false", "deephaven:isStyle": "false", "deephaven:type": "float"] // - Volume: type=int32, nullable - // metadata: ["deephaven:isRowStyle": "false", "deephaven:isNumberFormat": "false", "deephaven:isStyle": "false", "deephaven:type": "int", "deephaven:isDateFormat": "false"] + // metadata: ["deephaven:isDateFormat": "false", "deephaven:isNumberFormat": "false", "deephaven:isRowStyle": "false", "deephaven:isStyle": "false", "deephaven:type": "int"] // - Magnitude: type=int32, nullable - // metadata: ["deephaven:isRowStyle": "false", "deephaven:isNumberFormat": "false", "deephaven:isStyle": "false", "deephaven:type": "int", "deephaven:isDateFormat": "false"] + // metadata: ["deephaven:isDateFormat": "false", "deephaven:isNumberFormat": "false", "deephaven:isRowStyle": "false", "deephaven:isStyle": "false", "deephaven:type": "int"] // rows: 5 // col[0][Ticker]: ["XRX" "IBM" "GME" "AAPL" "ZNGA"] // col[1][Close]: [53.8 38.7 453 26.7 544.9] @@ -159,7 +160,7 @@ func doImmediateOps() (string, error) { } defer magRecord.Release() - return fmt.Sprintf("Data Before:\n%s\nNew data:\n%s\n%s", sampleRecord, midRecord, magRecord), nil + return fmt.Sprintf("Data Before:\n%s\nNew data:\n%s\n%s", test_tools.RecordString(sampleRecord), test_tools.RecordString(midRecord), test_tools.RecordString(magRecord)), nil } // This function demonstrates how to use query-graph table operations. @@ -239,5 +240,5 @@ func doQueryOps() (string, error) { } defer magRecord.Release() - return fmt.Sprintf("Data Before:\n%s\nNew data:\n%s\n%s", sampleRecord, midRecord, magRecord), nil + return fmt.Sprintf("Data Before:\n%s\nNew data:\n%s\n%s", test_tools.RecordString(sampleRecord), test_tools.RecordString(midRecord), test_tools.RecordString(magRecord)), nil } From 855dc38f71f859890df9028cfa20f544ead32fa3 Mon Sep 17 00:00:00 2001 From: Jianfeng Mao <4297243+jmao-denver@users.noreply.github.com> Date: Tue, 4 Apr 2023 10:52:24 -0600 Subject: [PATCH 21/29] Add getMeta gRPC call and meta_table in py client (#3649) * Add getMeta gRPC call and meta_table in py client * Cache the meta table * Fix incorrect authorizatoin autowiring --- .../TableServiceContextualAuthWiring.java | 27 + .../proto/deephaven/proto/table.grpc.pb.cc | 42 + .../proto/deephaven/proto/table.grpc.pb.h | 171 +- .../client/proto/deephaven/proto/table.pb.cc | 856 +++++-- .../client/proto/deephaven/proto/table.pb.h | 471 +++- go/internal/proto/table/table.pb.go | 2109 +++++++++-------- go/internal/proto/table/table_grpc.pb.go | 38 + .../deephaven/proto/util/OperationHelper.java | 2 + .../main/proto/deephaven/proto/table.proto | 12 + py/client/pydeephaven/_table_ops.py | 13 + py/client/pydeephaven/proto/table_pb2.py | 60 +- py/client/pydeephaven/proto/table_pb2_grpc.py | 35 + py/client/pydeephaven/table.py | 10 + py/client/tests/test_table.py | 5 + .../deephaven/server/table/TableModule.java | 7 + .../server/table/ops/MetaTableGrpcImpl.java | 31 + .../table/ops/TableServiceGrpcImpl.java | 8 + 17 files changed, 2596 insertions(+), 1301 deletions(-) create mode 100644 server/src/main/java/io/deephaven/server/table/ops/MetaTableGrpcImpl.java diff --git a/authorization/src/main/java/io/deephaven/auth/codegen/impl/TableServiceContextualAuthWiring.java b/authorization/src/main/java/io/deephaven/auth/codegen/impl/TableServiceContextualAuthWiring.java index e948f3f1946..4dce4f531a3 100644 --- a/authorization/src/main/java/io/deephaven/auth/codegen/impl/TableServiceContextualAuthWiring.java +++ b/authorization/src/main/java/io/deephaven/auth/codegen/impl/TableServiceContextualAuthWiring.java @@ -28,6 +28,7 @@ import io.deephaven.proto.backplane.grpc.HeadOrTailRequest; import io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest; import io.deephaven.proto.backplane.grpc.MergeTablesRequest; +import io.deephaven.proto.backplane.grpc.MetaTableRequest; import io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest; import io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest; import io.deephaven.proto.backplane.grpc.SeekRowRequest; @@ -466,6 +467,17 @@ void checkPermissionExportedTableUpdates(AuthContext authContext, void checkPermissionSeekRow(AuthContext authContext, SeekRowRequest request, List sourceTables); + /** + * Authorize a request to MetaTable. + * + * @param authContext the authentication context of the request + * @param request the request to authorize + * @param sourceTables the operation's source tables + * @throws io.grpc.StatusRuntimeException if the user is not authorized to invoke MetaTable + */ + void checkPermissionMetaTable(AuthContext authContext, MetaTableRequest request, + List
sourceTables); + class AllowAll implements TableServiceContextualAuthWiring { public void checkPermissionGetExportedTableCreationResponse(AuthContext authContext, Ticket request, List
sourceTables) {} @@ -580,6 +592,9 @@ public void checkPermissionExportedTableUpdates(AuthContext authContext, public void checkPermissionSeekRow(AuthContext authContext, SeekRowRequest request, List
sourceTables) {} + + public void checkPermissionMetaTable(AuthContext authContext, MetaTableRequest request, + List
sourceTables) {} } class DenyAll implements TableServiceContextualAuthWiring { @@ -772,6 +787,11 @@ public void checkPermissionSeekRow(AuthContext authContext, SeekRowRequest reque List
sourceTables) { ServiceAuthWiring.operationNotAllowed(); } + + public void checkPermissionMetaTable(AuthContext authContext, MetaTableRequest request, + List
sourceTables) { + ServiceAuthWiring.operationNotAllowed(); + } } class TestUseOnly implements TableServiceContextualAuthWiring { @@ -1042,5 +1062,12 @@ public void checkPermissionSeekRow(AuthContext authContext, SeekRowRequest reque delegate.checkPermissionSeekRow(authContext, request, sourceTables); } } + + public void checkPermissionMetaTable(AuthContext authContext, MetaTableRequest request, + List
sourceTables) { + if (delegate != null) { + delegate.checkPermissionMetaTable(authContext, request, sourceTables); + } + } } } diff --git a/cpp-client/deephaven/client/proto/deephaven/proto/table.grpc.pb.cc b/cpp-client/deephaven/client/proto/deephaven/proto/table.grpc.pb.cc index 6b984c80f2f..43a3215b4b7 100644 --- a/cpp-client/deephaven/client/proto/deephaven/proto/table.grpc.pb.cc +++ b/cpp-client/deephaven/client/proto/deephaven/proto/table.grpc.pb.cc @@ -65,6 +65,7 @@ static const char* TableService_method_names[] = { "/io.deephaven.proto.backplane.grpc.TableService/Batch", "/io.deephaven.proto.backplane.grpc.TableService/ExportedTableUpdates", "/io.deephaven.proto.backplane.grpc.TableService/SeekRow", + "/io.deephaven.proto.backplane.grpc.TableService/MetaTable", }; std::unique_ptr< TableService::Stub> TableService::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) { @@ -113,6 +114,7 @@ TableService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& chann , rpcmethod_Batch_(TableService_method_names[36], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel) , rpcmethod_ExportedTableUpdates_(TableService_method_names[37], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel) , rpcmethod_SeekRow_(TableService_method_names[38], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_MetaTable_(TableService_method_names[39], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) {} ::grpc::Status TableService::Stub::GetExportedTableCreationResponse(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::Ticket& request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { @@ -998,6 +1000,29 @@ ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::Seek return result; } +::grpc::Status TableService::Stub::MetaTable(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::io::deephaven::proto::backplane::grpc::MetaTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_MetaTable_, context, request, response); +} + +void TableService::Stub::async::MetaTable(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::io::deephaven::proto::backplane::grpc::MetaTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_MetaTable_, context, request, response, std::move(f)); +} + +void TableService::Stub::async::MetaTable(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_MetaTable_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* TableService::Stub::PrepareAsyncMetaTableRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::io::deephaven::proto::backplane::grpc::MetaTableRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_MetaTable_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* TableService::Stub::AsyncMetaTableRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncMetaTableRaw(context, request, cq); + result->StartCall(); + return result; +} + TableService::Service::Service() { AddMethod(new ::grpc::internal::RpcServiceMethod( TableService_method_names[0], @@ -1389,6 +1414,16 @@ TableService::Service::Service() { ::io::deephaven::proto::backplane::grpc::SeekRowResponse* resp) { return service->SeekRow(ctx, req, resp); }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + TableService_method_names[39], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< TableService::Service, ::io::deephaven::proto::backplane::grpc::MetaTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](TableService::Service* service, + ::grpc::ServerContext* ctx, + const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* req, + ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* resp) { + return service->MetaTable(ctx, req, resp); + }, this))); } TableService::Service::~Service() { @@ -1667,6 +1702,13 @@ ::grpc::Status TableService::Service::SeekRow(::grpc::ServerContext* context, co return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } +::grpc::Status TableService::Service::MetaTable(::grpc::ServerContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + } // namespace io } // namespace deephaven diff --git a/cpp-client/deephaven/client/proto/deephaven/proto/table.grpc.pb.h b/cpp-client/deephaven/client/proto/deephaven/proto/table.grpc.pb.h index 49f358a72d8..7c4c365f941 100644 --- a/cpp-client/deephaven/client/proto/deephaven/proto/table.grpc.pb.h +++ b/cpp-client/deephaven/client/proto/deephaven/proto/table.grpc.pb.h @@ -418,6 +418,15 @@ class TableService final { std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::SeekRowResponse>> PrepareAsyncSeekRow(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::SeekRowRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::SeekRowResponse>>(PrepareAsyncSeekRowRaw(context, request, cq)); } + // + // Returns the meta table of a table. + virtual ::grpc::Status MetaTable(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>> AsyncMetaTable(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>>(AsyncMetaTableRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>> PrepareAsyncMetaTable(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>>(PrepareAsyncMetaTableRaw(context, request, cq)); + } class async_interface { public: virtual ~async_interface() {} @@ -596,6 +605,10 @@ class TableService final { // Seek a row number within a table. virtual void SeekRow(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::SeekRowRequest* request, ::io::deephaven::proto::backplane::grpc::SeekRowResponse* response, std::function) = 0; virtual void SeekRow(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::SeekRowRequest* request, ::io::deephaven::proto::backplane::grpc::SeekRowResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + // + // Returns the meta table of a table. + virtual void MetaTable(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, std::function) = 0; + virtual void MetaTable(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; }; typedef class async_interface experimental_async_interface; virtual class async_interface* async() { return nullptr; } @@ -681,6 +694,8 @@ class TableService final { virtual ::grpc::ClientAsyncReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableUpdateMessage>* PrepareAsyncExportedTableUpdatesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::ExportedTableUpdatesRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::SeekRowResponse>* AsyncSeekRowRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::SeekRowRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::SeekRowResponse>* PrepareAsyncSeekRowRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::SeekRowRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* AsyncMetaTableRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* PrepareAsyncMetaTableRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& request, ::grpc::CompletionQueue* cq) = 0; }; class Stub final : public StubInterface { public: @@ -962,6 +977,13 @@ class TableService final { std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::SeekRowResponse>> PrepareAsyncSeekRow(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::SeekRowRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::SeekRowResponse>>(PrepareAsyncSeekRowRaw(context, request, cq)); } + ::grpc::Status MetaTable(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>> AsyncMetaTable(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>>(AsyncMetaTableRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>> PrepareAsyncMetaTable(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>>(PrepareAsyncMetaTableRaw(context, request, cq)); + } class async final : public StubInterface::async_interface { public: @@ -1041,6 +1063,8 @@ class TableService final { void ExportedTableUpdates(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::ExportedTableUpdatesRequest* request, ::grpc::ClientReadReactor< ::io::deephaven::proto::backplane::grpc::ExportedTableUpdateMessage>* reactor) override; void SeekRow(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::SeekRowRequest* request, ::io::deephaven::proto::backplane::grpc::SeekRowResponse* response, std::function) override; void SeekRow(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::SeekRowRequest* request, ::io::deephaven::proto::backplane::grpc::SeekRowResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + void MetaTable(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, std::function) override; + void MetaTable(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response, ::grpc::ClientUnaryReactor* reactor) override; private: friend class Stub; explicit async(Stub* stub): stub_(stub) { } @@ -1132,6 +1156,8 @@ class TableService final { ::grpc::ClientAsyncReader< ::io::deephaven::proto::backplane::grpc::ExportedTableUpdateMessage>* PrepareAsyncExportedTableUpdatesRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::ExportedTableUpdatesRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::SeekRowResponse>* AsyncSeekRowRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::SeekRowRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::SeekRowResponse>* PrepareAsyncSeekRowRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::SeekRowRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* AsyncMetaTableRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* PrepareAsyncMetaTableRaw(::grpc::ClientContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& request, ::grpc::CompletionQueue* cq) override; const ::grpc::internal::RpcMethod rpcmethod_GetExportedTableCreationResponse_; const ::grpc::internal::RpcMethod rpcmethod_FetchTable_; const ::grpc::internal::RpcMethod rpcmethod_ApplyPreviewColumns_; @@ -1171,6 +1197,7 @@ class TableService final { const ::grpc::internal::RpcMethod rpcmethod_Batch_; const ::grpc::internal::RpcMethod rpcmethod_ExportedTableUpdates_; const ::grpc::internal::RpcMethod rpcmethod_SeekRow_; + const ::grpc::internal::RpcMethod rpcmethod_MetaTable_; }; static std::unique_ptr NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); @@ -1316,6 +1343,9 @@ class TableService final { // // Seek a row number within a table. virtual ::grpc::Status SeekRow(::grpc::ServerContext* context, const ::io::deephaven::proto::backplane::grpc::SeekRowRequest* request, ::io::deephaven::proto::backplane::grpc::SeekRowResponse* response); + // + // Returns the meta table of a table. + virtual ::grpc::Status MetaTable(::grpc::ServerContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response); }; template class WithAsyncMethod_GetExportedTableCreationResponse : public BaseClass { @@ -2097,7 +2127,27 @@ class TableService final { ::grpc::Service::RequestAsyncUnary(38, context, request, response, new_call_cq, notification_cq, tag); } }; - typedef WithAsyncMethod_GetExportedTableCreationResponse > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > AsyncService; + template + class WithAsyncMethod_MetaTable : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_MetaTable() { + ::grpc::Service::MarkMethodAsync(39); + } + ~WithAsyncMethod_MetaTable() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status MetaTable(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestMetaTable(::grpc::ServerContext* context, ::io::deephaven::proto::backplane::grpc::MetaTableRequest* request, ::grpc::ServerAsyncResponseWriter< ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(39, context, request, response, new_call_cq, notification_cq, tag); + } + }; + typedef WithAsyncMethod_GetExportedTableCreationResponse > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > AsyncService; template class WithCallbackMethod_GetExportedTableCreationResponse : public BaseClass { private: @@ -3141,7 +3191,34 @@ class TableService final { virtual ::grpc::ServerUnaryReactor* SeekRow( ::grpc::CallbackServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::SeekRowRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::SeekRowResponse* /*response*/) { return nullptr; } }; - typedef WithCallbackMethod_GetExportedTableCreationResponse > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > CallbackService; + template + class WithCallbackMethod_MetaTable : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_MetaTable() { + ::grpc::Service::MarkMethodCallback(39, + new ::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::MetaTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* request, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* response) { return this->MetaTable(context, request, response); }));} + void SetMessageAllocatorFor_MetaTable( + ::grpc::MessageAllocator< ::io::deephaven::proto::backplane::grpc::MetaTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(39); + static_cast<::grpc::internal::CallbackUnaryHandler< ::io::deephaven::proto::backplane::grpc::MetaTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_MetaTable() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status MetaTable(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* MetaTable( + ::grpc::CallbackServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) { return nullptr; } + }; + typedef WithCallbackMethod_GetExportedTableCreationResponse > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > CallbackService; typedef CallbackService ExperimentalCallbackService; template class WithGenericMethod_GetExportedTableCreationResponse : public BaseClass { @@ -3807,6 +3884,23 @@ class TableService final { } }; template + class WithGenericMethod_MetaTable : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_MetaTable() { + ::grpc::Service::MarkMethodGeneric(39); + } + ~WithGenericMethod_MetaTable() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status MetaTable(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template class WithRawMethod_GetExportedTableCreationResponse : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} @@ -4587,6 +4681,26 @@ class TableService final { } }; template + class WithRawMethod_MetaTable : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_MetaTable() { + ::grpc::Service::MarkMethodRaw(39); + } + ~WithRawMethod_MetaTable() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status MetaTable(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestMetaTable(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(39, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template class WithRawCallbackMethod_GetExportedTableCreationResponse : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} @@ -5445,6 +5559,28 @@ class TableService final { ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } }; template + class WithRawCallbackMethod_MetaTable : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_MetaTable() { + ::grpc::Service::MarkMethodRawCallback(39, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->MetaTable(context, request, response); })); + } + ~WithRawCallbackMethod_MetaTable() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status MetaTable(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* MetaTable( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template class WithStreamedUnaryMethod_GetExportedTableCreationResponse : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} @@ -6443,7 +6579,34 @@ class TableService final { // replace default version of method with streamed unary virtual ::grpc::Status StreamedSeekRow(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::io::deephaven::proto::backplane::grpc::SeekRowRequest,::io::deephaven::proto::backplane::grpc::SeekRowResponse>* server_unary_streamer) = 0; }; - typedef WithStreamedUnaryMethod_GetExportedTableCreationResponse > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedUnaryService; + template + class WithStreamedUnaryMethod_MetaTable : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_MetaTable() { + ::grpc::Service::MarkMethodStreamed(39, + new ::grpc::internal::StreamedUnaryHandler< + ::io::deephaven::proto::backplane::grpc::MetaTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::io::deephaven::proto::backplane::grpc::MetaTableRequest, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* streamer) { + return this->StreamedMetaTable(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_MetaTable() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status MetaTable(::grpc::ServerContext* /*context*/, const ::io::deephaven::proto::backplane::grpc::MetaTableRequest* /*request*/, ::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedMetaTable(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::io::deephaven::proto::backplane::grpc::MetaTableRequest,::io::deephaven::proto::backplane::grpc::ExportedTableCreationResponse>* server_unary_streamer) = 0; + }; + typedef WithStreamedUnaryMethod_GetExportedTableCreationResponse > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedUnaryService; template class WithSplitStreamingMethod_Batch : public BaseClass { private: @@ -6499,7 +6662,7 @@ class TableService final { virtual ::grpc::Status StreamedExportedTableUpdates(::grpc::ServerContext* context, ::grpc::ServerSplitStreamer< ::io::deephaven::proto::backplane::grpc::ExportedTableUpdatesRequest,::io::deephaven::proto::backplane::grpc::ExportedTableUpdateMessage>* server_split_streamer) = 0; }; typedef WithSplitStreamingMethod_Batch > SplitStreamedService; - typedef WithStreamedUnaryMethod_GetExportedTableCreationResponse > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedService; + typedef WithStreamedUnaryMethod_GetExportedTableCreationResponse > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedService; }; } // namespace grpc diff --git a/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.cc b/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.cc index b4bd616be24..7c939194d81 100644 --- a/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.cc +++ b/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.cc @@ -1257,6 +1257,19 @@ struct FlattenRequestDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FlattenRequestDefaultTypeInternal _FlattenRequest_default_instance_; +PROTOBUF_CONSTEXPR MetaTableRequest::MetaTableRequest( + ::_pbi::ConstantInitialized) + : result_id_(nullptr) + , source_id_(nullptr){} +struct MetaTableRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR MetaTableRequestDefaultTypeInternal() + : _instance(::_pbi::ConstantInitialized{}) {} + ~MetaTableRequestDefaultTypeInternal() {} + union { + MetaTableRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MetaTableRequestDefaultTypeInternal _MetaTableRequest_default_instance_; PROTOBUF_CONSTEXPR RunChartDownsampleRequest_ZoomRange::RunChartDownsampleRequest_ZoomRange( ::_pbi::ConstantInitialized) : min_date_nanos_(int64_t{0}) @@ -1381,7 +1394,7 @@ PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORIT } // namespace proto } // namespace deephaven } // namespace io -static ::_pb::Metadata file_level_metadata_deephaven_2fproto_2ftable_2eproto[101]; +static ::_pb::Metadata file_level_metadata_deephaven_2fproto_2ftable_2eproto[102]; static const ::_pb::EnumDescriptor* file_level_enum_descriptors_deephaven_2fproto_2ftable_2eproto[9]; static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_deephaven_2fproto_2ftable_2eproto = nullptr; @@ -2223,6 +2236,14 @@ const uint32_t TableStruct_deephaven_2fproto_2ftable_2eproto::offsets[] PROTOBUF ~0u, // no _inlined_string_donated_ PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::FlattenRequest, result_id_), PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::FlattenRequest, source_id_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::MetaTableRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::MetaTableRequest, result_id_), + PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::MetaTableRequest, source_id_), PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest_ZoomRange, _has_bits_), PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest_ZoomRange, _internal_metadata_), ~0u, // no _extensions_ @@ -2330,6 +2351,7 @@ const uint32_t TableStruct_deephaven_2fproto_2ftable_2eproto::offsets[] PROTOBUF ::_pbi::kInvalidFieldOffsetTag, ::_pbi::kInvalidFieldOffsetTag, ::_pbi::kInvalidFieldOffsetTag, + ::_pbi::kInvalidFieldOffsetTag, PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::BatchTableRequest_Operation, op_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::io::deephaven::proto::backplane::grpc::BatchTableRequest, _internal_metadata_), @@ -2432,15 +2454,16 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode { 811, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::ContainsCondition)}, { 821, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::SearchCondition)}, { 829, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::FlattenRequest)}, - { 837, 845, -1, sizeof(::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest_ZoomRange)}, - { 847, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest)}, - { 859, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CreateInputTableRequest_InputTableKind_InMemoryAppendOnly)}, - { 865, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CreateInputTableRequest_InputTableKind_InMemoryKeyBacked)}, - { 872, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CreateInputTableRequest_InputTableKind)}, - { 881, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CreateInputTableRequest)}, - { 892, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::WhereInRequest)}, - { 903, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::BatchTableRequest_Operation)}, - { 945, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::BatchTableRequest)}, + { 837, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::MetaTableRequest)}, + { 845, 853, -1, sizeof(::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest_ZoomRange)}, + { 855, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest)}, + { 867, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CreateInputTableRequest_InputTableKind_InMemoryAppendOnly)}, + { 873, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CreateInputTableRequest_InputTableKind_InMemoryKeyBacked)}, + { 880, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CreateInputTableRequest_InputTableKind)}, + { 889, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::CreateInputTableRequest)}, + { 900, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::WhereInRequest)}, + { 911, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::BatchTableRequest_Operation)}, + { 954, -1, -1, sizeof(::io::deephaven::proto::backplane::grpc::BatchTableRequest)}, }; static const ::_pb::Message* const file_default_instances[] = { @@ -2536,6 +2559,7 @@ static const ::_pb::Message* const file_default_instances[] = { &::io::deephaven::proto::backplane::grpc::_ContainsCondition_default_instance_._instance, &::io::deephaven::proto::backplane::grpc::_SearchCondition_default_instance_._instance, &::io::deephaven::proto::backplane::grpc::_FlattenRequest_default_instance_._instance, + &::io::deephaven::proto::backplane::grpc::_MetaTableRequest_default_instance_._instance, &::io::deephaven::proto::backplane::grpc::_RunChartDownsampleRequest_ZoomRange_default_instance_._instance, &::io::deephaven::proto::backplane::grpc::_RunChartDownsampleRequest_default_instance_._instance, &::io::deephaven::proto::backplane::grpc::_CreateInputTableRequest_InputTableKind_InMemoryAppendOnly_default_instance_._instance, @@ -2979,265 +3003,274 @@ const char descriptor_table_protodef_deephaven_2fproto_2ftable_2eproto[] PROTOBU "ence\"\224\001\n\016FlattenRequest\022<\n\tresult_id\030\001 \001" "(\0132).io.deephaven.proto.backplane.grpc.T" "icket\022D\n\tsource_id\030\002 \001(\01321.io.deephaven." - "proto.backplane.grpc.TableReference\"\264\003\n\031" - "RunChartDownsampleRequest\022<\n\tresult_id\030\001" - " \001(\0132).io.deephaven.proto.backplane.grpc" - ".Ticket\022D\n\tsource_id\030\002 \001(\01321.io.deephave" - "n.proto.backplane.grpc.TableReference\022\023\n" - "\013pixel_count\030\003 \001(\005\022Z\n\nzoom_range\030\004 \001(\0132F" - ".io.deephaven.proto.backplane.grpc.RunCh" - "artDownsampleRequest.ZoomRange\022\025\n\rx_colu" - "mn_name\030\005 \001(\t\022\026\n\016y_column_names\030\006 \003(\t\032s\n" - "\tZoomRange\022\037\n\016min_date_nanos\030\001 \001(\003B\0020\001H\000" - "\210\001\001\022\037\n\016max_date_nanos\030\002 \001(\003B\0020\001H\001\210\001\001B\021\n\017" - "_min_date_nanosB\021\n\017_max_date_nanos\"\365\004\n\027C" - "reateInputTableRequest\022<\n\tresult_id\030\001 \001(" - "\0132).io.deephaven.proto.backplane.grpc.Ti" - "cket\022L\n\017source_table_id\030\002 \001(\01321.io.deeph" - "aven.proto.backplane.grpc.TableReference" - "H\000\022\020\n\006schema\030\003 \001(\014H\000\022W\n\004kind\030\004 \001(\0132I.io." - "deephaven.proto.backplane.grpc.CreateInp" - "utTableRequest.InputTableKind\032\324\002\n\016InputT" - "ableKind\022}\n\025in_memory_append_only\030\001 \001(\0132" - "\\.io.deephaven.proto.backplane.grpc.Crea" - "teInputTableRequest.InputTableKind.InMem" - "oryAppendOnlyH\000\022{\n\024in_memory_key_backed\030" - "\002 \001(\0132[.io.deephaven.proto.backplane.grp" - "c.CreateInputTableRequest.InputTableKind" - ".InMemoryKeyBackedH\000\032\024\n\022InMemoryAppendOn" - "ly\032(\n\021InMemoryKeyBacked\022\023\n\013key_columns\030\001" - " \003(\tB\006\n\004kindB\014\n\ndefinition\"\203\002\n\016WhereInRe" - "quest\022<\n\tresult_id\030\001 \001(\0132).io.deephaven." - "proto.backplane.grpc.Ticket\022B\n\007left_id\030\002" - " \001(\01321.io.deephaven.proto.backplane.grpc" - ".TableReference\022C\n\010right_id\030\003 \001(\01321.io.d" - "eephaven.proto.backplane.grpc.TableRefer" - "ence\022\020\n\010inverted\030\004 \001(\010\022\030\n\020columns_to_mat" - "ch\030\005 \003(\t\"\304\026\n\021BatchTableRequest\022K\n\003ops\030\001 " - "\003(\0132>.io.deephaven.proto.backplane.grpc." - "BatchTableRequest.Operation\032\341\025\n\tOperatio" - "n\022K\n\013empty_table\030\001 \001(\01324.io.deephaven.pr" - "oto.backplane.grpc.EmptyTableRequestH\000\022I" - "\n\ntime_table\030\002 \001(\01323.io.deephaven.proto." - "backplane.grpc.TimeTableRequestH\000\022M\n\014dro" - "p_columns\030\003 \001(\01325.io.deephaven.proto.bac" - "kplane.grpc.DropColumnsRequestH\000\022J\n\006upda" - "te\030\004 \001(\01328.io.deephaven.proto.backplane." - "grpc.SelectOrUpdateRequestH\000\022O\n\013lazy_upd" - "ate\030\005 \001(\01328.io.deephaven.proto.backplane" - ".grpc.SelectOrUpdateRequestH\000\022H\n\004view\030\006 " - "\001(\01328.io.deephaven.proto.backplane.grpc." - "SelectOrUpdateRequestH\000\022O\n\013update_view\030\007" - " \001(\01328.io.deephaven.proto.backplane.grpc" - ".SelectOrUpdateRequestH\000\022J\n\006select\030\010 \001(\013" - "28.io.deephaven.proto.backplane.grpc.Sel" - "ectOrUpdateRequestH\000\022S\n\017select_distinct\030" - "\t \001(\01328.io.deephaven.proto.backplane.grp" - "c.SelectDistinctRequestH\000\022G\n\006filter\030\n \001(" - "\01325.io.deephaven.proto.backplane.grpc.Fi" - "lterTableRequestH\000\022`\n\023unstructured_filte" - "r\030\013 \001(\0132A.io.deephaven.proto.backplane.g" - "rpc.UnstructuredFilterTableRequestH\000\022C\n\004" - "sort\030\014 \001(\01323.io.deephaven.proto.backplan" - "e.grpc.SortTableRequestH\000\022D\n\004head\030\r \001(\0132" - "4.io.deephaven.proto.backplane.grpc.Head" - "OrTailRequestH\000\022D\n\004tail\030\016 \001(\01324.io.deeph" - "aven.proto.backplane.grpc.HeadOrTailRequ" - "estH\000\022I\n\007head_by\030\017 \001(\01326.io.deephaven.pr" - "oto.backplane.grpc.HeadOrTailByRequestH\000" - "\022I\n\007tail_by\030\020 \001(\01326.io.deephaven.proto.b" - "ackplane.grpc.HeadOrTailByRequestH\000\022D\n\007u" - "ngroup\030\021 \001(\01321.io.deephaven.proto.backpl" - "ane.grpc.UngroupRequestH\000\022F\n\005merge\030\022 \001(\013" - "25.io.deephaven.proto.backplane.grpc.Mer" - "geTablesRequestH\000\022S\n\017combo_aggregate\030\023 \001" - "(\01328.io.deephaven.proto.backplane.grpc.C" - "omboAggregateRequestH\000\022D\n\007flatten\030\025 \001(\0132" - "1.io.deephaven.proto.backplane.grpc.Flat" - "tenRequestH\000\022\\\n\024run_chart_downsample\030\026 \001" - "(\0132<.io.deephaven.proto.backplane.grpc.R" - "unChartDownsampleRequestH\000\022O\n\ncross_join" - "\030\027 \001(\01329.io.deephaven.proto.backplane.gr" - "pc.CrossJoinTablesRequestH\000\022S\n\014natural_j" - "oin\030\030 \001(\0132;.io.deephaven.proto.backplane" - ".grpc.NaturalJoinTablesRequestH\000\022O\n\nexac" - "t_join\030\031 \001(\01329.io.deephaven.proto.backpl" - "ane.grpc.ExactJoinTablesRequestH\000\022M\n\tlef" - "t_join\030\032 \001(\01328.io.deephaven.proto.backpl" - "ane.grpc.LeftJoinTablesRequestH\000\022N\n\nas_o" - "f_join\030\033 \001(\01328.io.deephaven.proto.backpl" - "ane.grpc.AsOfJoinTablesRequestH\000\022K\n\013fetc" - "h_table\030\034 \001(\01324.io.deephaven.proto.backp" - "lane.grpc.FetchTableRequestH\000\022^\n\025apply_p" - "review_columns\030\036 \001(\0132=.io.deephaven.prot" - "o.backplane.grpc.ApplyPreviewColumnsRequ" - "estH\000\022X\n\022create_input_table\030\037 \001(\0132:.io.d" - "eephaven.proto.backplane.grpc.CreateInpu" - "tTableRequestH\000\022G\n\tupdate_by\030 \001(\01322.io." - "deephaven.proto.backplane.grpc.UpdateByR" - "equestH\000\022E\n\010where_in\030! \001(\01321.io.deephave" - "n.proto.backplane.grpc.WhereInRequestH\000\022" - "O\n\raggregate_all\030\" \001(\01326.io.deephaven.pr" - "oto.backplane.grpc.AggregateAllRequestH\000" - "\022H\n\taggregate\030# \001(\01323.io.deephaven.proto" - ".backplane.grpc.AggregateRequestH\000\022K\n\010sn" - "apshot\030$ \001(\01327.io.deephaven.proto.backpl" - "ane.grpc.SnapshotTableRequestH\000\022T\n\rsnaps" - "hot_when\030% \001(\0132;.io.deephaven.proto.back" - "plane.grpc.SnapshotWhenTableRequestH\000B\004\n" - "\002opJ\004\010\024\020\025J\004\010\035\020\036*=\n\017BadDataBehavior\022\t\n\005TH" - "ROW\020\000\022\t\n\005RESET\020\001\022\010\n\004SKIP\020\002\022\n\n\006POISON\020\003*\033" - "\n\tNullValue\022\016\n\nNULL_VALUE\020\000*2\n\017CaseSensi" - "tivity\022\016\n\nMATCH_CASE\020\000\022\017\n\013IGNORE_CASE\020\001*" - "&\n\tMatchType\022\013\n\007REGULAR\020\000\022\014\n\010INVERTED\020\0012" - "\336*\n\014TableService\022\221\001\n GetExportedTableCre" - "ationResponse\022).io.deephaven.proto.backp" - "lane.grpc.Ticket\032@.io.deephaven.proto.ba" + "proto.backplane.grpc.TableReference\"\226\001\n\020" + "MetaTableRequest\022<\n\tresult_id\030\001 \001(\0132).io" + ".deephaven.proto.backplane.grpc.Ticket\022D" + "\n\tsource_id\030\002 \001(\01321.io.deephaven.proto.b" + "ackplane.grpc.TableReference\"\264\003\n\031RunChar" + "tDownsampleRequest\022<\n\tresult_id\030\001 \001(\0132)." + "io.deephaven.proto.backplane.grpc.Ticket" + "\022D\n\tsource_id\030\002 \001(\01321.io.deephaven.proto" + ".backplane.grpc.TableReference\022\023\n\013pixel_" + "count\030\003 \001(\005\022Z\n\nzoom_range\030\004 \001(\0132F.io.dee" + "phaven.proto.backplane.grpc.RunChartDown" + "sampleRequest.ZoomRange\022\025\n\rx_column_name" + "\030\005 \001(\t\022\026\n\016y_column_names\030\006 \003(\t\032s\n\tZoomRa" + "nge\022\037\n\016min_date_nanos\030\001 \001(\003B\0020\001H\000\210\001\001\022\037\n\016" + "max_date_nanos\030\002 \001(\003B\0020\001H\001\210\001\001B\021\n\017_min_da" + "te_nanosB\021\n\017_max_date_nanos\"\365\004\n\027CreateIn" + "putTableRequest\022<\n\tresult_id\030\001 \001(\0132).io." + "deephaven.proto.backplane.grpc.Ticket\022L\n" + "\017source_table_id\030\002 \001(\01321.io.deephaven.pr" + "oto.backplane.grpc.TableReferenceH\000\022\020\n\006s" + "chema\030\003 \001(\014H\000\022W\n\004kind\030\004 \001(\0132I.io.deephav" + "en.proto.backplane.grpc.CreateInputTable" + "Request.InputTableKind\032\324\002\n\016InputTableKin" + "d\022}\n\025in_memory_append_only\030\001 \001(\0132\\.io.de" + "ephaven.proto.backplane.grpc.CreateInput" + "TableRequest.InputTableKind.InMemoryAppe" + "ndOnlyH\000\022{\n\024in_memory_key_backed\030\002 \001(\0132[" + ".io.deephaven.proto.backplane.grpc.Creat" + "eInputTableRequest.InputTableKind.InMemo" + "ryKeyBackedH\000\032\024\n\022InMemoryAppendOnly\032(\n\021I" + "nMemoryKeyBacked\022\023\n\013key_columns\030\001 \003(\tB\006\n" + "\004kindB\014\n\ndefinition\"\203\002\n\016WhereInRequest\022<" + "\n\tresult_id\030\001 \001(\0132).io.deephaven.proto.b" + "ackplane.grpc.Ticket\022B\n\007left_id\030\002 \001(\01321." + "io.deephaven.proto.backplane.grpc.TableR" + "eference\022C\n\010right_id\030\003 \001(\01321.io.deephave" + "n.proto.backplane.grpc.TableReference\022\020\n" + "\010inverted\030\004 \001(\010\022\030\n\020columns_to_match\030\005 \003(" + "\t\"\217\027\n\021BatchTableRequest\022K\n\003ops\030\001 \003(\0132>.i" + "o.deephaven.proto.backplane.grpc.BatchTa" + "bleRequest.Operation\032\254\026\n\tOperation\022K\n\013em" + "pty_table\030\001 \001(\01324.io.deephaven.proto.bac" + "kplane.grpc.EmptyTableRequestH\000\022I\n\ntime_" + "table\030\002 \001(\01323.io.deephaven.proto.backpla" + "ne.grpc.TimeTableRequestH\000\022M\n\014drop_colum" + "ns\030\003 \001(\01325.io.deephaven.proto.backplane." + "grpc.DropColumnsRequestH\000\022J\n\006update\030\004 \001(" + "\01328.io.deephaven.proto.backplane.grpc.Se" + "lectOrUpdateRequestH\000\022O\n\013lazy_update\030\005 \001" + "(\01328.io.deephaven.proto.backplane.grpc.S" + "electOrUpdateRequestH\000\022H\n\004view\030\006 \001(\01328.i" + "o.deephaven.proto.backplane.grpc.SelectO" + "rUpdateRequestH\000\022O\n\013update_view\030\007 \001(\01328." + "io.deephaven.proto.backplane.grpc.Select" + "OrUpdateRequestH\000\022J\n\006select\030\010 \001(\01328.io.d" + "eephaven.proto.backplane.grpc.SelectOrUp" + "dateRequestH\000\022S\n\017select_distinct\030\t \001(\01328" + ".io.deephaven.proto.backplane.grpc.Selec" + "tDistinctRequestH\000\022G\n\006filter\030\n \001(\01325.io." + "deephaven.proto.backplane.grpc.FilterTab" + "leRequestH\000\022`\n\023unstructured_filter\030\013 \001(\013" + "2A.io.deephaven.proto.backplane.grpc.Uns" + "tructuredFilterTableRequestH\000\022C\n\004sort\030\014 " + "\001(\01323.io.deephaven.proto.backplane.grpc." + "SortTableRequestH\000\022D\n\004head\030\r \001(\01324.io.de" + "ephaven.proto.backplane.grpc.HeadOrTailR" + "equestH\000\022D\n\004tail\030\016 \001(\01324.io.deephaven.pr" + "oto.backplane.grpc.HeadOrTailRequestH\000\022I" + "\n\007head_by\030\017 \001(\01326.io.deephaven.proto.bac" + "kplane.grpc.HeadOrTailByRequestH\000\022I\n\007tai" + "l_by\030\020 \001(\01326.io.deephaven.proto.backplan" + "e.grpc.HeadOrTailByRequestH\000\022D\n\007ungroup\030" + "\021 \001(\01321.io.deephaven.proto.backplane.grp" + "c.UngroupRequestH\000\022F\n\005merge\030\022 \001(\01325.io.d" + "eephaven.proto.backplane.grpc.MergeTable" + "sRequestH\000\022S\n\017combo_aggregate\030\023 \001(\01328.io" + ".deephaven.proto.backplane.grpc.ComboAgg" + "regateRequestH\000\022D\n\007flatten\030\025 \001(\01321.io.de" + "ephaven.proto.backplane.grpc.FlattenRequ" + "estH\000\022\\\n\024run_chart_downsample\030\026 \001(\0132<.io" + ".deephaven.proto.backplane.grpc.RunChart" + "DownsampleRequestH\000\022O\n\ncross_join\030\027 \001(\0132" + "9.io.deephaven.proto.backplane.grpc.Cros" + "sJoinTablesRequestH\000\022S\n\014natural_join\030\030 \001" + "(\0132;.io.deephaven.proto.backplane.grpc.N" + "aturalJoinTablesRequestH\000\022O\n\nexact_join\030" + "\031 \001(\01329.io.deephaven.proto.backplane.grp" + "c.ExactJoinTablesRequestH\000\022M\n\tleft_join\030" + "\032 \001(\01328.io.deephaven.proto.backplane.grp" + "c.LeftJoinTablesRequestH\000\022N\n\nas_of_join\030" + "\033 \001(\01328.io.deephaven.proto.backplane.grp" + "c.AsOfJoinTablesRequestH\000\022K\n\013fetch_table" + "\030\034 \001(\01324.io.deephaven.proto.backplane.gr" + "pc.FetchTableRequestH\000\022^\n\025apply_preview_" + "columns\030\036 \001(\0132=.io.deephaven.proto.backp" + "lane.grpc.ApplyPreviewColumnsRequestH\000\022X" + "\n\022create_input_table\030\037 \001(\0132:.io.deephave" + "n.proto.backplane.grpc.CreateInputTableR" + "equestH\000\022G\n\tupdate_by\030 \001(\01322.io.deephav" + "en.proto.backplane.grpc.UpdateByRequestH" + "\000\022E\n\010where_in\030! \001(\01321.io.deephaven.proto" + ".backplane.grpc.WhereInRequestH\000\022O\n\raggr" + "egate_all\030\" \001(\01326.io.deephaven.proto.bac" + "kplane.grpc.AggregateAllRequestH\000\022H\n\tagg" + "regate\030# \001(\01323.io.deephaven.proto.backpl" + "ane.grpc.AggregateRequestH\000\022K\n\010snapshot\030" + "$ \001(\01327.io.deephaven.proto.backplane.grp" + "c.SnapshotTableRequestH\000\022T\n\rsnapshot_whe" + "n\030% \001(\0132;.io.deephaven.proto.backplane.g" + "rpc.SnapshotWhenTableRequestH\000\022I\n\nmeta_t" + "able\030& \001(\01323.io.deephaven.proto.backplan" + "e.grpc.MetaTableRequestH\000B\004\n\002opJ\004\010\024\020\025J\004\010" + "\035\020\036*=\n\017BadDataBehavior\022\t\n\005THROW\020\000\022\t\n\005RES" + "ET\020\001\022\010\n\004SKIP\020\002\022\n\n\006POISON\020\003*\033\n\tNullValue\022" + "\016\n\nNULL_VALUE\020\000*2\n\017CaseSensitivity\022\016\n\nMA" + "TCH_CASE\020\000\022\017\n\013IGNORE_CASE\020\001*&\n\tMatchType" + "\022\013\n\007REGULAR\020\000\022\014\n\010INVERTED\020\0012\345+\n\014TableSer" + "vice\022\221\001\n GetExportedTableCreationRespons" + "e\022).io.deephaven.proto.backplane.grpc.Ti" + "cket\032@.io.deephaven.proto.backplane.grpc" + ".ExportedTableCreationResponse\"\000\022\206\001\n\nFet" + "chTable\0224.io.deephaven.proto.backplane.g" + "rpc.FetchTableRequest\032@.io.deephaven.pro" + "to.backplane.grpc.ExportedTableCreationR" + "esponse\"\000\022\230\001\n\023ApplyPreviewColumns\022=.io.d" + "eephaven.proto.backplane.grpc.ApplyPrevi" + "ewColumnsRequest\032@.io.deephaven.proto.ba" "ckplane.grpc.ExportedTableCreationRespon" - "se\"\000\022\206\001\n\nFetchTable\0224.io.deephaven.proto" - ".backplane.grpc.FetchTableRequest\032@.io.d" + "se\"\000\022\206\001\n\nEmptyTable\0224.io.deephaven.proto" + ".backplane.grpc.EmptyTableRequest\032@.io.d" "eephaven.proto.backplane.grpc.ExportedTa" - "bleCreationResponse\"\000\022\230\001\n\023ApplyPreviewCo" - "lumns\022=.io.deephaven.proto.backplane.grp" - "c.ApplyPreviewColumnsRequest\032@.io.deepha" + "bleCreationResponse\"\000\022\204\001\n\tTimeTable\0223.io" + ".deephaven.proto.backplane.grpc.TimeTabl" + "eRequest\032@.io.deephaven.proto.backplane." + "grpc.ExportedTableCreationResponse\"\000\022\210\001\n" + "\013DropColumns\0225.io.deephaven.proto.backpl" + "ane.grpc.DropColumnsRequest\032@.io.deephav" + "en.proto.backplane.grpc.ExportedTableCre" + "ationResponse\"\000\022\206\001\n\006Update\0228.io.deephave" + "n.proto.backplane.grpc.SelectOrUpdateReq" + "uest\032@.io.deephaven.proto.backplane.grpc" + ".ExportedTableCreationResponse\"\000\022\212\001\n\nLaz" + "yUpdate\0228.io.deephaven.proto.backplane.g" + "rpc.SelectOrUpdateRequest\032@.io.deephaven" + ".proto.backplane.grpc.ExportedTableCreat" + "ionResponse\"\000\022\204\001\n\004View\0228.io.deephaven.pr" + "oto.backplane.grpc.SelectOrUpdateRequest" + "\032@.io.deephaven.proto.backplane.grpc.Exp" + "ortedTableCreationResponse\"\000\022\212\001\n\nUpdateV" + "iew\0228.io.deephaven.proto.backplane.grpc." + "SelectOrUpdateRequest\032@.io.deephaven.pro" + "to.backplane.grpc.ExportedTableCreationR" + "esponse\"\000\022\206\001\n\006Select\0228.io.deephaven.prot" + "o.backplane.grpc.SelectOrUpdateRequest\032@" + ".io.deephaven.proto.backplane.grpc.Expor" + "tedTableCreationResponse\"\000\022\202\001\n\010UpdateBy\022" + "2.io.deephaven.proto.backplane.grpc.Upda" + "teByRequest\032@.io.deephaven.proto.backpla" + "ne.grpc.ExportedTableCreationResponse\"\000\022" + "\216\001\n\016SelectDistinct\0228.io.deephaven.proto." + "backplane.grpc.SelectDistinctRequest\032@.i" + "o.deephaven.proto.backplane.grpc.Exporte" + "dTableCreationResponse\"\000\022\203\001\n\006Filter\0225.io" + ".deephaven.proto.backplane.grpc.FilterTa" + "bleRequest\032@.io.deephaven.proto.backplan" + "e.grpc.ExportedTableCreationResponse\"\000\022\233" + "\001\n\022UnstructuredFilter\022A.io.deephaven.pro" + "to.backplane.grpc.UnstructuredFilterTabl" + "eRequest\032@.io.deephaven.proto.backplane." + "grpc.ExportedTableCreationResponse\"\000\022\177\n\004" + "Sort\0223.io.deephaven.proto.backplane.grpc" + ".SortTableRequest\032@.io.deephaven.proto.b" + "ackplane.grpc.ExportedTableCreationRespo" + "nse\"\000\022\200\001\n\004Head\0224.io.deephaven.proto.back" + "plane.grpc.HeadOrTailRequest\032@.io.deepha" "ven.proto.backplane.grpc.ExportedTableCr" - "eationResponse\"\000\022\206\001\n\nEmptyTable\0224.io.dee" - "phaven.proto.backplane.grpc.EmptyTableRe" - "quest\032@.io.deephaven.proto.backplane.grp" - "c.ExportedTableCreationResponse\"\000\022\204\001\n\tTi" - "meTable\0223.io.deephaven.proto.backplane.g" - "rpc.TimeTableRequest\032@.io.deephaven.prot" - "o.backplane.grpc.ExportedTableCreationRe" - "sponse\"\000\022\210\001\n\013DropColumns\0225.io.deephaven." - "proto.backplane.grpc.DropColumnsRequest\032" + "eationResponse\"\000\022\200\001\n\004Tail\0224.io.deephaven" + ".proto.backplane.grpc.HeadOrTailRequest\032" "@.io.deephaven.proto.backplane.grpc.Expo" - "rtedTableCreationResponse\"\000\022\206\001\n\006Update\0228" - ".io.deephaven.proto.backplane.grpc.Selec" - "tOrUpdateRequest\032@.io.deephaven.proto.ba" - "ckplane.grpc.ExportedTableCreationRespon" - "se\"\000\022\212\001\n\nLazyUpdate\0228.io.deephaven.proto" - ".backplane.grpc.SelectOrUpdateRequest\032@." - "io.deephaven.proto.backplane.grpc.Export" - "edTableCreationResponse\"\000\022\204\001\n\004View\0228.io." - "deephaven.proto.backplane.grpc.SelectOrU" - "pdateRequest\032@.io.deephaven.proto.backpl" - "ane.grpc.ExportedTableCreationResponse\"\000" - "\022\212\001\n\nUpdateView\0228.io.deephaven.proto.bac" - "kplane.grpc.SelectOrUpdateRequest\032@.io.d" - "eephaven.proto.backplane.grpc.ExportedTa" - "bleCreationResponse\"\000\022\206\001\n\006Select\0228.io.de" - "ephaven.proto.backplane.grpc.SelectOrUpd" - "ateRequest\032@.io.deephaven.proto.backplan" - "e.grpc.ExportedTableCreationResponse\"\000\022\202" - "\001\n\010UpdateBy\0222.io.deephaven.proto.backpla" - "ne.grpc.UpdateByRequest\032@.io.deephaven.p" - "roto.backplane.grpc.ExportedTableCreatio" - "nResponse\"\000\022\216\001\n\016SelectDistinct\0228.io.deep" - "haven.proto.backplane.grpc.SelectDistinc" - "tRequest\032@.io.deephaven.proto.backplane." - "grpc.ExportedTableCreationResponse\"\000\022\203\001\n" - "\006Filter\0225.io.deephaven.proto.backplane.g" - "rpc.FilterTableRequest\032@.io.deephaven.pr" - "oto.backplane.grpc.ExportedTableCreation" - "Response\"\000\022\233\001\n\022UnstructuredFilter\022A.io.d" - "eephaven.proto.backplane.grpc.Unstructur" - "edFilterTableRequest\032@.io.deephaven.prot" - "o.backplane.grpc.ExportedTableCreationRe" - "sponse\"\000\022\177\n\004Sort\0223.io.deephaven.proto.ba" - "ckplane.grpc.SortTableRequest\032@.io.deeph" + "rtedTableCreationResponse\"\000\022\204\001\n\006HeadBy\0226" + ".io.deephaven.proto.backplane.grpc.HeadO" + "rTailByRequest\032@.io.deephaven.proto.back" + "plane.grpc.ExportedTableCreationResponse" + "\"\000\022\204\001\n\006TailBy\0226.io.deephaven.proto.backp" + "lane.grpc.HeadOrTailByRequest\032@.io.deeph" "aven.proto.backplane.grpc.ExportedTableC" - "reationResponse\"\000\022\200\001\n\004Head\0224.io.deephave" - "n.proto.backplane.grpc.HeadOrTailRequest" + "reationResponse\"\000\022\200\001\n\007Ungroup\0221.io.deeph" + "aven.proto.backplane.grpc.UngroupRequest" "\032@.io.deephaven.proto.backplane.grpc.Exp" - "ortedTableCreationResponse\"\000\022\200\001\n\004Tail\0224." - "io.deephaven.proto.backplane.grpc.HeadOr" - "TailRequest\032@.io.deephaven.proto.backpla" - "ne.grpc.ExportedTableCreationResponse\"\000\022" - "\204\001\n\006HeadBy\0226.io.deephaven.proto.backplan" - "e.grpc.HeadOrTailByRequest\032@.io.deephave" - "n.proto.backplane.grpc.ExportedTableCrea" - "tionResponse\"\000\022\204\001\n\006TailBy\0226.io.deephaven" - ".proto.backplane.grpc.HeadOrTailByReques" - "t\032@.io.deephaven.proto.backplane.grpc.Ex" - "portedTableCreationResponse\"\000\022\200\001\n\007Ungrou" - "p\0221.io.deephaven.proto.backplane.grpc.Un" - "groupRequest\032@.io.deephaven.proto.backpl" - "ane.grpc.ExportedTableCreationResponse\"\000" - "\022\210\001\n\013MergeTables\0225.io.deephaven.proto.ba" - "ckplane.grpc.MergeTablesRequest\032@.io.dee" - "phaven.proto.backplane.grpc.ExportedTabl" - "eCreationResponse\"\000\022\220\001\n\017CrossJoinTables\022" - "9.io.deephaven.proto.backplane.grpc.Cros" - "sJoinTablesRequest\032@.io.deephaven.proto." - "backplane.grpc.ExportedTableCreationResp" - "onse\"\000\022\224\001\n\021NaturalJoinTables\022;.io.deepha" - "ven.proto.backplane.grpc.NaturalJoinTabl" + "ortedTableCreationResponse\"\000\022\210\001\n\013MergeTa" + "bles\0225.io.deephaven.proto.backplane.grpc" + ".MergeTablesRequest\032@.io.deephaven.proto" + ".backplane.grpc.ExportedTableCreationRes" + "ponse\"\000\022\220\001\n\017CrossJoinTables\0229.io.deephav" + "en.proto.backplane.grpc.CrossJoinTablesR" + "equest\032@.io.deephaven.proto.backplane.gr" + "pc.ExportedTableCreationResponse\"\000\022\224\001\n\021N" + "aturalJoinTables\022;.io.deephaven.proto.ba" + "ckplane.grpc.NaturalJoinTablesRequest\032@." + "io.deephaven.proto.backplane.grpc.Export" + "edTableCreationResponse\"\000\022\220\001\n\017ExactJoinT" + "ables\0229.io.deephaven.proto.backplane.grp" + "c.ExactJoinTablesRequest\032@.io.deephaven." + "proto.backplane.grpc.ExportedTableCreati" + "onResponse\"\000\022\216\001\n\016LeftJoinTables\0228.io.dee" + "phaven.proto.backplane.grpc.LeftJoinTabl" "esRequest\032@.io.deephaven.proto.backplane" - ".grpc.ExportedTableCreationResponse\"\000\022\220\001" - "\n\017ExactJoinTables\0229.io.deephaven.proto.b" - "ackplane.grpc.ExactJoinTablesRequest\032@.i" + ".grpc.ExportedTableCreationResponse\"\000\022\216\001" + "\n\016AsOfJoinTables\0228.io.deephaven.proto.ba" + "ckplane.grpc.AsOfJoinTablesRequest\032@.io." + "deephaven.proto.backplane.grpc.ExportedT" + "ableCreationResponse\"\000\022\221\001\n\016ComboAggregat" + "e\0228.io.deephaven.proto.backplane.grpc.Co" + "mboAggregateRequest\032@.io.deephaven.proto" + ".backplane.grpc.ExportedTableCreationRes" + "ponse\"\003\210\002\001\022\212\001\n\014AggregateAll\0226.io.deephav" + "en.proto.backplane.grpc.AggregateAllRequ" + "est\032@.io.deephaven.proto.backplane.grpc." + "ExportedTableCreationResponse\"\000\022\204\001\n\tAggr" + "egate\0223.io.deephaven.proto.backplane.grp" + "c.AggregateRequest\032@.io.deephaven.proto." + "backplane.grpc.ExportedTableCreationResp" + "onse\"\000\022\207\001\n\010Snapshot\0227.io.deephaven.proto" + ".backplane.grpc.SnapshotTableRequest\032@.i" "o.deephaven.proto.backplane.grpc.Exporte" - "dTableCreationResponse\"\000\022\216\001\n\016LeftJoinTab" - "les\0228.io.deephaven.proto.backplane.grpc." - "LeftJoinTablesRequest\032@.io.deephaven.pro" - "to.backplane.grpc.ExportedTableCreationR" - "esponse\"\000\022\216\001\n\016AsOfJoinTables\0228.io.deepha" - "ven.proto.backplane.grpc.AsOfJoinTablesR" - "equest\032@.io.deephaven.proto.backplane.gr" - "pc.ExportedTableCreationResponse\"\000\022\221\001\n\016C" - "omboAggregate\0228.io.deephaven.proto.backp" - "lane.grpc.ComboAggregateRequest\032@.io.dee" - "phaven.proto.backplane.grpc.ExportedTabl" - "eCreationResponse\"\003\210\002\001\022\212\001\n\014AggregateAll\022" - "6.io.deephaven.proto.backplane.grpc.Aggr" - "egateAllRequest\032@.io.deephaven.proto.bac" + "dTableCreationResponse\"\000\022\217\001\n\014SnapshotWhe" + "n\022;.io.deephaven.proto.backplane.grpc.Sn" + "apshotWhenTableRequest\032@.io.deephaven.pr" + "oto.backplane.grpc.ExportedTableCreation" + "Response\"\000\022\200\001\n\007Flatten\0221.io.deephaven.pr" + "oto.backplane.grpc.FlattenRequest\032@.io.d" + "eephaven.proto.backplane.grpc.ExportedTa" + "bleCreationResponse\"\000\022\226\001\n\022RunChartDownsa" + "mple\022<.io.deephaven.proto.backplane.grpc" + ".RunChartDownsampleRequest\032@.io.deephave" + "n.proto.backplane.grpc.ExportedTableCrea" + "tionResponse\"\000\022\222\001\n\020CreateInputTable\022:.io" + ".deephaven.proto.backplane.grpc.CreateIn" + "putTableRequest\032@.io.deephaven.proto.bac" "kplane.grpc.ExportedTableCreationRespons" - "e\"\000\022\204\001\n\tAggregate\0223.io.deephaven.proto.b" - "ackplane.grpc.AggregateRequest\032@.io.deep" - "haven.proto.backplane.grpc.ExportedTable" - "CreationResponse\"\000\022\207\001\n\010Snapshot\0227.io.dee" - "phaven.proto.backplane.grpc.SnapshotTabl" - "eRequest\032@.io.deephaven.proto.backplane." - "grpc.ExportedTableCreationResponse\"\000\022\217\001\n" - "\014SnapshotWhen\022;.io.deephaven.proto.backp" - "lane.grpc.SnapshotWhenTableRequest\032@.io." - "deephaven.proto.backplane.grpc.ExportedT" - "ableCreationResponse\"\000\022\200\001\n\007Flatten\0221.io." - "deephaven.proto.backplane.grpc.FlattenRe" - "quest\032@.io.deephaven.proto.backplane.grp" - "c.ExportedTableCreationResponse\"\000\022\226\001\n\022Ru" - "nChartDownsample\022<.io.deephaven.proto.ba" - "ckplane.grpc.RunChartDownsampleRequest\032@" - ".io.deephaven.proto.backplane.grpc.Expor" - "tedTableCreationResponse\"\000\022\222\001\n\020CreateInp" - "utTable\022:.io.deephaven.proto.backplane.g" - "rpc.CreateInputTableRequest\032@.io.deephav" - "en.proto.backplane.grpc.ExportedTableCre" - "ationResponse\"\000\022\200\001\n\007WhereIn\0221.io.deephav" - "en.proto.backplane.grpc.WhereInRequest\032@" + "e\"\000\022\200\001\n\007WhereIn\0221.io.deephaven.proto.bac" + "kplane.grpc.WhereInRequest\032@.io.deephave" + "n.proto.backplane.grpc.ExportedTableCrea" + "tionResponse\"\000\022\203\001\n\005Batch\0224.io.deephaven." + "proto.backplane.grpc.BatchTableRequest\032@" ".io.deephaven.proto.backplane.grpc.Expor" - "tedTableCreationResponse\"\000\022\203\001\n\005Batch\0224.i" - "o.deephaven.proto.backplane.grpc.BatchTa" - "bleRequest\032@.io.deephaven.proto.backplan" - "e.grpc.ExportedTableCreationResponse\"\0000\001" - "\022\231\001\n\024ExportedTableUpdates\022>.io.deephaven" - ".proto.backplane.grpc.ExportedTableUpdat" - "esRequest\032=.io.deephaven.proto.backplane" - ".grpc.ExportedTableUpdateMessage\"\0000\001\022r\n\007" - "SeekRow\0221.io.deephaven.proto.backplane.g" - "rpc.SeekRowRequest\0322.io.deephaven.proto." - "backplane.grpc.SeekRowResponse\"\000BAH\001P\001Z;" - "github.com/deephaven/deephaven-core/go/i" - "nternal/proto/tableb\006proto3" + "tedTableCreationResponse\"\0000\001\022\231\001\n\024Exporte" + "dTableUpdates\022>.io.deephaven.proto.backp" + "lane.grpc.ExportedTableUpdatesRequest\032=." + "io.deephaven.proto.backplane.grpc.Export" + "edTableUpdateMessage\"\0000\001\022r\n\007SeekRow\0221.io" + ".deephaven.proto.backplane.grpc.SeekRowR" + "equest\0322.io.deephaven.proto.backplane.gr" + "pc.SeekRowResponse\"\000\022\204\001\n\tMetaTable\0223.io." + "deephaven.proto.backplane.grpc.MetaTable" + "Request\032@.io.deephaven.proto.backplane.g" + "rpc.ExportedTableCreationResponse\"\000BAH\001P" + "\001Z;github.com/deephaven/deephaven-core/g" + "o/internal/proto/tableb\006proto3" ; static const ::_pbi::DescriptorTable* const descriptor_table_deephaven_2fproto_2ftable_2eproto_deps[1] = { &::descriptor_table_deephaven_2fproto_2fticket_2eproto, }; static ::_pbi::once_flag descriptor_table_deephaven_2fproto_2ftable_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_deephaven_2fproto_2ftable_2eproto = { - false, false, 27227, descriptor_table_protodef_deephaven_2fproto_2ftable_2eproto, + false, false, 27590, descriptor_table_protodef_deephaven_2fproto_2ftable_2eproto, "deephaven/proto/table.proto", - &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, descriptor_table_deephaven_2fproto_2ftable_2eproto_deps, 1, 101, + &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, descriptor_table_deephaven_2fproto_2ftable_2eproto_deps, 1, 102, schemas, file_default_instances, TableStruct_deephaven_2fproto_2ftable_2eproto::offsets, file_level_metadata_deephaven_2fproto_2ftable_2eproto, file_level_enum_descriptors_deephaven_2fproto_2ftable_2eproto, file_level_service_descriptors_deephaven_2fproto_2ftable_2eproto, @@ -26282,6 +26315,247 @@ ::PROTOBUF_NAMESPACE_ID::Metadata FlattenRequest::GetMetadata() const { // =================================================================== +class MetaTableRequest::_Internal { + public: + static const ::io::deephaven::proto::backplane::grpc::Ticket& result_id(const MetaTableRequest* msg); + static const ::io::deephaven::proto::backplane::grpc::TableReference& source_id(const MetaTableRequest* msg); +}; + +const ::io::deephaven::proto::backplane::grpc::Ticket& +MetaTableRequest::_Internal::result_id(const MetaTableRequest* msg) { + return *msg->result_id_; +} +const ::io::deephaven::proto::backplane::grpc::TableReference& +MetaTableRequest::_Internal::source_id(const MetaTableRequest* msg) { + return *msg->source_id_; +} +void MetaTableRequest::clear_result_id() { + if (GetArenaForAllocation() == nullptr && result_id_ != nullptr) { + delete result_id_; + } + result_id_ = nullptr; +} +MetaTableRequest::MetaTableRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + // @@protoc_insertion_point(arena_constructor:io.deephaven.proto.backplane.grpc.MetaTableRequest) +} +MetaTableRequest::MetaTableRequest(const MetaTableRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_result_id()) { + result_id_ = new ::io::deephaven::proto::backplane::grpc::Ticket(*from.result_id_); + } else { + result_id_ = nullptr; + } + if (from._internal_has_source_id()) { + source_id_ = new ::io::deephaven::proto::backplane::grpc::TableReference(*from.source_id_); + } else { + source_id_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:io.deephaven.proto.backplane.grpc.MetaTableRequest) +} + +inline void MetaTableRequest::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&result_id_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&source_id_) - + reinterpret_cast(&result_id_)) + sizeof(source_id_)); +} + +MetaTableRequest::~MetaTableRequest() { + // @@protoc_insertion_point(destructor:io.deephaven.proto.backplane.grpc.MetaTableRequest) + if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) { + (void)arena; + return; + } + SharedDtor(); +} + +inline void MetaTableRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete result_id_; + if (this != internal_default_instance()) delete source_id_; +} + +void MetaTableRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void MetaTableRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:io.deephaven.proto.backplane.grpc.MetaTableRequest) + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + if (GetArenaForAllocation() == nullptr && result_id_ != nullptr) { + delete result_id_; + } + result_id_ = nullptr; + if (GetArenaForAllocation() == nullptr && source_id_ != nullptr) { + delete source_id_; + } + source_id_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* MetaTableRequest::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) { +#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure + while (!ctx->Done(&ptr)) { + uint32_t tag; + ptr = ::_pbi::ReadTag(ptr, &tag); + switch (tag >> 3) { + // .io.deephaven.proto.backplane.grpc.Ticket result_id = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_result_id(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + // .io.deephaven.proto.backplane.grpc.TableReference source_id = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_source_id(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; + default: + goto handle_unusual; + } // switch + handle_unusual: + if ((tag == 0) || ((tag & 7) == 4)) { + CHK_(ptr); + ctx->SetLastTag(tag); + goto message_done; + } + ptr = UnknownFieldParse( + tag, + _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(), + ptr, ctx); + CHK_(ptr != nullptr); + } // while +message_done: + return ptr; +failure: + ptr = nullptr; + goto message_done; +#undef CHK_ +} + +uint8_t* MetaTableRequest::_InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:io.deephaven.proto.backplane.grpc.MetaTableRequest) + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + // .io.deephaven.proto.backplane.grpc.Ticket result_id = 1; + if (this->_internal_has_result_id()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, _Internal::result_id(this), + _Internal::result_id(this).GetCachedSize(), target, stream); + } + + // .io.deephaven.proto.backplane.grpc.TableReference source_id = 2; + if (this->_internal_has_source_id()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(2, _Internal::source_id(this), + _Internal::source_id(this).GetCachedSize(), target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:io.deephaven.proto.backplane.grpc.MetaTableRequest) + return target; +} + +size_t MetaTableRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:io.deephaven.proto.backplane.grpc.MetaTableRequest) + size_t total_size = 0; + + uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .io.deephaven.proto.backplane.grpc.Ticket result_id = 1; + if (this->_internal_has_result_id()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *result_id_); + } + + // .io.deephaven.proto.backplane.grpc.TableReference source_id = 2; + if (this->_internal_has_source_id()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *source_id_); + } + + return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_); +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData MetaTableRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + MetaTableRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*MetaTableRequest::GetClassData() const { return &_class_data_; } + +void MetaTableRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, + const ::PROTOBUF_NAMESPACE_ID::Message& from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void MetaTableRequest::MergeFrom(const MetaTableRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:io.deephaven.proto.backplane.grpc.MetaTableRequest) + GOOGLE_DCHECK_NE(&from, this); + uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_result_id()) { + _internal_mutable_result_id()->::io::deephaven::proto::backplane::grpc::Ticket::MergeFrom(from._internal_result_id()); + } + if (from._internal_has_source_id()) { + _internal_mutable_source_id()->::io::deephaven::proto::backplane::grpc::TableReference::MergeFrom(from._internal_source_id()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void MetaTableRequest::CopyFrom(const MetaTableRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:io.deephaven.proto.backplane.grpc.MetaTableRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool MetaTableRequest::IsInitialized() const { + return true; +} + +void MetaTableRequest::InternalSwap(MetaTableRequest* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(MetaTableRequest, source_id_) + + sizeof(MetaTableRequest::source_id_) + - PROTOBUF_FIELD_OFFSET(MetaTableRequest, result_id_)>( + reinterpret_cast(&result_id_), + reinterpret_cast(&other->result_id_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata MetaTableRequest::GetMetadata() const { + return ::_pbi::AssignDescriptors( + &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, + file_level_metadata_deephaven_2fproto_2ftable_2eproto[92]); +} + +// =================================================================== + class RunChartDownsampleRequest_ZoomRange::_Internal { public: using HasBits = decltype(std::declval()._has_bits_); @@ -26506,7 +26780,7 @@ void RunChartDownsampleRequest_ZoomRange::InternalSwap(RunChartDownsampleRequest ::PROTOBUF_NAMESPACE_ID::Metadata RunChartDownsampleRequest_ZoomRange::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[92]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[93]); } // =================================================================== @@ -26899,7 +27173,7 @@ void RunChartDownsampleRequest::InternalSwap(RunChartDownsampleRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata RunChartDownsampleRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[93]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[94]); } // =================================================================== @@ -26938,7 +27212,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CreateInputTableRequest_InputT ::PROTOBUF_NAMESPACE_ID::Metadata CreateInputTableRequest_InputTableKind_InMemoryAppendOnly::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[94]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[95]); } // =================================================================== @@ -27121,7 +27395,7 @@ void CreateInputTableRequest_InputTableKind_InMemoryKeyBacked::InternalSwap(Crea ::PROTOBUF_NAMESPACE_ID::Metadata CreateInputTableRequest_InputTableKind_InMemoryKeyBacked::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[95]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[96]); } // =================================================================== @@ -27412,7 +27686,7 @@ void CreateInputTableRequest_InputTableKind::InternalSwap(CreateInputTableReques ::PROTOBUF_NAMESPACE_ID::Metadata CreateInputTableRequest_InputTableKind::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[96]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[97]); } // =================================================================== @@ -27777,7 +28051,7 @@ void CreateInputTableRequest::InternalSwap(CreateInputTableRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata CreateInputTableRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[97]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[98]); } // =================================================================== @@ -28120,7 +28394,7 @@ void WhereInRequest::InternalSwap(WhereInRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata WhereInRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[98]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[99]); } // =================================================================== @@ -28162,6 +28436,7 @@ class BatchTableRequest_Operation::_Internal { static const ::io::deephaven::proto::backplane::grpc::AggregateRequest& aggregate(const BatchTableRequest_Operation* msg); static const ::io::deephaven::proto::backplane::grpc::SnapshotTableRequest& snapshot(const BatchTableRequest_Operation* msg); static const ::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest& snapshot_when(const BatchTableRequest_Operation* msg); + static const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& meta_table(const BatchTableRequest_Operation* msg); }; const ::io::deephaven::proto::backplane::grpc::EmptyTableRequest& @@ -28304,6 +28579,10 @@ const ::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest& BatchTableRequest_Operation::_Internal::snapshot_when(const BatchTableRequest_Operation* msg) { return *msg->op_.snapshot_when_; } +const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& +BatchTableRequest_Operation::_Internal::meta_table(const BatchTableRequest_Operation* msg) { + return *msg->op_.meta_table_; +} void BatchTableRequest_Operation::set_allocated_empty_table(::io::deephaven::proto::backplane::grpc::EmptyTableRequest* empty_table) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); clear_op(); @@ -28829,6 +29108,21 @@ void BatchTableRequest_Operation::set_allocated_snapshot_when(::io::deephaven::p } // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.snapshot_when) } +void BatchTableRequest_Operation::set_allocated_meta_table(::io::deephaven::proto::backplane::grpc::MetaTableRequest* meta_table) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_op(); + if (meta_table) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(meta_table); + if (message_arena != submessage_arena) { + meta_table = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, meta_table, submessage_arena); + } + set_has_meta_table(); + op_.meta_table_ = meta_table; + } + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.meta_table) +} BatchTableRequest_Operation::BatchTableRequest_Operation(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { @@ -28980,6 +29274,10 @@ BatchTableRequest_Operation::BatchTableRequest_Operation(const BatchTableRequest _internal_mutable_snapshot_when()->::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest::MergeFrom(from._internal_snapshot_when()); break; } + case kMetaTable: { + _internal_mutable_meta_table()->::io::deephaven::proto::backplane::grpc::MetaTableRequest::MergeFrom(from._internal_meta_table()); + break; + } case OP_NOT_SET: { break; } @@ -29224,6 +29522,12 @@ void BatchTableRequest_Operation::clear_op() { } break; } + case kMetaTable: { + if (GetArenaForAllocation() == nullptr) { + delete op_.meta_table_; + } + break; + } case OP_NOT_SET: { break; } @@ -29528,6 +29832,14 @@ const char* BatchTableRequest_Operation::_InternalParse(const char* ptr, ::_pbi: } else goto handle_unusual; continue; + // .io.deephaven.proto.backplane.grpc.MetaTableRequest meta_table = 38; + case 38: + if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 50)) { + ptr = ctx->ParseMessage(_internal_mutable_meta_table(), ptr); + CHK_(ptr); + } else + goto handle_unusual; + continue; default: goto handle_unusual; } // switch @@ -29802,6 +30114,13 @@ uint8_t* BatchTableRequest_Operation::_InternalSerialize( _Internal::snapshot_when(this).GetCachedSize(), target, stream); } + // .io.deephaven.proto.backplane.grpc.MetaTableRequest meta_table = 38; + if (_internal_has_meta_table()) { + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(38, _Internal::meta_table(this), + _Internal::meta_table(this).GetCachedSize(), target, stream); + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream); @@ -30064,6 +30383,13 @@ size_t BatchTableRequest_Operation::ByteSizeLong() const { *op_.snapshot_when_); break; } + // .io.deephaven.proto.backplane.grpc.MetaTableRequest meta_table = 38; + case kMetaTable: { + total_size += 2 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *op_.meta_table_); + break; + } case OP_NOT_SET: { break; } @@ -30231,6 +30557,10 @@ void BatchTableRequest_Operation::MergeFrom(const BatchTableRequest_Operation& f _internal_mutable_snapshot_when()->::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest::MergeFrom(from._internal_snapshot_when()); break; } + case kMetaTable: { + _internal_mutable_meta_table()->::io::deephaven::proto::backplane::grpc::MetaTableRequest::MergeFrom(from._internal_meta_table()); + break; + } case OP_NOT_SET: { break; } @@ -30259,7 +30589,7 @@ void BatchTableRequest_Operation::InternalSwap(BatchTableRequest_Operation* othe ::PROTOBUF_NAMESPACE_ID::Metadata BatchTableRequest_Operation::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[99]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[100]); } // =================================================================== @@ -30437,7 +30767,7 @@ void BatchTableRequest::InternalSwap(BatchTableRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata BatchTableRequest::GetMetadata() const { return ::_pbi::AssignDescriptors( &descriptor_table_deephaven_2fproto_2ftable_2eproto_getter, &descriptor_table_deephaven_2fproto_2ftable_2eproto_once, - file_level_metadata_deephaven_2fproto_2ftable_2eproto[100]); + file_level_metadata_deephaven_2fproto_2ftable_2eproto[101]); } // @@protoc_insertion_point(namespace_scope) @@ -30815,6 +31145,10 @@ template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::grpc::FlattenReq Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::grpc::FlattenRequest >(Arena* arena) { return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::grpc::FlattenRequest >(arena); } +template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::grpc::MetaTableRequest* +Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::grpc::MetaTableRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::grpc::MetaTableRequest >(arena); +} template<> PROTOBUF_NOINLINE ::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest_ZoomRange* Arena::CreateMaybeMessage< ::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest_ZoomRange >(Arena* arena) { return Arena::CreateMessageInternal< ::io::deephaven::proto::backplane::grpc::RunChartDownsampleRequest_ZoomRange >(arena); diff --git a/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.h b/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.h index 530e1c96ad8..3048b2a4add 100644 --- a/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.h +++ b/cpp-client/deephaven/client/proto/deephaven/proto/table.pb.h @@ -247,6 +247,9 @@ extern MathContextDefaultTypeInternal _MathContext_default_instance_; class MergeTablesRequest; struct MergeTablesRequestDefaultTypeInternal; extern MergeTablesRequestDefaultTypeInternal _MergeTablesRequest_default_instance_; +class MetaTableRequest; +struct MetaTableRequestDefaultTypeInternal; +extern MetaTableRequestDefaultTypeInternal _MetaTableRequest_default_instance_; class NaturalJoinTablesRequest; struct NaturalJoinTablesRequestDefaultTypeInternal; extern NaturalJoinTablesRequestDefaultTypeInternal _NaturalJoinTablesRequest_default_instance_; @@ -426,6 +429,7 @@ template<> ::io::deephaven::proto::backplane::grpc::Literal* Arena::CreateMaybeM template<> ::io::deephaven::proto::backplane::grpc::MatchesCondition* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::MatchesCondition>(Arena*); template<> ::io::deephaven::proto::backplane::grpc::MathContext* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::MathContext>(Arena*); template<> ::io::deephaven::proto::backplane::grpc::MergeTablesRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::MergeTablesRequest>(Arena*); +template<> ::io::deephaven::proto::backplane::grpc::MetaTableRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::MetaTableRequest>(Arena*); template<> ::io::deephaven::proto::backplane::grpc::NaturalJoinTablesRequest* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::NaturalJoinTablesRequest>(Arena*); template<> ::io::deephaven::proto::backplane::grpc::NotCondition* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::NotCondition>(Arena*); template<> ::io::deephaven::proto::backplane::grpc::OrCondition* Arena::CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::OrCondition>(Arena*); @@ -17820,6 +17824,178 @@ class FlattenRequest final : }; // ------------------------------------------------------------------- +class MetaTableRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.grpc.MetaTableRequest) */ { + public: + inline MetaTableRequest() : MetaTableRequest(nullptr) {} + ~MetaTableRequest() override; + explicit PROTOBUF_CONSTEXPR MetaTableRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + MetaTableRequest(const MetaTableRequest& from); + MetaTableRequest(MetaTableRequest&& from) noexcept + : MetaTableRequest() { + *this = ::std::move(from); + } + + inline MetaTableRequest& operator=(const MetaTableRequest& from) { + CopyFrom(from); + return *this; + } + inline MetaTableRequest& operator=(MetaTableRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetOwningArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MetaTableRequest& default_instance() { + return *internal_default_instance(); + } + static inline const MetaTableRequest* internal_default_instance() { + return reinterpret_cast( + &_MetaTableRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 92; + + friend void swap(MetaTableRequest& a, MetaTableRequest& b) { + a.Swap(&b); + } + inline void Swap(MetaTableRequest* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() != nullptr && + GetOwningArena() == other->GetOwningArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetOwningArena() == other->GetOwningArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MetaTableRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + MetaTableRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const MetaTableRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const MetaTableRequest& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + uint8_t* _InternalSerialize( + uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(MetaTableRequest* other); + + private: + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "io.deephaven.proto.backplane.grpc.MetaTableRequest"; + } + protected: + explicit MetaTableRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kResultIdFieldNumber = 1, + kSourceIdFieldNumber = 2, + }; + // .io.deephaven.proto.backplane.grpc.Ticket result_id = 1; + bool has_result_id() const; + private: + bool _internal_has_result_id() const; + public: + void clear_result_id(); + const ::io::deephaven::proto::backplane::grpc::Ticket& result_id() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::grpc::Ticket* release_result_id(); + ::io::deephaven::proto::backplane::grpc::Ticket* mutable_result_id(); + void set_allocated_result_id(::io::deephaven::proto::backplane::grpc::Ticket* result_id); + private: + const ::io::deephaven::proto::backplane::grpc::Ticket& _internal_result_id() const; + ::io::deephaven::proto::backplane::grpc::Ticket* _internal_mutable_result_id(); + public: + void unsafe_arena_set_allocated_result_id( + ::io::deephaven::proto::backplane::grpc::Ticket* result_id); + ::io::deephaven::proto::backplane::grpc::Ticket* unsafe_arena_release_result_id(); + + // .io.deephaven.proto.backplane.grpc.TableReference source_id = 2; + bool has_source_id() const; + private: + bool _internal_has_source_id() const; + public: + void clear_source_id(); + const ::io::deephaven::proto::backplane::grpc::TableReference& source_id() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::grpc::TableReference* release_source_id(); + ::io::deephaven::proto::backplane::grpc::TableReference* mutable_source_id(); + void set_allocated_source_id(::io::deephaven::proto::backplane::grpc::TableReference* source_id); + private: + const ::io::deephaven::proto::backplane::grpc::TableReference& _internal_source_id() const; + ::io::deephaven::proto::backplane::grpc::TableReference* _internal_mutable_source_id(); + public: + void unsafe_arena_set_allocated_source_id( + ::io::deephaven::proto::backplane::grpc::TableReference* source_id); + ::io::deephaven::proto::backplane::grpc::TableReference* unsafe_arena_release_source_id(); + + // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.grpc.MetaTableRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::io::deephaven::proto::backplane::grpc::Ticket* result_id_; + ::io::deephaven::proto::backplane::grpc::TableReference* source_id_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_deephaven_2fproto_2ftable_2eproto; +}; +// ------------------------------------------------------------------- + class RunChartDownsampleRequest_ZoomRange final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange) */ { public: @@ -17868,7 +18044,7 @@ class RunChartDownsampleRequest_ZoomRange final : &_RunChartDownsampleRequest_ZoomRange_default_instance_); } static constexpr int kIndexInFileMessages = - 92; + 93; friend void swap(RunChartDownsampleRequest_ZoomRange& a, RunChartDownsampleRequest_ZoomRange& b) { a.Swap(&b); @@ -18031,7 +18207,7 @@ class RunChartDownsampleRequest final : &_RunChartDownsampleRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 93; + 94; friend void swap(RunChartDownsampleRequest& a, RunChartDownsampleRequest& b) { a.Swap(&b); @@ -18277,7 +18453,7 @@ class CreateInputTableRequest_InputTableKind_InMemoryAppendOnly final : &_CreateInputTableRequest_InputTableKind_InMemoryAppendOnly_default_instance_); } static constexpr int kIndexInFileMessages = - 94; + 95; friend void swap(CreateInputTableRequest_InputTableKind_InMemoryAppendOnly& a, CreateInputTableRequest_InputTableKind_InMemoryAppendOnly& b) { a.Swap(&b); @@ -18394,7 +18570,7 @@ class CreateInputTableRequest_InputTableKind_InMemoryKeyBacked final : &_CreateInputTableRequest_InputTableKind_InMemoryKeyBacked_default_instance_); } static constexpr int kIndexInFileMessages = - 95; + 96; friend void swap(CreateInputTableRequest_InputTableKind_InMemoryKeyBacked& a, CreateInputTableRequest_InputTableKind_InMemoryKeyBacked& b) { a.Swap(&b); @@ -18558,7 +18734,7 @@ class CreateInputTableRequest_InputTableKind final : &_CreateInputTableRequest_InputTableKind_default_instance_); } static constexpr int kIndexInFileMessages = - 96; + 97; friend void swap(CreateInputTableRequest_InputTableKind& a, CreateInputTableRequest_InputTableKind& b) { a.Swap(&b); @@ -18752,7 +18928,7 @@ class CreateInputTableRequest final : &_CreateInputTableRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 97; + 98; friend void swap(CreateInputTableRequest& a, CreateInputTableRequest& b) { a.Swap(&b); @@ -18979,7 +19155,7 @@ class WhereInRequest final : &_WhereInRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 98; + 99; friend void swap(WhereInRequest& a, WhereInRequest& b) { a.Swap(&b); @@ -19239,6 +19415,7 @@ class BatchTableRequest_Operation final : kAggregate = 35, kSnapshot = 36, kSnapshotWhen = 37, + kMetaTable = 38, OP_NOT_SET = 0, }; @@ -19247,7 +19424,7 @@ class BatchTableRequest_Operation final : &_BatchTableRequest_Operation_default_instance_); } static constexpr int kIndexInFileMessages = - 99; + 100; friend void swap(BatchTableRequest_Operation& a, BatchTableRequest_Operation& b) { a.Swap(&b); @@ -19353,6 +19530,7 @@ class BatchTableRequest_Operation final : kAggregateFieldNumber = 35, kSnapshotFieldNumber = 36, kSnapshotWhenFieldNumber = 37, + kMetaTableFieldNumber = 38, }; // .io.deephaven.proto.backplane.grpc.EmptyTableRequest empty_table = 1; bool has_empty_table() const; @@ -19984,6 +20162,24 @@ class BatchTableRequest_Operation final : ::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest* snapshot_when); ::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest* unsafe_arena_release_snapshot_when(); + // .io.deephaven.proto.backplane.grpc.MetaTableRequest meta_table = 38; + bool has_meta_table() const; + private: + bool _internal_has_meta_table() const; + public: + void clear_meta_table(); + const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& meta_table() const; + PROTOBUF_NODISCARD ::io::deephaven::proto::backplane::grpc::MetaTableRequest* release_meta_table(); + ::io::deephaven::proto::backplane::grpc::MetaTableRequest* mutable_meta_table(); + void set_allocated_meta_table(::io::deephaven::proto::backplane::grpc::MetaTableRequest* meta_table); + private: + const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& _internal_meta_table() const; + ::io::deephaven::proto::backplane::grpc::MetaTableRequest* _internal_mutable_meta_table(); + public: + void unsafe_arena_set_allocated_meta_table( + ::io::deephaven::proto::backplane::grpc::MetaTableRequest* meta_table); + ::io::deephaven::proto::backplane::grpc::MetaTableRequest* unsafe_arena_release_meta_table(); + void clear_op(); OpCase op_case() const; // @@protoc_insertion_point(class_scope:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation) @@ -20024,6 +20220,7 @@ class BatchTableRequest_Operation final : void set_has_aggregate(); void set_has_snapshot(); void set_has_snapshot_when(); + void set_has_meta_table(); inline bool has_op() const; inline void clear_has_op(); @@ -20069,6 +20266,7 @@ class BatchTableRequest_Operation final : ::io::deephaven::proto::backplane::grpc::AggregateRequest* aggregate_; ::io::deephaven::proto::backplane::grpc::SnapshotTableRequest* snapshot_; ::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest* snapshot_when_; + ::io::deephaven::proto::backplane::grpc::MetaTableRequest* meta_table_; } op_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; uint32_t _oneof_case_[1]; @@ -20125,7 +20323,7 @@ class BatchTableRequest final : &_BatchTableRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 100; + 101; friend void swap(BatchTableRequest& a, BatchTableRequest& b) { a.Swap(&b); @@ -36448,6 +36646,185 @@ inline void FlattenRequest::set_allocated_source_id(::io::deephaven::proto::back // ------------------------------------------------------------------- +// MetaTableRequest + +// .io.deephaven.proto.backplane.grpc.Ticket result_id = 1; +inline bool MetaTableRequest::_internal_has_result_id() const { + return this != internal_default_instance() && result_id_ != nullptr; +} +inline bool MetaTableRequest::has_result_id() const { + return _internal_has_result_id(); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& MetaTableRequest::_internal_result_id() const { + const ::io::deephaven::proto::backplane::grpc::Ticket* p = result_id_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_Ticket_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::Ticket& MetaTableRequest::result_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.grpc.MetaTableRequest.result_id) + return _internal_result_id(); +} +inline void MetaTableRequest::unsafe_arena_set_allocated_result_id( + ::io::deephaven::proto::backplane::grpc::Ticket* result_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id_); + } + result_id_ = result_id; + if (result_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.grpc.MetaTableRequest.result_id) +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* MetaTableRequest::release_result_id() { + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = result_id_; + result_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* MetaTableRequest::unsafe_arena_release_result_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.grpc.MetaTableRequest.result_id) + + ::io::deephaven::proto::backplane::grpc::Ticket* temp = result_id_; + result_id_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* MetaTableRequest::_internal_mutable_result_id() { + + if (result_id_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::Ticket>(GetArenaForAllocation()); + result_id_ = p; + } + return result_id_; +} +inline ::io::deephaven::proto::backplane::grpc::Ticket* MetaTableRequest::mutable_result_id() { + ::io::deephaven::proto::backplane::grpc::Ticket* _msg = _internal_mutable_result_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.grpc.MetaTableRequest.result_id) + return _msg; +} +inline void MetaTableRequest::set_allocated_result_id(::io::deephaven::proto::backplane::grpc::Ticket* result_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id_); + } + if (result_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(result_id)); + if (message_arena != submessage_arena) { + result_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, result_id, submessage_arena); + } + + } else { + + } + result_id_ = result_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.grpc.MetaTableRequest.result_id) +} + +// .io.deephaven.proto.backplane.grpc.TableReference source_id = 2; +inline bool MetaTableRequest::_internal_has_source_id() const { + return this != internal_default_instance() && source_id_ != nullptr; +} +inline bool MetaTableRequest::has_source_id() const { + return _internal_has_source_id(); +} +inline void MetaTableRequest::clear_source_id() { + if (GetArenaForAllocation() == nullptr && source_id_ != nullptr) { + delete source_id_; + } + source_id_ = nullptr; +} +inline const ::io::deephaven::proto::backplane::grpc::TableReference& MetaTableRequest::_internal_source_id() const { + const ::io::deephaven::proto::backplane::grpc::TableReference* p = source_id_; + return p != nullptr ? *p : reinterpret_cast( + ::io::deephaven::proto::backplane::grpc::_TableReference_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::TableReference& MetaTableRequest::source_id() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.grpc.MetaTableRequest.source_id) + return _internal_source_id(); +} +inline void MetaTableRequest::unsafe_arena_set_allocated_source_id( + ::io::deephaven::proto::backplane::grpc::TableReference* source_id) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(source_id_); + } + source_id_ = source_id; + if (source_id) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.grpc.MetaTableRequest.source_id) +} +inline ::io::deephaven::proto::backplane::grpc::TableReference* MetaTableRequest::release_source_id() { + + ::io::deephaven::proto::backplane::grpc::TableReference* temp = source_id_; + source_id_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::TableReference* MetaTableRequest::unsafe_arena_release_source_id() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.grpc.MetaTableRequest.source_id) + + ::io::deephaven::proto::backplane::grpc::TableReference* temp = source_id_; + source_id_ = nullptr; + return temp; +} +inline ::io::deephaven::proto::backplane::grpc::TableReference* MetaTableRequest::_internal_mutable_source_id() { + + if (source_id_ == nullptr) { + auto* p = CreateMaybeMessage<::io::deephaven::proto::backplane::grpc::TableReference>(GetArenaForAllocation()); + source_id_ = p; + } + return source_id_; +} +inline ::io::deephaven::proto::backplane::grpc::TableReference* MetaTableRequest::mutable_source_id() { + ::io::deephaven::proto::backplane::grpc::TableReference* _msg = _internal_mutable_source_id(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.grpc.MetaTableRequest.source_id) + return _msg; +} +inline void MetaTableRequest::set_allocated_source_id(::io::deephaven::proto::backplane::grpc::TableReference* source_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete source_id_; + } + if (source_id) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(source_id); + if (message_arena != submessage_arena) { + source_id = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, source_id, submessage_arena); + } + + } else { + + } + source_id_ = source_id; + // @@protoc_insertion_point(field_set_allocated:io.deephaven.proto.backplane.grpc.MetaTableRequest.source_id) +} + +// ------------------------------------------------------------------- + // RunChartDownsampleRequest_ZoomRange // optional int64 min_date_nanos = 1 [jstype = JS_STRING]; @@ -40461,6 +40838,80 @@ inline ::io::deephaven::proto::backplane::grpc::SnapshotWhenTableRequest* BatchT return _msg; } +// .io.deephaven.proto.backplane.grpc.MetaTableRequest meta_table = 38; +inline bool BatchTableRequest_Operation::_internal_has_meta_table() const { + return op_case() == kMetaTable; +} +inline bool BatchTableRequest_Operation::has_meta_table() const { + return _internal_has_meta_table(); +} +inline void BatchTableRequest_Operation::set_has_meta_table() { + _oneof_case_[0] = kMetaTable; +} +inline void BatchTableRequest_Operation::clear_meta_table() { + if (_internal_has_meta_table()) { + if (GetArenaForAllocation() == nullptr) { + delete op_.meta_table_; + } + clear_has_op(); + } +} +inline ::io::deephaven::proto::backplane::grpc::MetaTableRequest* BatchTableRequest_Operation::release_meta_table() { + // @@protoc_insertion_point(field_release:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.meta_table) + if (_internal_has_meta_table()) { + clear_has_op(); + ::io::deephaven::proto::backplane::grpc::MetaTableRequest* temp = op_.meta_table_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + op_.meta_table_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& BatchTableRequest_Operation::_internal_meta_table() const { + return _internal_has_meta_table() + ? *op_.meta_table_ + : reinterpret_cast< ::io::deephaven::proto::backplane::grpc::MetaTableRequest&>(::io::deephaven::proto::backplane::grpc::_MetaTableRequest_default_instance_); +} +inline const ::io::deephaven::proto::backplane::grpc::MetaTableRequest& BatchTableRequest_Operation::meta_table() const { + // @@protoc_insertion_point(field_get:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.meta_table) + return _internal_meta_table(); +} +inline ::io::deephaven::proto::backplane::grpc::MetaTableRequest* BatchTableRequest_Operation::unsafe_arena_release_meta_table() { + // @@protoc_insertion_point(field_unsafe_arena_release:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.meta_table) + if (_internal_has_meta_table()) { + clear_has_op(); + ::io::deephaven::proto::backplane::grpc::MetaTableRequest* temp = op_.meta_table_; + op_.meta_table_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void BatchTableRequest_Operation::unsafe_arena_set_allocated_meta_table(::io::deephaven::proto::backplane::grpc::MetaTableRequest* meta_table) { + clear_op(); + if (meta_table) { + set_has_meta_table(); + op_.meta_table_ = meta_table; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.meta_table) +} +inline ::io::deephaven::proto::backplane::grpc::MetaTableRequest* BatchTableRequest_Operation::_internal_mutable_meta_table() { + if (!_internal_has_meta_table()) { + clear_op(); + set_has_meta_table(); + op_.meta_table_ = CreateMaybeMessage< ::io::deephaven::proto::backplane::grpc::MetaTableRequest >(GetArenaForAllocation()); + } + return op_.meta_table_; +} +inline ::io::deephaven::proto::backplane::grpc::MetaTableRequest* BatchTableRequest_Operation::mutable_meta_table() { + ::io::deephaven::proto::backplane::grpc::MetaTableRequest* _msg = _internal_mutable_meta_table(); + // @@protoc_insertion_point(field_mutable:io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.meta_table) + return _msg; +} + inline bool BatchTableRequest_Operation::has_op() const { return op_case() != OP_NOT_SET; } @@ -40717,6 +41168,8 @@ BatchTableRequest::ops() const { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/go/internal/proto/table/table.pb.go b/go/internal/proto/table/table.pb.go index 770850e6dc1..d39167f0f27 100644 --- a/go/internal/proto/table/table.pb.go +++ b/go/internal/proto/table/table.pb.go @@ -4425,6 +4425,61 @@ func (x *FlattenRequest) GetSourceId() *TableReference { return nil } +type MetaTableRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ResultId *ticket.Ticket `protobuf:"bytes,1,opt,name=result_id,json=resultId,proto3" json:"result_id,omitempty"` + SourceId *TableReference `protobuf:"bytes,2,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"` +} + +func (x *MetaTableRequest) Reset() { + *x = MetaTableRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_deephaven_proto_table_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetaTableRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetaTableRequest) ProtoMessage() {} + +func (x *MetaTableRequest) ProtoReflect() protoreflect.Message { + mi := &file_deephaven_proto_table_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MetaTableRequest.ProtoReflect.Descriptor instead. +func (*MetaTableRequest) Descriptor() ([]byte, []int) { + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{50} +} + +func (x *MetaTableRequest) GetResultId() *ticket.Ticket { + if x != nil { + return x.ResultId + } + return nil +} + +func (x *MetaTableRequest) GetSourceId() *TableReference { + if x != nil { + return x.SourceId + } + return nil +} + type RunChartDownsampleRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4441,7 +4496,7 @@ type RunChartDownsampleRequest struct { func (x *RunChartDownsampleRequest) Reset() { *x = RunChartDownsampleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[50] + mi := &file_deephaven_proto_table_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4454,7 +4509,7 @@ func (x *RunChartDownsampleRequest) String() string { func (*RunChartDownsampleRequest) ProtoMessage() {} func (x *RunChartDownsampleRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[50] + mi := &file_deephaven_proto_table_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4467,7 +4522,7 @@ func (x *RunChartDownsampleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RunChartDownsampleRequest.ProtoReflect.Descriptor instead. func (*RunChartDownsampleRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{50} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{51} } func (x *RunChartDownsampleRequest) GetResultId() *ticket.Ticket { @@ -4530,7 +4585,7 @@ type CreateInputTableRequest struct { func (x *CreateInputTableRequest) Reset() { *x = CreateInputTableRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[51] + mi := &file_deephaven_proto_table_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4543,7 +4598,7 @@ func (x *CreateInputTableRequest) String() string { func (*CreateInputTableRequest) ProtoMessage() {} func (x *CreateInputTableRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[51] + mi := &file_deephaven_proto_table_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4556,7 +4611,7 @@ func (x *CreateInputTableRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateInputTableRequest.ProtoReflect.Descriptor instead. func (*CreateInputTableRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{51} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{52} } func (x *CreateInputTableRequest) GetResultId() *ticket.Ticket { @@ -4628,7 +4683,7 @@ type WhereInRequest struct { func (x *WhereInRequest) Reset() { *x = WhereInRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[52] + mi := &file_deephaven_proto_table_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4641,7 +4696,7 @@ func (x *WhereInRequest) String() string { func (*WhereInRequest) ProtoMessage() {} func (x *WhereInRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[52] + mi := &file_deephaven_proto_table_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4654,7 +4709,7 @@ func (x *WhereInRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WhereInRequest.ProtoReflect.Descriptor instead. func (*WhereInRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{52} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{53} } func (x *WhereInRequest) GetResultId() *ticket.Ticket { @@ -4703,7 +4758,7 @@ type BatchTableRequest struct { func (x *BatchTableRequest) Reset() { *x = BatchTableRequest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[53] + mi := &file_deephaven_proto_table_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4716,7 +4771,7 @@ func (x *BatchTableRequest) String() string { func (*BatchTableRequest) ProtoMessage() {} func (x *BatchTableRequest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[53] + mi := &file_deephaven_proto_table_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4729,7 +4784,7 @@ func (x *BatchTableRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BatchTableRequest.ProtoReflect.Descriptor instead. func (*BatchTableRequest) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{53} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{54} } func (x *BatchTableRequest) GetOps() []*BatchTableRequest_Operation { @@ -4772,7 +4827,7 @@ type UpdateByRequest_UpdateByOptions struct { func (x *UpdateByRequest_UpdateByOptions) Reset() { *x = UpdateByRequest_UpdateByOptions{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[54] + mi := &file_deephaven_proto_table_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4785,7 +4840,7 @@ func (x *UpdateByRequest_UpdateByOptions) String() string { func (*UpdateByRequest_UpdateByOptions) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOptions) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[54] + mi := &file_deephaven_proto_table_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4864,7 +4919,7 @@ type UpdateByRequest_UpdateByOperation struct { func (x *UpdateByRequest_UpdateByOperation) Reset() { *x = UpdateByRequest_UpdateByOperation{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[55] + mi := &file_deephaven_proto_table_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4877,7 +4932,7 @@ func (x *UpdateByRequest_UpdateByOperation) String() string { func (*UpdateByRequest_UpdateByOperation) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOperation) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[55] + mi := &file_deephaven_proto_table_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4929,7 +4984,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn struct { func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[56] + mi := &file_deephaven_proto_table_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4942,7 +4997,7 @@ func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn) String() string { func (*UpdateByRequest_UpdateByOperation_UpdateByColumn) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[56] + mi := &file_deephaven_proto_table_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4991,7 +5046,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec struct { func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[57] + mi := &file_deephaven_proto_table_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5004,7 +5059,7 @@ func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec) String() func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[57] + mi := &file_deephaven_proto_table_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5124,7 +5179,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumul func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeSum) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeSum{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[58] + mi := &file_deephaven_proto_table_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5138,7 +5193,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCum } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeSum) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[58] + mi := &file_deephaven_proto_table_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5163,7 +5218,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumul func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMin) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMin{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[59] + mi := &file_deephaven_proto_table_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5177,7 +5232,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCum } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMin) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[59] + mi := &file_deephaven_proto_table_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5202,7 +5257,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumul func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMax) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMax{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[60] + mi := &file_deephaven_proto_table_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5216,7 +5271,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCum } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMax) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[60] + mi := &file_deephaven_proto_table_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5241,7 +5296,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumul func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeProduct) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeProduct{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[61] + mi := &file_deephaven_proto_table_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5255,7 +5310,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCum } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeProduct) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[61] + mi := &file_deephaven_proto_table_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5280,7 +5335,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[62] + mi := &file_deephaven_proto_table_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5293,7 +5348,7 @@ func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByF func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[62] + mi := &file_deephaven_proto_table_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5322,7 +5377,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma s func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[63] + mi := &file_deephaven_proto_table_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5335,7 +5390,7 @@ func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByE func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma) ProtoMessage() {} func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[63] + mi := &file_deephaven_proto_table_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5387,7 +5442,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_U func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaOptions) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaOptions{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[64] + mi := &file_deephaven_proto_table_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5401,7 +5456,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaOptions) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[64] + mi := &file_deephaven_proto_table_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5474,7 +5529,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_U func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[65] + mi := &file_deephaven_proto_table_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5488,7 +5543,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[65] + mi := &file_deephaven_proto_table_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5554,7 +5609,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_U func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale_UpdateByEmaTicks) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale_UpdateByEmaTicks{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[66] + mi := &file_deephaven_proto_table_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5568,7 +5623,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale_UpdateByEmaTicks) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[66] + mi := &file_deephaven_proto_table_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5603,7 +5658,7 @@ type UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_U func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale_UpdateByEmaTime) Reset() { *x = UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale_UpdateByEmaTime{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[67] + mi := &file_deephaven_proto_table_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5617,7 +5672,7 @@ func (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma } func (x *UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale_UpdateByEmaTime) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[67] + mi := &file_deephaven_proto_table_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5662,7 +5717,7 @@ type ComboAggregateRequest_Aggregate struct { func (x *ComboAggregateRequest_Aggregate) Reset() { *x = ComboAggregateRequest_Aggregate{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[68] + mi := &file_deephaven_proto_table_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5675,7 +5730,7 @@ func (x *ComboAggregateRequest_Aggregate) String() string { func (*ComboAggregateRequest_Aggregate) ProtoMessage() {} func (x *ComboAggregateRequest_Aggregate) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[68] + mi := &file_deephaven_proto_table_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5741,7 +5796,7 @@ type AggSpec_AggSpecApproximatePercentile struct { func (x *AggSpec_AggSpecApproximatePercentile) Reset() { *x = AggSpec_AggSpecApproximatePercentile{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[69] + mi := &file_deephaven_proto_table_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5754,7 +5809,7 @@ func (x *AggSpec_AggSpecApproximatePercentile) String() string { func (*AggSpec_AggSpecApproximatePercentile) ProtoMessage() {} func (x *AggSpec_AggSpecApproximatePercentile) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[69] + mi := &file_deephaven_proto_table_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5796,7 +5851,7 @@ type AggSpec_AggSpecCountDistinct struct { func (x *AggSpec_AggSpecCountDistinct) Reset() { *x = AggSpec_AggSpecCountDistinct{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[70] + mi := &file_deephaven_proto_table_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5809,7 +5864,7 @@ func (x *AggSpec_AggSpecCountDistinct) String() string { func (*AggSpec_AggSpecCountDistinct) ProtoMessage() {} func (x *AggSpec_AggSpecCountDistinct) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[70] + mi := &file_deephaven_proto_table_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5844,7 +5899,7 @@ type AggSpec_AggSpecDistinct struct { func (x *AggSpec_AggSpecDistinct) Reset() { *x = AggSpec_AggSpecDistinct{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[71] + mi := &file_deephaven_proto_table_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5857,7 +5912,7 @@ func (x *AggSpec_AggSpecDistinct) String() string { func (*AggSpec_AggSpecDistinct) ProtoMessage() {} func (x *AggSpec_AggSpecDistinct) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[71] + mi := &file_deephaven_proto_table_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5894,7 +5949,7 @@ type AggSpec_AggSpecFormula struct { func (x *AggSpec_AggSpecFormula) Reset() { *x = AggSpec_AggSpecFormula{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[72] + mi := &file_deephaven_proto_table_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5907,7 +5962,7 @@ func (x *AggSpec_AggSpecFormula) String() string { func (*AggSpec_AggSpecFormula) ProtoMessage() {} func (x *AggSpec_AggSpecFormula) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[72] + mi := &file_deephaven_proto_table_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5950,7 +6005,7 @@ type AggSpec_AggSpecMedian struct { func (x *AggSpec_AggSpecMedian) Reset() { *x = AggSpec_AggSpecMedian{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[73] + mi := &file_deephaven_proto_table_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5963,7 +6018,7 @@ func (x *AggSpec_AggSpecMedian) String() string { func (*AggSpec_AggSpecMedian) ProtoMessage() {} func (x *AggSpec_AggSpecMedian) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[73] + mi := &file_deephaven_proto_table_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6001,7 +6056,7 @@ type AggSpec_AggSpecPercentile struct { func (x *AggSpec_AggSpecPercentile) Reset() { *x = AggSpec_AggSpecPercentile{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[74] + mi := &file_deephaven_proto_table_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6014,7 +6069,7 @@ func (x *AggSpec_AggSpecPercentile) String() string { func (*AggSpec_AggSpecPercentile) ProtoMessage() {} func (x *AggSpec_AggSpecPercentile) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[74] + mi := &file_deephaven_proto_table_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6056,7 +6111,7 @@ type AggSpec_AggSpecSorted struct { func (x *AggSpec_AggSpecSorted) Reset() { *x = AggSpec_AggSpecSorted{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[75] + mi := &file_deephaven_proto_table_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6069,7 +6124,7 @@ func (x *AggSpec_AggSpecSorted) String() string { func (*AggSpec_AggSpecSorted) ProtoMessage() {} func (x *AggSpec_AggSpecSorted) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[75] + mi := &file_deephaven_proto_table_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6104,7 +6159,7 @@ type AggSpec_AggSpecSortedColumn struct { func (x *AggSpec_AggSpecSortedColumn) Reset() { *x = AggSpec_AggSpecSortedColumn{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[76] + mi := &file_deephaven_proto_table_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6117,7 +6172,7 @@ func (x *AggSpec_AggSpecSortedColumn) String() string { func (*AggSpec_AggSpecSortedColumn) ProtoMessage() {} func (x *AggSpec_AggSpecSortedColumn) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[76] + mi := &file_deephaven_proto_table_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6153,7 +6208,7 @@ type AggSpec_AggSpecTDigest struct { func (x *AggSpec_AggSpecTDigest) Reset() { *x = AggSpec_AggSpecTDigest{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[77] + mi := &file_deephaven_proto_table_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6166,7 +6221,7 @@ func (x *AggSpec_AggSpecTDigest) String() string { func (*AggSpec_AggSpecTDigest) ProtoMessage() {} func (x *AggSpec_AggSpecTDigest) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[77] + mi := &file_deephaven_proto_table_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6203,7 +6258,7 @@ type AggSpec_AggSpecUnique struct { func (x *AggSpec_AggSpecUnique) Reset() { *x = AggSpec_AggSpecUnique{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[78] + mi := &file_deephaven_proto_table_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6216,7 +6271,7 @@ func (x *AggSpec_AggSpecUnique) String() string { func (*AggSpec_AggSpecUnique) ProtoMessage() {} func (x *AggSpec_AggSpecUnique) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[78] + mi := &file_deephaven_proto_table_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6269,7 +6324,7 @@ type AggSpec_AggSpecNonUniqueSentinel struct { func (x *AggSpec_AggSpecNonUniqueSentinel) Reset() { *x = AggSpec_AggSpecNonUniqueSentinel{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[79] + mi := &file_deephaven_proto_table_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6282,7 +6337,7 @@ func (x *AggSpec_AggSpecNonUniqueSentinel) String() string { func (*AggSpec_AggSpecNonUniqueSentinel) ProtoMessage() {} func (x *AggSpec_AggSpecNonUniqueSentinel) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[79] + mi := &file_deephaven_proto_table_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6454,7 +6509,7 @@ type AggSpec_AggSpecWeighted struct { func (x *AggSpec_AggSpecWeighted) Reset() { *x = AggSpec_AggSpecWeighted{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[80] + mi := &file_deephaven_proto_table_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6467,7 +6522,7 @@ func (x *AggSpec_AggSpecWeighted) String() string { func (*AggSpec_AggSpecWeighted) ProtoMessage() {} func (x *AggSpec_AggSpecWeighted) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[80] + mi := &file_deephaven_proto_table_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6499,7 +6554,7 @@ type AggSpec_AggSpecAbsSum struct { func (x *AggSpec_AggSpecAbsSum) Reset() { *x = AggSpec_AggSpecAbsSum{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[81] + mi := &file_deephaven_proto_table_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6512,7 +6567,7 @@ func (x *AggSpec_AggSpecAbsSum) String() string { func (*AggSpec_AggSpecAbsSum) ProtoMessage() {} func (x *AggSpec_AggSpecAbsSum) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[81] + mi := &file_deephaven_proto_table_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6537,7 +6592,7 @@ type AggSpec_AggSpecAvg struct { func (x *AggSpec_AggSpecAvg) Reset() { *x = AggSpec_AggSpecAvg{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[82] + mi := &file_deephaven_proto_table_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6550,7 +6605,7 @@ func (x *AggSpec_AggSpecAvg) String() string { func (*AggSpec_AggSpecAvg) ProtoMessage() {} func (x *AggSpec_AggSpecAvg) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[82] + mi := &file_deephaven_proto_table_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6575,7 +6630,7 @@ type AggSpec_AggSpecFirst struct { func (x *AggSpec_AggSpecFirst) Reset() { *x = AggSpec_AggSpecFirst{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[83] + mi := &file_deephaven_proto_table_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6588,7 +6643,7 @@ func (x *AggSpec_AggSpecFirst) String() string { func (*AggSpec_AggSpecFirst) ProtoMessage() {} func (x *AggSpec_AggSpecFirst) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[83] + mi := &file_deephaven_proto_table_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6613,7 +6668,7 @@ type AggSpec_AggSpecFreeze struct { func (x *AggSpec_AggSpecFreeze) Reset() { *x = AggSpec_AggSpecFreeze{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[84] + mi := &file_deephaven_proto_table_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6626,7 +6681,7 @@ func (x *AggSpec_AggSpecFreeze) String() string { func (*AggSpec_AggSpecFreeze) ProtoMessage() {} func (x *AggSpec_AggSpecFreeze) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[84] + mi := &file_deephaven_proto_table_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6651,7 +6706,7 @@ type AggSpec_AggSpecGroup struct { func (x *AggSpec_AggSpecGroup) Reset() { *x = AggSpec_AggSpecGroup{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[85] + mi := &file_deephaven_proto_table_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6664,7 +6719,7 @@ func (x *AggSpec_AggSpecGroup) String() string { func (*AggSpec_AggSpecGroup) ProtoMessage() {} func (x *AggSpec_AggSpecGroup) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[85] + mi := &file_deephaven_proto_table_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6689,7 +6744,7 @@ type AggSpec_AggSpecLast struct { func (x *AggSpec_AggSpecLast) Reset() { *x = AggSpec_AggSpecLast{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[86] + mi := &file_deephaven_proto_table_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6702,7 +6757,7 @@ func (x *AggSpec_AggSpecLast) String() string { func (*AggSpec_AggSpecLast) ProtoMessage() {} func (x *AggSpec_AggSpecLast) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[86] + mi := &file_deephaven_proto_table_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6727,7 +6782,7 @@ type AggSpec_AggSpecMax struct { func (x *AggSpec_AggSpecMax) Reset() { *x = AggSpec_AggSpecMax{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[87] + mi := &file_deephaven_proto_table_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6740,7 +6795,7 @@ func (x *AggSpec_AggSpecMax) String() string { func (*AggSpec_AggSpecMax) ProtoMessage() {} func (x *AggSpec_AggSpecMax) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[87] + mi := &file_deephaven_proto_table_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6765,7 +6820,7 @@ type AggSpec_AggSpecMin struct { func (x *AggSpec_AggSpecMin) Reset() { *x = AggSpec_AggSpecMin{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[88] + mi := &file_deephaven_proto_table_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6778,7 +6833,7 @@ func (x *AggSpec_AggSpecMin) String() string { func (*AggSpec_AggSpecMin) ProtoMessage() {} func (x *AggSpec_AggSpecMin) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[88] + mi := &file_deephaven_proto_table_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6803,7 +6858,7 @@ type AggSpec_AggSpecStd struct { func (x *AggSpec_AggSpecStd) Reset() { *x = AggSpec_AggSpecStd{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[89] + mi := &file_deephaven_proto_table_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6816,7 +6871,7 @@ func (x *AggSpec_AggSpecStd) String() string { func (*AggSpec_AggSpecStd) ProtoMessage() {} func (x *AggSpec_AggSpecStd) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[89] + mi := &file_deephaven_proto_table_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6841,7 +6896,7 @@ type AggSpec_AggSpecSum struct { func (x *AggSpec_AggSpecSum) Reset() { *x = AggSpec_AggSpecSum{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[90] + mi := &file_deephaven_proto_table_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6854,7 +6909,7 @@ func (x *AggSpec_AggSpecSum) String() string { func (*AggSpec_AggSpecSum) ProtoMessage() {} func (x *AggSpec_AggSpecSum) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[90] + mi := &file_deephaven_proto_table_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6879,7 +6934,7 @@ type AggSpec_AggSpecVar struct { func (x *AggSpec_AggSpecVar) Reset() { *x = AggSpec_AggSpecVar{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[91] + mi := &file_deephaven_proto_table_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6892,7 +6947,7 @@ func (x *AggSpec_AggSpecVar) String() string { func (*AggSpec_AggSpecVar) ProtoMessage() {} func (x *AggSpec_AggSpecVar) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[91] + mi := &file_deephaven_proto_table_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6920,7 +6975,7 @@ type Aggregation_AggregationColumns struct { func (x *Aggregation_AggregationColumns) Reset() { *x = Aggregation_AggregationColumns{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[92] + mi := &file_deephaven_proto_table_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6933,7 +6988,7 @@ func (x *Aggregation_AggregationColumns) String() string { func (*Aggregation_AggregationColumns) ProtoMessage() {} func (x *Aggregation_AggregationColumns) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[92] + mi := &file_deephaven_proto_table_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6975,7 +7030,7 @@ type Aggregation_AggregationCount struct { func (x *Aggregation_AggregationCount) Reset() { *x = Aggregation_AggregationCount{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[93] + mi := &file_deephaven_proto_table_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6988,7 +7043,7 @@ func (x *Aggregation_AggregationCount) String() string { func (*Aggregation_AggregationCount) ProtoMessage() {} func (x *Aggregation_AggregationCount) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[93] + mi := &file_deephaven_proto_table_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7022,7 +7077,7 @@ type Aggregation_AggregationRowKey struct { func (x *Aggregation_AggregationRowKey) Reset() { *x = Aggregation_AggregationRowKey{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[94] + mi := &file_deephaven_proto_table_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7035,7 +7090,7 @@ func (x *Aggregation_AggregationRowKey) String() string { func (*Aggregation_AggregationRowKey) ProtoMessage() {} func (x *Aggregation_AggregationRowKey) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[94] + mi := &file_deephaven_proto_table_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7070,7 +7125,7 @@ type Aggregation_AggregationPartition struct { func (x *Aggregation_AggregationPartition) Reset() { *x = Aggregation_AggregationPartition{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[95] + mi := &file_deephaven_proto_table_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7083,7 +7138,7 @@ func (x *Aggregation_AggregationPartition) String() string { func (*Aggregation_AggregationPartition) ProtoMessage() {} func (x *Aggregation_AggregationPartition) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[95] + mi := &file_deephaven_proto_table_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7125,7 +7180,7 @@ type RunChartDownsampleRequest_ZoomRange struct { func (x *RunChartDownsampleRequest_ZoomRange) Reset() { *x = RunChartDownsampleRequest_ZoomRange{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[96] + mi := &file_deephaven_proto_table_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7138,7 +7193,7 @@ func (x *RunChartDownsampleRequest_ZoomRange) String() string { func (*RunChartDownsampleRequest_ZoomRange) ProtoMessage() {} func (x *RunChartDownsampleRequest_ZoomRange) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[96] + mi := &file_deephaven_proto_table_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7151,7 +7206,7 @@ func (x *RunChartDownsampleRequest_ZoomRange) ProtoReflect() protoreflect.Messag // Deprecated: Use RunChartDownsampleRequest_ZoomRange.ProtoReflect.Descriptor instead. func (*RunChartDownsampleRequest_ZoomRange) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{50, 0} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{51, 0} } func (x *RunChartDownsampleRequest_ZoomRange) GetMinDateNanos() int64 { @@ -7183,7 +7238,7 @@ type CreateInputTableRequest_InputTableKind struct { func (x *CreateInputTableRequest_InputTableKind) Reset() { *x = CreateInputTableRequest_InputTableKind{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[97] + mi := &file_deephaven_proto_table_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7196,7 +7251,7 @@ func (x *CreateInputTableRequest_InputTableKind) String() string { func (*CreateInputTableRequest_InputTableKind) ProtoMessage() {} func (x *CreateInputTableRequest_InputTableKind) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[97] + mi := &file_deephaven_proto_table_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7209,7 +7264,7 @@ func (x *CreateInputTableRequest_InputTableKind) ProtoReflect() protoreflect.Mes // Deprecated: Use CreateInputTableRequest_InputTableKind.ProtoReflect.Descriptor instead. func (*CreateInputTableRequest_InputTableKind) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{51, 0} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{52, 0} } func (m *CreateInputTableRequest_InputTableKind) GetKind() isCreateInputTableRequest_InputTableKind_Kind { @@ -7261,7 +7316,7 @@ type CreateInputTableRequest_InputTableKind_InMemoryAppendOnly struct { func (x *CreateInputTableRequest_InputTableKind_InMemoryAppendOnly) Reset() { *x = CreateInputTableRequest_InputTableKind_InMemoryAppendOnly{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[98] + mi := &file_deephaven_proto_table_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7274,7 +7329,7 @@ func (x *CreateInputTableRequest_InputTableKind_InMemoryAppendOnly) String() str func (*CreateInputTableRequest_InputTableKind_InMemoryAppendOnly) ProtoMessage() {} func (x *CreateInputTableRequest_InputTableKind_InMemoryAppendOnly) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[98] + mi := &file_deephaven_proto_table_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7287,7 +7342,7 @@ func (x *CreateInputTableRequest_InputTableKind_InMemoryAppendOnly) ProtoReflect // Deprecated: Use CreateInputTableRequest_InputTableKind_InMemoryAppendOnly.ProtoReflect.Descriptor instead. func (*CreateInputTableRequest_InputTableKind_InMemoryAppendOnly) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{51, 0, 0} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{52, 0, 0} } // Creates an in-memory table that supports updates and deletes by keys. @@ -7302,7 +7357,7 @@ type CreateInputTableRequest_InputTableKind_InMemoryKeyBacked struct { func (x *CreateInputTableRequest_InputTableKind_InMemoryKeyBacked) Reset() { *x = CreateInputTableRequest_InputTableKind_InMemoryKeyBacked{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[99] + mi := &file_deephaven_proto_table_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7315,7 +7370,7 @@ func (x *CreateInputTableRequest_InputTableKind_InMemoryKeyBacked) String() stri func (*CreateInputTableRequest_InputTableKind_InMemoryKeyBacked) ProtoMessage() {} func (x *CreateInputTableRequest_InputTableKind_InMemoryKeyBacked) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[99] + mi := &file_deephaven_proto_table_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7328,7 +7383,7 @@ func (x *CreateInputTableRequest_InputTableKind_InMemoryKeyBacked) ProtoReflect( // Deprecated: Use CreateInputTableRequest_InputTableKind_InMemoryKeyBacked.ProtoReflect.Descriptor instead. func (*CreateInputTableRequest_InputTableKind_InMemoryKeyBacked) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{51, 0, 1} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{52, 0, 1} } func (x *CreateInputTableRequest_InputTableKind_InMemoryKeyBacked) GetKeyColumns() []string { @@ -7380,13 +7435,14 @@ type BatchTableRequest_Operation struct { // *BatchTableRequest_Operation_Aggregate // *BatchTableRequest_Operation_Snapshot // *BatchTableRequest_Operation_SnapshotWhen + // *BatchTableRequest_Operation_MetaTable Op isBatchTableRequest_Operation_Op `protobuf_oneof:"op"` } func (x *BatchTableRequest_Operation) Reset() { *x = BatchTableRequest_Operation{} if protoimpl.UnsafeEnabled { - mi := &file_deephaven_proto_table_proto_msgTypes[100] + mi := &file_deephaven_proto_table_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7399,7 +7455,7 @@ func (x *BatchTableRequest_Operation) String() string { func (*BatchTableRequest_Operation) ProtoMessage() {} func (x *BatchTableRequest_Operation) ProtoReflect() protoreflect.Message { - mi := &file_deephaven_proto_table_proto_msgTypes[100] + mi := &file_deephaven_proto_table_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7412,7 +7468,7 @@ func (x *BatchTableRequest_Operation) ProtoReflect() protoreflect.Message { // Deprecated: Use BatchTableRequest_Operation.ProtoReflect.Descriptor instead. func (*BatchTableRequest_Operation) Descriptor() ([]byte, []int) { - return file_deephaven_proto_table_proto_rawDescGZIP(), []int{53, 0} + return file_deephaven_proto_table_proto_rawDescGZIP(), []int{54, 0} } func (m *BatchTableRequest_Operation) GetOp() isBatchTableRequest_Operation_Op { @@ -7667,6 +7723,13 @@ func (x *BatchTableRequest_Operation) GetSnapshotWhen() *SnapshotWhenTableReques return nil } +func (x *BatchTableRequest_Operation) GetMetaTable() *MetaTableRequest { + if x, ok := x.GetOp().(*BatchTableRequest_Operation_MetaTable); ok { + return x.MetaTable + } + return nil +} + type isBatchTableRequest_Operation_Op interface { isBatchTableRequest_Operation_Op() } @@ -7811,6 +7874,10 @@ type BatchTableRequest_Operation_SnapshotWhen struct { SnapshotWhen *SnapshotWhenTableRequest `protobuf:"bytes,37,opt,name=snapshot_when,json=snapshotWhen,proto3,oneof"` } +type BatchTableRequest_Operation_MetaTable struct { + MetaTable *MetaTableRequest `protobuf:"bytes,38,opt,name=meta_table,json=metaTable,proto3,oneof"` +} + func (*BatchTableRequest_Operation_EmptyTable) isBatchTableRequest_Operation_Op() {} func (*BatchTableRequest_Operation_TimeTable) isBatchTableRequest_Operation_Op() {} @@ -7881,6 +7948,8 @@ func (*BatchTableRequest_Operation_Snapshot) isBatchTableRequest_Operation_Op() func (*BatchTableRequest_Operation_SnapshotWhen) isBatchTableRequest_Operation_Op() {} +func (*BatchTableRequest_Operation_MetaTable) isBatchTableRequest_Operation_Op() {} + var File_deephaven_proto_table_proto protoreflect.FileDescriptor var file_deephaven_proto_table_proto_rawDesc = []byte{ @@ -9144,377 +9213,402 @@ var file_deephaven_proto_table_proto_rawDesc = []byte{ 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, - 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x97, 0x04, 0x0a, 0x19, 0x52, 0x75, - 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x4d, 0x65, + 0x74, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, + 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x97, 0x04, 0x0a, 0x19, 0x52, 0x75, 0x6e, 0x43, 0x68, + 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, + 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x09, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, + 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x65, 0x0a, + 0x0a, 0x7a, 0x6f, 0x6f, 0x6d, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x46, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, + 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x5a, 0x6f, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x7a, 0x6f, 0x6f, 0x6d, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x78, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x78, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x79, 0x5f, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0c, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x1a, 0x8f, + 0x01, 0x0a, 0x09, 0x5a, 0x6f, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x0e, + 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x44, + 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x6d, + 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, 0x01, 0x48, 0x01, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x44, 0x61, + 0x74, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, + 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x42, 0x11, 0x0a, + 0x0f, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, + 0x22, 0xd1, 0x05, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x49, 0x64, 0x12, 0x5b, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x48, 0x00, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, + 0x64, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0c, 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x5d, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0x89, 0x03, 0x0a, 0x0e, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x91, 0x01, + 0x0a, 0x15, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x61, 0x70, 0x70, 0x65, + 0x6e, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5c, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, + 0x79, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x12, 0x69, + 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, + 0x79, 0x12, 0x8e, 0x01, 0x0a, 0x14, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, + 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x5b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, + 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x49, 0x6e, 0x4d, 0x65, + 0x6d, 0x6f, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x48, 0x00, 0x52, + 0x11, 0x69, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, + 0x65, 0x64, 0x1a, 0x14, 0x0a, 0x12, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, 0x70, + 0x70, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x1a, 0x34, 0x0a, 0x11, 0x49, 0x6e, 0x4d, 0x65, + 0x6d, 0x6f, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x1f, 0x0a, + 0x0b, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x65, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x42, 0x06, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb8, 0x02, 0x0a, 0x0e, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, - 0x4e, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, - 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x65, 0x0a, 0x0a, 0x7a, 0x6f, 0x6f, 0x6d, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, - 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x5a, 0x6f, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x7a, 0x6f, - 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x78, 0x5f, 0x63, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x78, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x79, - 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0c, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x1a, 0x8f, 0x01, 0x0a, 0x09, 0x5a, 0x6f, 0x6f, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, - 0x2d, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x6d, - 0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2d, - 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x30, 0x01, 0x48, 0x01, 0x52, 0x0c, 0x6d, 0x61, - 0x78, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, - 0x0f, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, - 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, - 0x6e, 0x6f, 0x73, 0x22, 0xd1, 0x05, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x64, 0x12, 0x5b, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x5d, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0x89, 0x03, - 0x0a, 0x0e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, - 0x12, 0x91, 0x01, 0x0a, 0x15, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x61, - 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x5c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x70, - 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x49, 0x6e, 0x4d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x48, 0x00, - 0x52, 0x12, 0x69, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, - 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x8e, 0x01, 0x0a, 0x14, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, - 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x5b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, - 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x49, - 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x64, - 0x48, 0x00, 0x52, 0x11, 0x69, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x64, 0x1a, 0x14, 0x0a, 0x12, 0x49, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, - 0x79, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x1a, 0x34, 0x0a, 0x11, 0x49, - 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x64, - 0x12, 0x1f, 0x0a, 0x0b, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x65, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x73, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb8, 0x02, 0x0a, 0x0e, 0x57, 0x68, 0x65, 0x72, - 0x65, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x07, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, 0x6c, 0x65, 0x66, 0x74, 0x49, 0x64, 0x12, 0x4c, - 0x0a, 0x08, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x4a, 0x0a, 0x07, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x52, 0x07, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, - 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x54, 0x6f, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x22, 0xd4, 0x19, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x03, 0x6f, 0x70, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x6f, 0x70, 0x73, 0x1a, 0xec, 0x18, 0x0a, 0x09, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0b, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x12, 0x54, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, + 0x6e, 0x63, 0x65, 0x52, 0x06, 0x6c, 0x65, 0x66, 0x74, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x08, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x73, 0x12, 0x52, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x0b, 0x6c, 0x61, 0x7a, 0x79, 0x5f, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6c, 0x61, 0x7a, 0x79, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x63, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x07, 0x72, 0x69, 0x67, 0x68, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x76, + 0x65, 0x72, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x76, + 0x65, 0x72, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0e, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x54, 0x6f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x22, + 0xaa, 0x1a, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x03, 0x6f, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x03, 0x6f, 0x70, 0x73, 0x1a, 0xc2, 0x19, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0b, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x48, 0x00, 0x52, 0x0a, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x54, + 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, - 0x76, 0x69, 0x65, 0x77, 0x12, 0x5b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, - 0x69, 0x65, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, + 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x12, 0x52, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x0b, 0x6c, 0x61, 0x7a, 0x79, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, - 0x77, 0x12, 0x52, 0x0a, 0x06, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x63, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, - 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x74, 0x0a, 0x13, 0x75, - 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, - 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x75, - 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x12, 0x49, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x6c, 0x61, 0x7a, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x12, 0x4e, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x4a, 0x0a, 0x04, - 0x68, 0x65, 0x61, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, - 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x4a, 0x0a, 0x04, 0x74, 0x61, 0x69, 0x6c, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x76, 0x69, 0x65, + 0x77, 0x12, 0x5b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, - 0x72, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, - 0x74, 0x61, 0x69, 0x6c, 0x12, 0x51, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x79, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x48, 0x00, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x52, + 0x0a, 0x06, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x12, 0x63, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, + 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x74, 0x0a, 0x13, 0x75, 0x6e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x75, 0x6e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x49, + 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x48, 0x00, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x4a, 0x0a, 0x04, 0x68, 0x65, 0x61, + 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, + 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, + 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x4a, 0x0a, 0x04, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, + 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x74, 0x61, 0x69, + 0x6c, 0x12, 0x51, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, + 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, + 0x61, 0x64, 0x42, 0x79, 0x12, 0x51, 0x0a, 0x07, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x62, 0x79, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x06, 0x68, 0x65, 0x61, 0x64, 0x42, 0x79, 0x12, 0x51, 0x0a, 0x07, 0x74, 0x61, 0x69, 0x6c, 0x5f, - 0x62, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x06, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x12, 0x4d, 0x0a, 0x07, 0x75, 0x6e, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, - 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x12, 0x4d, 0x0a, 0x07, 0x75, 0x6e, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x75, + 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x4d, 0x0a, 0x05, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, + 0x6d, 0x65, 0x72, 0x67, 0x65, 0x12, 0x63, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x5f, 0x61, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x62, + 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x4d, 0x0a, 0x07, 0x66, 0x6c, + 0x61, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x55, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, - 0x52, 0x07, 0x75, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x4d, 0x0a, 0x05, 0x6d, 0x65, 0x72, - 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, + 0x52, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x70, 0x0a, 0x14, 0x72, 0x75, 0x6e, + 0x5f, 0x63, 0x68, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x43, + 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x72, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, + 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x5a, 0x0a, 0x0a, 0x63, + 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x63, 0x72, + 0x6f, 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x60, 0x0a, 0x0c, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x61, 0x6c, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x5a, 0x0a, 0x0a, 0x65, 0x78, 0x61, + 0x63, 0x74, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x61, 0x63, + 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x57, 0x0a, 0x09, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x6a, 0x6f, + 0x69, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x65, 0x72, - 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, - 0x00, 0x52, 0x05, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x12, 0x63, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x62, - 0x6f, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x63, - 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x4d, 0x0a, - 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x70, 0x0a, 0x14, - 0x72, 0x75, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, - 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x72, 0x75, 0x6e, 0x43, - 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x5a, - 0x0a, 0x0a, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x17, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x65, 0x66, + 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x58, + 0x0a, 0x0a, 0x61, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x1b, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x09, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x60, 0x0a, 0x0c, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x61, 0x6c, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x0b, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x5a, 0x0a, 0x0a, - 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x73, 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, + 0x61, 0x73, 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x57, 0x0a, 0x0b, 0x66, 0x65, 0x74, 0x63, + 0x68, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x12, 0x73, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, + 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, 0x65, - 0x78, 0x61, 0x63, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x57, 0x0a, 0x09, 0x6c, 0x65, 0x66, 0x74, - 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, + 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, + 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, + 0x00, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x6a, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1f, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, + 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, + 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x51, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x79, 0x18, + 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x42, 0x79, 0x12, 0x4e, 0x0a, 0x08, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x69, + 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x68, 0x65, 0x72, + 0x65, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x77, 0x68, + 0x65, 0x72, 0x65, 0x49, 0x6e, 0x12, 0x5d, 0x0a, 0x0d, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x53, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x09, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x4c, 0x65, 0x66, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x4a, 0x6f, 0x69, - 0x6e, 0x12, 0x58, 0x0a, 0x0a, 0x61, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, - 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x73, 0x4f, 0x66, 0x4a, 0x6f, - 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, - 0x00, 0x52, 0x08, 0x61, 0x73, 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x57, 0x0a, 0x0b, 0x66, - 0x65, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x65, 0x74, 0x63, 0x68, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x12, 0x73, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x70, 0x72, - 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x1e, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, - 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, - 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x6a, 0x0a, 0x12, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, - 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x51, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x62, 0x79, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x12, 0x62, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x77, 0x68, 0x65, + 0x6e, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x57, 0x68, 0x65, 0x6e, 0x12, 0x54, 0x0a, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, 0x12, 0x4e, 0x0a, 0x08, 0x77, 0x68, 0x65, 0x72, - 0x65, 0x5f, 0x69, 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x57, - 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x07, 0x77, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x12, 0x5d, 0x0a, 0x0d, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x53, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x6f, 0x2e, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x65, 0x74, + 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, + 0x09, 0x6d, 0x65, 0x74, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x04, 0x0a, 0x02, 0x6f, 0x70, + 0x4a, 0x04, 0x08, 0x14, 0x10, 0x15, 0x4a, 0x04, 0x08, 0x1d, 0x10, 0x1e, 0x2a, 0x3d, 0x0a, 0x0f, + 0x42, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, + 0x09, 0x0a, 0x05, 0x54, 0x48, 0x52, 0x4f, 0x57, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, + 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x02, 0x12, + 0x0a, 0x0a, 0x06, 0x50, 0x4f, 0x49, 0x53, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x1b, 0x0a, 0x09, 0x4e, + 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x55, 0x4c, 0x4c, + 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x00, 0x2a, 0x32, 0x0a, 0x0f, 0x43, 0x61, 0x73, 0x65, + 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, + 0x41, 0x54, 0x43, 0x48, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49, + 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x01, 0x2a, 0x26, 0x0a, 0x09, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x47, + 0x55, 0x4c, 0x41, 0x52, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x56, 0x45, 0x52, 0x54, + 0x45, 0x44, 0x10, 0x01, 0x32, 0xe5, 0x2b, 0x0a, 0x0c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, - 0x00, 0x52, 0x09, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x55, 0x0a, 0x08, - 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, + 0x69, 0x63, 0x6b, 0x65, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x0a, 0x46, 0x65, + 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x74, + 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x12, 0x62, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, - 0x77, 0x68, 0x65, 0x6e, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, + 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x98, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, + 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x42, 0x04, 0x0a, 0x02, 0x6f, 0x70, 0x4a, 0x04, 0x08, - 0x14, 0x10, 0x15, 0x4a, 0x04, 0x08, 0x1d, 0x10, 0x1e, 0x2a, 0x3d, 0x0a, 0x0f, 0x42, 0x61, 0x64, - 0x44, 0x61, 0x74, 0x61, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x09, 0x0a, 0x05, - 0x54, 0x48, 0x52, 0x4f, 0x57, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x53, 0x45, 0x54, - 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, - 0x50, 0x4f, 0x49, 0x53, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x1b, 0x0a, 0x09, 0x4e, 0x75, 0x6c, 0x6c, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x56, 0x41, - 0x4c, 0x55, 0x45, 0x10, 0x00, 0x2a, 0x32, 0x0a, 0x0f, 0x43, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, - 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x41, 0x54, 0x43, - 0x48, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x47, 0x4e, 0x4f, - 0x52, 0x45, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x01, 0x2a, 0x26, 0x0a, 0x09, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, - 0x52, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x56, 0x45, 0x52, 0x54, 0x45, 0x44, 0x10, - 0x01, 0x32, 0xde, 0x2a, 0x0a, 0x0c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x63, 0x6b, - 0x65, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, + 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, + 0x0a, 0x0a, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x34, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x0a, 0x46, 0x65, 0x74, 0x63, 0x68, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x98, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, - 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x70, 0x70, 0x6c, - 0x79, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x0a, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x0b, 0x44, - 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x44, - 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, + 0x0a, 0x0b, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x35, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x4c, 0x61, 0x7a, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, @@ -9522,16 +9616,16 @@ var file_deephaven_proto_table_proto_rawDesc = []byte{ 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, - 0x01, 0x0a, 0x0a, 0x4c, 0x61, 0x7a, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x38, 0x2e, - 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, + 0x01, 0x0a, 0x04, 0x56, 0x69, 0x65, 0x77, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x04, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, @@ -9540,76 +9634,59 @@ var file_deephaven_proto_table_proto_rawDesc = []byte{ 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x65, - 0x77, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x22, 0x00, 0x12, 0x86, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x38, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x08, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x79, 0x12, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x8e, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x63, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x83, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9b, 0x01, 0x0a, 0x12, 0x55, 0x6e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x41, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x86, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x08, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x42, 0x79, 0x12, 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, - 0x0a, 0x0e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, - 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x83, - 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x9b, 0x01, 0x0a, 0x12, 0x55, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x41, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x55, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x6f, 0x72, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x34, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7f, 0x0a, 0x04, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x33, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x04, 0x54, 0x61, 0x69, 0x6c, 0x12, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, @@ -9617,196 +9694,213 @@ var file_deephaven_proto_table_proto_rawDesc = []byte{ 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x06, 0x48, 0x65, - 0x61, 0x64, 0x42, 0x79, 0x12, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, - 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, - 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x84, 0x01, 0x0a, 0x06, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x12, 0x36, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x07, 0x55, 0x6e, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x04, 0x54, 0x61, + 0x69, 0x6c, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, + 0x06, 0x48, 0x65, 0x61, 0x64, 0x42, 0x79, 0x12, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, + 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x06, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x12, 0x36, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x4f, 0x72, 0x54, 0x61, 0x69, 0x6c, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, 0x0a, 0x0b, 0x4d, - 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x69, 0x6f, 0x2e, - 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, - 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x4a, - 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x07, 0x55, + 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, - 0x6f, 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x88, 0x01, + 0x0a, 0x0b, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x35, 0x2e, + 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, + 0x63, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x94, 0x01, 0x0a, 0x11, 0x4e, 0x61, 0x74, - 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x3b, - 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x90, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4a, 0x6f, 0x69, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x6f, + 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x94, 0x01, 0x0a, 0x11, + 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x12, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x0e, 0x4c, 0x65, 0x66, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, - 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x65, 0x66, 0x74, 0x4a, 0x6f, - 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x0e, 0x41, 0x73, 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x22, 0x00, 0x12, 0x90, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x61, 0x63, 0x74, 0x4a, 0x6f, 0x69, 0x6e, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x73, 0x4f, 0x66, 0x4a, - 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x62, - 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x61, 0x63, 0x74, + 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x8a, 0x01, 0x0a, 0x0c, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x36, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, - 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x0e, 0x4c, 0x65, 0x66, 0x74, 0x4a, 0x6f, + 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, - 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, - 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x37, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x65, 0x66, + 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8f, 0x01, 0x0a, 0x0c, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x12, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, 0x0e, 0x41, 0x73, 0x4f, 0x66, 0x4a, + 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x73, + 0x4f, 0x66, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x91, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x62, + 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x38, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, + 0x6f, 0x6d, 0x62, 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x07, 0x46, 0x6c, 0x61, - 0x74, 0x74, 0x65, 0x6e, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x8a, 0x01, 0x0a, 0x0c, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x36, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, - 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, - 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x96, 0x01, 0x0a, 0x12, - 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x12, 0x3c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, - 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, - 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, - 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, - 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3a, 0x2e, 0x69, 0x6f, 0x2e, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, + 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, + 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, + 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x87, 0x01, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x37, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x07, 0x57, 0x68, - 0x65, 0x72, 0x65, 0x49, 0x6e, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8f, 0x01, 0x0a, 0x0c, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x12, 0x3b, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x68, 0x65, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x07, + 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, + 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, + 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6c, 0x61, 0x74, + 0x74, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, + 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x96, + 0x01, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x3c, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, - 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x75, 0x6e, 0x43, 0x68, 0x61, + 0x72, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x92, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3a, 0x2e, 0x69, + 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x83, 0x01, 0x0a, - 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, - 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, - 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x30, 0x01, 0x12, 0x99, 0x01, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3e, 0x2e, 0x69, 0x6f, - 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x69, 0x6f, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, + 0x07, 0x57, 0x68, 0x65, 0x72, 0x65, 0x49, 0x6e, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x68, 0x65, + 0x72, 0x65, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x72, - 0x0a, 0x07, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x83, 0x01, 0x0a, 0x05, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x34, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, - 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, - 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x69, + 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x99, 0x01, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3e, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, + 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, + 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x00, 0x30, + 0x01, 0x12, 0x72, 0x0a, 0x07, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x12, 0x31, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x42, 0x41, 0x48, 0x01, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2f, 0x64, - 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x6f, - 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x32, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x52, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x33, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x70, 0x6c, 0x61, + 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x69, 0x6f, 0x2e, 0x64, 0x65, + 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x62, 0x61, + 0x63, 0x6b, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x41, 0x48, 0x01, + 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, + 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, 0x65, 0x6e, 0x2f, 0x64, 0x65, 0x65, 0x70, 0x68, 0x61, 0x76, + 0x65, 0x6e, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -9822,7 +9916,7 @@ func file_deephaven_proto_table_proto_rawDescGZIP() []byte { } var file_deephaven_proto_table_proto_enumTypes = make([]protoimpl.EnumInfo, 9) -var file_deephaven_proto_table_proto_msgTypes = make([]protoimpl.MessageInfo, 101) +var file_deephaven_proto_table_proto_msgTypes = make([]protoimpl.MessageInfo, 102) var file_deephaven_proto_table_proto_goTypes = []interface{}{ (BadDataBehavior)(0), // 0: io.deephaven.proto.backplane.grpc.BadDataBehavior (NullValue)(0), // 1: io.deephaven.proto.backplane.grpc.NullValue @@ -9883,157 +9977,158 @@ var file_deephaven_proto_table_proto_goTypes = []interface{}{ (*ContainsCondition)(nil), // 56: io.deephaven.proto.backplane.grpc.ContainsCondition (*SearchCondition)(nil), // 57: io.deephaven.proto.backplane.grpc.SearchCondition (*FlattenRequest)(nil), // 58: io.deephaven.proto.backplane.grpc.FlattenRequest - (*RunChartDownsampleRequest)(nil), // 59: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest - (*CreateInputTableRequest)(nil), // 60: io.deephaven.proto.backplane.grpc.CreateInputTableRequest - (*WhereInRequest)(nil), // 61: io.deephaven.proto.backplane.grpc.WhereInRequest - (*BatchTableRequest)(nil), // 62: io.deephaven.proto.backplane.grpc.BatchTableRequest - (*UpdateByRequest_UpdateByOptions)(nil), // 63: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions - (*UpdateByRequest_UpdateByOperation)(nil), // 64: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation - (*UpdateByRequest_UpdateByOperation_UpdateByColumn)(nil), // 65: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec)(nil), // 66: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeSum)(nil), // 67: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeSum - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMin)(nil), // 68: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMin - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMax)(nil), // 69: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMax - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeProduct)(nil), // 70: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeProduct - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill)(nil), // 71: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByFill - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma)(nil), // 72: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaOptions)(nil), // 73: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale)(nil), // 74: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale_UpdateByEmaTicks)(nil), // 75: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale.UpdateByEmaTicks - (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale_UpdateByEmaTime)(nil), // 76: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale.UpdateByEmaTime - (*ComboAggregateRequest_Aggregate)(nil), // 77: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate - (*AggSpec_AggSpecApproximatePercentile)(nil), // 78: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecApproximatePercentile - (*AggSpec_AggSpecCountDistinct)(nil), // 79: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecCountDistinct - (*AggSpec_AggSpecDistinct)(nil), // 80: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecDistinct - (*AggSpec_AggSpecFormula)(nil), // 81: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFormula - (*AggSpec_AggSpecMedian)(nil), // 82: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMedian - (*AggSpec_AggSpecPercentile)(nil), // 83: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecPercentile - (*AggSpec_AggSpecSorted)(nil), // 84: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSorted - (*AggSpec_AggSpecSortedColumn)(nil), // 85: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedColumn - (*AggSpec_AggSpecTDigest)(nil), // 86: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecTDigest - (*AggSpec_AggSpecUnique)(nil), // 87: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUnique - (*AggSpec_AggSpecNonUniqueSentinel)(nil), // 88: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel - (*AggSpec_AggSpecWeighted)(nil), // 89: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeighted - (*AggSpec_AggSpecAbsSum)(nil), // 90: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAbsSum - (*AggSpec_AggSpecAvg)(nil), // 91: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAvg - (*AggSpec_AggSpecFirst)(nil), // 92: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFirst - (*AggSpec_AggSpecFreeze)(nil), // 93: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFreeze - (*AggSpec_AggSpecGroup)(nil), // 94: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecGroup - (*AggSpec_AggSpecLast)(nil), // 95: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecLast - (*AggSpec_AggSpecMax)(nil), // 96: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMax - (*AggSpec_AggSpecMin)(nil), // 97: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMin - (*AggSpec_AggSpecStd)(nil), // 98: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecStd - (*AggSpec_AggSpecSum)(nil), // 99: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSum - (*AggSpec_AggSpecVar)(nil), // 100: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecVar - (*Aggregation_AggregationColumns)(nil), // 101: io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumns - (*Aggregation_AggregationCount)(nil), // 102: io.deephaven.proto.backplane.grpc.Aggregation.AggregationCount - (*Aggregation_AggregationRowKey)(nil), // 103: io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKey - (*Aggregation_AggregationPartition)(nil), // 104: io.deephaven.proto.backplane.grpc.Aggregation.AggregationPartition - (*RunChartDownsampleRequest_ZoomRange)(nil), // 105: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange - (*CreateInputTableRequest_InputTableKind)(nil), // 106: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind - (*CreateInputTableRequest_InputTableKind_InMemoryAppendOnly)(nil), // 107: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryAppendOnly - (*CreateInputTableRequest_InputTableKind_InMemoryKeyBacked)(nil), // 108: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryKeyBacked - (*BatchTableRequest_Operation)(nil), // 109: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation - (*ticket.Ticket)(nil), // 110: io.deephaven.proto.backplane.grpc.Ticket + (*MetaTableRequest)(nil), // 59: io.deephaven.proto.backplane.grpc.MetaTableRequest + (*RunChartDownsampleRequest)(nil), // 60: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest + (*CreateInputTableRequest)(nil), // 61: io.deephaven.proto.backplane.grpc.CreateInputTableRequest + (*WhereInRequest)(nil), // 62: io.deephaven.proto.backplane.grpc.WhereInRequest + (*BatchTableRequest)(nil), // 63: io.deephaven.proto.backplane.grpc.BatchTableRequest + (*UpdateByRequest_UpdateByOptions)(nil), // 64: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions + (*UpdateByRequest_UpdateByOperation)(nil), // 65: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation + (*UpdateByRequest_UpdateByOperation_UpdateByColumn)(nil), // 66: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec)(nil), // 67: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeSum)(nil), // 68: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeSum + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMin)(nil), // 69: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMin + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMax)(nil), // 70: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMax + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeProduct)(nil), // 71: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeProduct + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill)(nil), // 72: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByFill + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma)(nil), // 73: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaOptions)(nil), // 74: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale)(nil), // 75: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale_UpdateByEmaTicks)(nil), // 76: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale.UpdateByEmaTicks + (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale_UpdateByEmaTime)(nil), // 77: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale.UpdateByEmaTime + (*ComboAggregateRequest_Aggregate)(nil), // 78: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate + (*AggSpec_AggSpecApproximatePercentile)(nil), // 79: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecApproximatePercentile + (*AggSpec_AggSpecCountDistinct)(nil), // 80: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecCountDistinct + (*AggSpec_AggSpecDistinct)(nil), // 81: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecDistinct + (*AggSpec_AggSpecFormula)(nil), // 82: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFormula + (*AggSpec_AggSpecMedian)(nil), // 83: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMedian + (*AggSpec_AggSpecPercentile)(nil), // 84: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecPercentile + (*AggSpec_AggSpecSorted)(nil), // 85: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSorted + (*AggSpec_AggSpecSortedColumn)(nil), // 86: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedColumn + (*AggSpec_AggSpecTDigest)(nil), // 87: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecTDigest + (*AggSpec_AggSpecUnique)(nil), // 88: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUnique + (*AggSpec_AggSpecNonUniqueSentinel)(nil), // 89: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel + (*AggSpec_AggSpecWeighted)(nil), // 90: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeighted + (*AggSpec_AggSpecAbsSum)(nil), // 91: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAbsSum + (*AggSpec_AggSpecAvg)(nil), // 92: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAvg + (*AggSpec_AggSpecFirst)(nil), // 93: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFirst + (*AggSpec_AggSpecFreeze)(nil), // 94: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFreeze + (*AggSpec_AggSpecGroup)(nil), // 95: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecGroup + (*AggSpec_AggSpecLast)(nil), // 96: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecLast + (*AggSpec_AggSpecMax)(nil), // 97: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMax + (*AggSpec_AggSpecMin)(nil), // 98: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMin + (*AggSpec_AggSpecStd)(nil), // 99: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecStd + (*AggSpec_AggSpecSum)(nil), // 100: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSum + (*AggSpec_AggSpecVar)(nil), // 101: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecVar + (*Aggregation_AggregationColumns)(nil), // 102: io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumns + (*Aggregation_AggregationCount)(nil), // 103: io.deephaven.proto.backplane.grpc.Aggregation.AggregationCount + (*Aggregation_AggregationRowKey)(nil), // 104: io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKey + (*Aggregation_AggregationPartition)(nil), // 105: io.deephaven.proto.backplane.grpc.Aggregation.AggregationPartition + (*RunChartDownsampleRequest_ZoomRange)(nil), // 106: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange + (*CreateInputTableRequest_InputTableKind)(nil), // 107: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind + (*CreateInputTableRequest_InputTableKind_InMemoryAppendOnly)(nil), // 108: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryAppendOnly + (*CreateInputTableRequest_InputTableKind_InMemoryKeyBacked)(nil), // 109: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryKeyBacked + (*BatchTableRequest_Operation)(nil), // 110: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation + (*ticket.Ticket)(nil), // 111: io.deephaven.proto.backplane.grpc.Ticket } var file_deephaven_proto_table_proto_depIdxs = []int32{ - 110, // 0: io.deephaven.proto.backplane.grpc.TableReference.ticket:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 0: io.deephaven.proto.backplane.grpc.TableReference.ticket:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 1: io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse.result_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 9, // 2: io.deephaven.proto.backplane.grpc.FetchTableRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 110, // 3: io.deephaven.proto.backplane.grpc.FetchTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 3: io.deephaven.proto.backplane.grpc.FetchTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 4: io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 110, // 5: io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 110, // 6: io.deephaven.proto.backplane.grpc.ExportedTableUpdateMessage.export_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 110, // 7: io.deephaven.proto.backplane.grpc.EmptyTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 110, // 8: io.deephaven.proto.backplane.grpc.TimeTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 110, // 9: io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 5: io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 6: io.deephaven.proto.backplane.grpc.ExportedTableUpdateMessage.export_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 7: io.deephaven.proto.backplane.grpc.EmptyTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 8: io.deephaven.proto.backplane.grpc.TimeTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 9: io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 10: io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 4, // 11: io.deephaven.proto.backplane.grpc.MathContext.rounding_mode:type_name -> io.deephaven.proto.backplane.grpc.MathContext.RoundingMode - 110, // 12: io.deephaven.proto.backplane.grpc.UpdateByRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 12: io.deephaven.proto.backplane.grpc.UpdateByRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 13: io.deephaven.proto.backplane.grpc.UpdateByRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 63, // 14: io.deephaven.proto.backplane.grpc.UpdateByRequest.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions - 64, // 15: io.deephaven.proto.backplane.grpc.UpdateByRequest.operations:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation - 110, // 16: io.deephaven.proto.backplane.grpc.SelectDistinctRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 64, // 14: io.deephaven.proto.backplane.grpc.UpdateByRequest.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions + 65, // 15: io.deephaven.proto.backplane.grpc.UpdateByRequest.operations:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation + 111, // 16: io.deephaven.proto.backplane.grpc.SelectDistinctRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 17: io.deephaven.proto.backplane.grpc.SelectDistinctRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 110, // 18: io.deephaven.proto.backplane.grpc.DropColumnsRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 18: io.deephaven.proto.backplane.grpc.DropColumnsRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 19: io.deephaven.proto.backplane.grpc.DropColumnsRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 110, // 20: io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 20: io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 21: io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 110, // 22: io.deephaven.proto.backplane.grpc.HeadOrTailRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 22: io.deephaven.proto.backplane.grpc.HeadOrTailRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 23: io.deephaven.proto.backplane.grpc.HeadOrTailRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 110, // 24: io.deephaven.proto.backplane.grpc.HeadOrTailByRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 24: io.deephaven.proto.backplane.grpc.HeadOrTailByRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 25: io.deephaven.proto.backplane.grpc.HeadOrTailByRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 110, // 26: io.deephaven.proto.backplane.grpc.UngroupRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 26: io.deephaven.proto.backplane.grpc.UngroupRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 27: io.deephaven.proto.backplane.grpc.UngroupRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 110, // 28: io.deephaven.proto.backplane.grpc.MergeTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 28: io.deephaven.proto.backplane.grpc.MergeTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 29: io.deephaven.proto.backplane.grpc.MergeTablesRequest.source_ids:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 110, // 30: io.deephaven.proto.backplane.grpc.SnapshotTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 30: io.deephaven.proto.backplane.grpc.SnapshotTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 31: io.deephaven.proto.backplane.grpc.SnapshotTableRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 110, // 32: io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 32: io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 33: io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest.base_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 9, // 34: io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest.trigger_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 110, // 35: io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 35: io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 36: io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 9, // 37: io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 110, // 38: io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 38: io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 39: io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 9, // 40: io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 110, // 41: io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 41: io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 42: io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 9, // 43: io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 110, // 44: io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 44: io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 45: io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 9, // 46: io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 110, // 47: io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 47: io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 48: io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 9, // 49: io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 5, // 50: io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.as_of_match_rule:type_name -> io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.MatchRule - 110, // 51: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 51: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 52: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 77, // 53: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.aggregates:type_name -> io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate - 110, // 54: io.deephaven.proto.backplane.grpc.AggregateAllRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 78, // 53: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.aggregates:type_name -> io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate + 111, // 54: io.deephaven.proto.backplane.grpc.AggregateAllRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 55: io.deephaven.proto.backplane.grpc.AggregateAllRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 36, // 56: io.deephaven.proto.backplane.grpc.AggregateAllRequest.spec:type_name -> io.deephaven.proto.backplane.grpc.AggSpec - 90, // 57: io.deephaven.proto.backplane.grpc.AggSpec.abs_sum:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAbsSum - 78, // 58: io.deephaven.proto.backplane.grpc.AggSpec.approximate_percentile:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecApproximatePercentile - 91, // 59: io.deephaven.proto.backplane.grpc.AggSpec.avg:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAvg - 79, // 60: io.deephaven.proto.backplane.grpc.AggSpec.count_distinct:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecCountDistinct - 80, // 61: io.deephaven.proto.backplane.grpc.AggSpec.distinct:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecDistinct - 92, // 62: io.deephaven.proto.backplane.grpc.AggSpec.first:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFirst - 81, // 63: io.deephaven.proto.backplane.grpc.AggSpec.formula:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFormula - 93, // 64: io.deephaven.proto.backplane.grpc.AggSpec.freeze:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFreeze - 94, // 65: io.deephaven.proto.backplane.grpc.AggSpec.group:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecGroup - 95, // 66: io.deephaven.proto.backplane.grpc.AggSpec.last:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecLast - 96, // 67: io.deephaven.proto.backplane.grpc.AggSpec.max:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMax - 82, // 68: io.deephaven.proto.backplane.grpc.AggSpec.median:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMedian - 97, // 69: io.deephaven.proto.backplane.grpc.AggSpec.min:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMin - 83, // 70: io.deephaven.proto.backplane.grpc.AggSpec.percentile:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecPercentile - 84, // 71: io.deephaven.proto.backplane.grpc.AggSpec.sorted_first:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSorted - 84, // 72: io.deephaven.proto.backplane.grpc.AggSpec.sorted_last:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSorted - 98, // 73: io.deephaven.proto.backplane.grpc.AggSpec.std:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecStd - 99, // 74: io.deephaven.proto.backplane.grpc.AggSpec.sum:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSum - 86, // 75: io.deephaven.proto.backplane.grpc.AggSpec.t_digest:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecTDigest - 87, // 76: io.deephaven.proto.backplane.grpc.AggSpec.unique:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUnique - 89, // 77: io.deephaven.proto.backplane.grpc.AggSpec.weighted_avg:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeighted - 89, // 78: io.deephaven.proto.backplane.grpc.AggSpec.weighted_sum:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeighted - 100, // 79: io.deephaven.proto.backplane.grpc.AggSpec.var:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecVar - 110, // 80: io.deephaven.proto.backplane.grpc.AggregateRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 91, // 57: io.deephaven.proto.backplane.grpc.AggSpec.abs_sum:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAbsSum + 79, // 58: io.deephaven.proto.backplane.grpc.AggSpec.approximate_percentile:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecApproximatePercentile + 92, // 59: io.deephaven.proto.backplane.grpc.AggSpec.avg:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAvg + 80, // 60: io.deephaven.proto.backplane.grpc.AggSpec.count_distinct:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecCountDistinct + 81, // 61: io.deephaven.proto.backplane.grpc.AggSpec.distinct:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecDistinct + 93, // 62: io.deephaven.proto.backplane.grpc.AggSpec.first:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFirst + 82, // 63: io.deephaven.proto.backplane.grpc.AggSpec.formula:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFormula + 94, // 64: io.deephaven.proto.backplane.grpc.AggSpec.freeze:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFreeze + 95, // 65: io.deephaven.proto.backplane.grpc.AggSpec.group:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecGroup + 96, // 66: io.deephaven.proto.backplane.grpc.AggSpec.last:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecLast + 97, // 67: io.deephaven.proto.backplane.grpc.AggSpec.max:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMax + 83, // 68: io.deephaven.proto.backplane.grpc.AggSpec.median:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMedian + 98, // 69: io.deephaven.proto.backplane.grpc.AggSpec.min:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMin + 84, // 70: io.deephaven.proto.backplane.grpc.AggSpec.percentile:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecPercentile + 85, // 71: io.deephaven.proto.backplane.grpc.AggSpec.sorted_first:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSorted + 85, // 72: io.deephaven.proto.backplane.grpc.AggSpec.sorted_last:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSorted + 99, // 73: io.deephaven.proto.backplane.grpc.AggSpec.std:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecStd + 100, // 74: io.deephaven.proto.backplane.grpc.AggSpec.sum:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSum + 87, // 75: io.deephaven.proto.backplane.grpc.AggSpec.t_digest:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecTDigest + 88, // 76: io.deephaven.proto.backplane.grpc.AggSpec.unique:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUnique + 90, // 77: io.deephaven.proto.backplane.grpc.AggSpec.weighted_avg:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeighted + 90, // 78: io.deephaven.proto.backplane.grpc.AggSpec.weighted_sum:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeighted + 101, // 79: io.deephaven.proto.backplane.grpc.AggSpec.var:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecVar + 111, // 80: io.deephaven.proto.backplane.grpc.AggregateRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 81: io.deephaven.proto.backplane.grpc.AggregateRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 9, // 82: io.deephaven.proto.backplane.grpc.AggregateRequest.initial_groups_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 38, // 83: io.deephaven.proto.backplane.grpc.AggregateRequest.aggregations:type_name -> io.deephaven.proto.backplane.grpc.Aggregation - 101, // 84: io.deephaven.proto.backplane.grpc.Aggregation.columns:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumns - 102, // 85: io.deephaven.proto.backplane.grpc.Aggregation.count:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationCount - 103, // 86: io.deephaven.proto.backplane.grpc.Aggregation.first_row_key:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKey - 103, // 87: io.deephaven.proto.backplane.grpc.Aggregation.last_row_key:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKey - 104, // 88: io.deephaven.proto.backplane.grpc.Aggregation.partition:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationPartition + 102, // 84: io.deephaven.proto.backplane.grpc.Aggregation.columns:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumns + 103, // 85: io.deephaven.proto.backplane.grpc.Aggregation.count:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationCount + 104, // 86: io.deephaven.proto.backplane.grpc.Aggregation.first_row_key:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKey + 104, // 87: io.deephaven.proto.backplane.grpc.Aggregation.last_row_key:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKey + 105, // 88: io.deephaven.proto.backplane.grpc.Aggregation.partition:type_name -> io.deephaven.proto.backplane.grpc.Aggregation.AggregationPartition 7, // 89: io.deephaven.proto.backplane.grpc.SortDescriptor.direction:type_name -> io.deephaven.proto.backplane.grpc.SortDescriptor.SortDirection - 110, // 90: io.deephaven.proto.backplane.grpc.SortTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 90: io.deephaven.proto.backplane.grpc.SortTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 91: io.deephaven.proto.backplane.grpc.SortTableRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 39, // 92: io.deephaven.proto.backplane.grpc.SortTableRequest.sorts:type_name -> io.deephaven.proto.backplane.grpc.SortDescriptor - 110, // 93: io.deephaven.proto.backplane.grpc.FilterTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 93: io.deephaven.proto.backplane.grpc.FilterTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 94: io.deephaven.proto.backplane.grpc.FilterTableRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference 47, // 95: io.deephaven.proto.backplane.grpc.FilterTableRequest.filters:type_name -> io.deephaven.proto.backplane.grpc.Condition - 110, // 96: io.deephaven.proto.backplane.grpc.SeekRowRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 96: io.deephaven.proto.backplane.grpc.SeekRowRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 45, // 97: io.deephaven.proto.backplane.grpc.SeekRowRequest.seek_value:type_name -> io.deephaven.proto.backplane.grpc.Literal 44, // 98: io.deephaven.proto.backplane.grpc.Value.reference:type_name -> io.deephaven.proto.backplane.grpc.Reference 45, // 99: io.deephaven.proto.backplane.grpc.Value.literal:type_name -> io.deephaven.proto.backplane.grpc.Literal @@ -10068,162 +10163,167 @@ var file_deephaven_proto_table_proto_depIdxs = []int32{ 2, // 128: io.deephaven.proto.backplane.grpc.ContainsCondition.case_sensitivity:type_name -> io.deephaven.proto.backplane.grpc.CaseSensitivity 3, // 129: io.deephaven.proto.backplane.grpc.ContainsCondition.match_type:type_name -> io.deephaven.proto.backplane.grpc.MatchType 44, // 130: io.deephaven.proto.backplane.grpc.SearchCondition.optional_references:type_name -> io.deephaven.proto.backplane.grpc.Reference - 110, // 131: io.deephaven.proto.backplane.grpc.FlattenRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 111, // 131: io.deephaven.proto.backplane.grpc.FlattenRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket 9, // 132: io.deephaven.proto.backplane.grpc.FlattenRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 110, // 133: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 9, // 134: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 105, // 135: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.zoom_range:type_name -> io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange - 110, // 136: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 9, // 137: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.source_table_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 106, // 138: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.kind:type_name -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind - 110, // 139: io.deephaven.proto.backplane.grpc.WhereInRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket - 9, // 140: io.deephaven.proto.backplane.grpc.WhereInRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 9, // 141: io.deephaven.proto.backplane.grpc.WhereInRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference - 109, // 142: io.deephaven.proto.backplane.grpc.BatchTableRequest.ops:type_name -> io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation - 18, // 143: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions.math_context:type_name -> io.deephaven.proto.backplane.grpc.MathContext - 65, // 144: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.column:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn - 66, // 145: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.spec:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec - 67, // 146: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.sum:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeSum - 68, // 147: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.min:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMin - 69, // 148: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.max:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMax - 70, // 149: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.product:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeProduct - 71, // 150: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.fill:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByFill - 72, // 151: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.ema:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma - 73, // 152: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions - 74, // 153: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.timescale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale - 0, // 154: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions.on_null_value:type_name -> io.deephaven.proto.backplane.grpc.BadDataBehavior - 0, // 155: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions.on_nan_value:type_name -> io.deephaven.proto.backplane.grpc.BadDataBehavior - 0, // 156: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions.on_null_time:type_name -> io.deephaven.proto.backplane.grpc.BadDataBehavior - 0, // 157: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions.on_negative_delta_time:type_name -> io.deephaven.proto.backplane.grpc.BadDataBehavior - 0, // 158: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions.on_zero_delta_time:type_name -> io.deephaven.proto.backplane.grpc.BadDataBehavior - 18, // 159: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions.big_value_context:type_name -> io.deephaven.proto.backplane.grpc.MathContext - 75, // 160: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale.ticks:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale.UpdateByEmaTicks - 76, // 161: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale.time:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale.UpdateByEmaTime - 6, // 162: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate.type:type_name -> io.deephaven.proto.backplane.grpc.ComboAggregateRequest.AggType - 85, // 163: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSorted.columns:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedColumn - 88, // 164: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUnique.non_unique_sentinel:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel - 1, // 165: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel.null_value:type_name -> io.deephaven.proto.backplane.grpc.NullValue - 36, // 166: io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumns.spec:type_name -> io.deephaven.proto.backplane.grpc.AggSpec - 107, // 167: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.in_memory_append_only:type_name -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryAppendOnly - 108, // 168: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.in_memory_key_backed:type_name -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryKeyBacked - 15, // 169: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.empty_table:type_name -> io.deephaven.proto.backplane.grpc.EmptyTableRequest - 16, // 170: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.time_table:type_name -> io.deephaven.proto.backplane.grpc.TimeTableRequest - 21, // 171: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.drop_columns:type_name -> io.deephaven.proto.backplane.grpc.DropColumnsRequest - 17, // 172: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.update:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 17, // 173: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.lazy_update:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 17, // 174: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.view:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 17, // 175: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.update_view:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 17, // 176: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.select:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 20, // 177: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.select_distinct:type_name -> io.deephaven.proto.backplane.grpc.SelectDistinctRequest - 41, // 178: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.filter:type_name -> io.deephaven.proto.backplane.grpc.FilterTableRequest - 22, // 179: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.unstructured_filter:type_name -> io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest - 40, // 180: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.sort:type_name -> io.deephaven.proto.backplane.grpc.SortTableRequest - 23, // 181: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.head:type_name -> io.deephaven.proto.backplane.grpc.HeadOrTailRequest - 23, // 182: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.tail:type_name -> io.deephaven.proto.backplane.grpc.HeadOrTailRequest - 24, // 183: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.head_by:type_name -> io.deephaven.proto.backplane.grpc.HeadOrTailByRequest - 24, // 184: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.tail_by:type_name -> io.deephaven.proto.backplane.grpc.HeadOrTailByRequest - 25, // 185: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.ungroup:type_name -> io.deephaven.proto.backplane.grpc.UngroupRequest - 26, // 186: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.merge:type_name -> io.deephaven.proto.backplane.grpc.MergeTablesRequest - 34, // 187: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.combo_aggregate:type_name -> io.deephaven.proto.backplane.grpc.ComboAggregateRequest - 58, // 188: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.flatten:type_name -> io.deephaven.proto.backplane.grpc.FlattenRequest - 59, // 189: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.run_chart_downsample:type_name -> io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest - 29, // 190: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.cross_join:type_name -> io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest - 30, // 191: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.natural_join:type_name -> io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest - 31, // 192: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.exact_join:type_name -> io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest - 32, // 193: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.left_join:type_name -> io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest - 33, // 194: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.as_of_join:type_name -> io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest - 11, // 195: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.fetch_table:type_name -> io.deephaven.proto.backplane.grpc.FetchTableRequest - 12, // 196: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.apply_preview_columns:type_name -> io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest - 60, // 197: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.create_input_table:type_name -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest - 19, // 198: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.update_by:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest - 61, // 199: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.where_in:type_name -> io.deephaven.proto.backplane.grpc.WhereInRequest - 35, // 200: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.aggregate_all:type_name -> io.deephaven.proto.backplane.grpc.AggregateAllRequest - 37, // 201: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.aggregate:type_name -> io.deephaven.proto.backplane.grpc.AggregateRequest - 27, // 202: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.snapshot:type_name -> io.deephaven.proto.backplane.grpc.SnapshotTableRequest - 28, // 203: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.snapshot_when:type_name -> io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest - 110, // 204: io.deephaven.proto.backplane.grpc.TableService.GetExportedTableCreationResponse:input_type -> io.deephaven.proto.backplane.grpc.Ticket - 11, // 205: io.deephaven.proto.backplane.grpc.TableService.FetchTable:input_type -> io.deephaven.proto.backplane.grpc.FetchTableRequest - 12, // 206: io.deephaven.proto.backplane.grpc.TableService.ApplyPreviewColumns:input_type -> io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest - 15, // 207: io.deephaven.proto.backplane.grpc.TableService.EmptyTable:input_type -> io.deephaven.proto.backplane.grpc.EmptyTableRequest - 16, // 208: io.deephaven.proto.backplane.grpc.TableService.TimeTable:input_type -> io.deephaven.proto.backplane.grpc.TimeTableRequest - 21, // 209: io.deephaven.proto.backplane.grpc.TableService.DropColumns:input_type -> io.deephaven.proto.backplane.grpc.DropColumnsRequest - 17, // 210: io.deephaven.proto.backplane.grpc.TableService.Update:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 17, // 211: io.deephaven.proto.backplane.grpc.TableService.LazyUpdate:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 17, // 212: io.deephaven.proto.backplane.grpc.TableService.View:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 17, // 213: io.deephaven.proto.backplane.grpc.TableService.UpdateView:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 17, // 214: io.deephaven.proto.backplane.grpc.TableService.Select:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest - 19, // 215: io.deephaven.proto.backplane.grpc.TableService.UpdateBy:input_type -> io.deephaven.proto.backplane.grpc.UpdateByRequest - 20, // 216: io.deephaven.proto.backplane.grpc.TableService.SelectDistinct:input_type -> io.deephaven.proto.backplane.grpc.SelectDistinctRequest - 41, // 217: io.deephaven.proto.backplane.grpc.TableService.Filter:input_type -> io.deephaven.proto.backplane.grpc.FilterTableRequest - 22, // 218: io.deephaven.proto.backplane.grpc.TableService.UnstructuredFilter:input_type -> io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest - 40, // 219: io.deephaven.proto.backplane.grpc.TableService.Sort:input_type -> io.deephaven.proto.backplane.grpc.SortTableRequest - 23, // 220: io.deephaven.proto.backplane.grpc.TableService.Head:input_type -> io.deephaven.proto.backplane.grpc.HeadOrTailRequest - 23, // 221: io.deephaven.proto.backplane.grpc.TableService.Tail:input_type -> io.deephaven.proto.backplane.grpc.HeadOrTailRequest - 24, // 222: io.deephaven.proto.backplane.grpc.TableService.HeadBy:input_type -> io.deephaven.proto.backplane.grpc.HeadOrTailByRequest - 24, // 223: io.deephaven.proto.backplane.grpc.TableService.TailBy:input_type -> io.deephaven.proto.backplane.grpc.HeadOrTailByRequest - 25, // 224: io.deephaven.proto.backplane.grpc.TableService.Ungroup:input_type -> io.deephaven.proto.backplane.grpc.UngroupRequest - 26, // 225: io.deephaven.proto.backplane.grpc.TableService.MergeTables:input_type -> io.deephaven.proto.backplane.grpc.MergeTablesRequest - 29, // 226: io.deephaven.proto.backplane.grpc.TableService.CrossJoinTables:input_type -> io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest - 30, // 227: io.deephaven.proto.backplane.grpc.TableService.NaturalJoinTables:input_type -> io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest - 31, // 228: io.deephaven.proto.backplane.grpc.TableService.ExactJoinTables:input_type -> io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest - 32, // 229: io.deephaven.proto.backplane.grpc.TableService.LeftJoinTables:input_type -> io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest - 33, // 230: io.deephaven.proto.backplane.grpc.TableService.AsOfJoinTables:input_type -> io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest - 34, // 231: io.deephaven.proto.backplane.grpc.TableService.ComboAggregate:input_type -> io.deephaven.proto.backplane.grpc.ComboAggregateRequest - 35, // 232: io.deephaven.proto.backplane.grpc.TableService.AggregateAll:input_type -> io.deephaven.proto.backplane.grpc.AggregateAllRequest - 37, // 233: io.deephaven.proto.backplane.grpc.TableService.Aggregate:input_type -> io.deephaven.proto.backplane.grpc.AggregateRequest - 27, // 234: io.deephaven.proto.backplane.grpc.TableService.Snapshot:input_type -> io.deephaven.proto.backplane.grpc.SnapshotTableRequest - 28, // 235: io.deephaven.proto.backplane.grpc.TableService.SnapshotWhen:input_type -> io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest - 58, // 236: io.deephaven.proto.backplane.grpc.TableService.Flatten:input_type -> io.deephaven.proto.backplane.grpc.FlattenRequest - 59, // 237: io.deephaven.proto.backplane.grpc.TableService.RunChartDownsample:input_type -> io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest - 60, // 238: io.deephaven.proto.backplane.grpc.TableService.CreateInputTable:input_type -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest - 61, // 239: io.deephaven.proto.backplane.grpc.TableService.WhereIn:input_type -> io.deephaven.proto.backplane.grpc.WhereInRequest - 62, // 240: io.deephaven.proto.backplane.grpc.TableService.Batch:input_type -> io.deephaven.proto.backplane.grpc.BatchTableRequest - 13, // 241: io.deephaven.proto.backplane.grpc.TableService.ExportedTableUpdates:input_type -> io.deephaven.proto.backplane.grpc.ExportedTableUpdatesRequest - 42, // 242: io.deephaven.proto.backplane.grpc.TableService.SeekRow:input_type -> io.deephaven.proto.backplane.grpc.SeekRowRequest - 10, // 243: io.deephaven.proto.backplane.grpc.TableService.GetExportedTableCreationResponse:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 244: io.deephaven.proto.backplane.grpc.TableService.FetchTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 245: io.deephaven.proto.backplane.grpc.TableService.ApplyPreviewColumns:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 246: io.deephaven.proto.backplane.grpc.TableService.EmptyTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 247: io.deephaven.proto.backplane.grpc.TableService.TimeTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 248: io.deephaven.proto.backplane.grpc.TableService.DropColumns:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 249: io.deephaven.proto.backplane.grpc.TableService.Update:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 250: io.deephaven.proto.backplane.grpc.TableService.LazyUpdate:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 251: io.deephaven.proto.backplane.grpc.TableService.View:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 252: io.deephaven.proto.backplane.grpc.TableService.UpdateView:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 253: io.deephaven.proto.backplane.grpc.TableService.Select:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 254: io.deephaven.proto.backplane.grpc.TableService.UpdateBy:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 255: io.deephaven.proto.backplane.grpc.TableService.SelectDistinct:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 256: io.deephaven.proto.backplane.grpc.TableService.Filter:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 257: io.deephaven.proto.backplane.grpc.TableService.UnstructuredFilter:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 258: io.deephaven.proto.backplane.grpc.TableService.Sort:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 259: io.deephaven.proto.backplane.grpc.TableService.Head:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 260: io.deephaven.proto.backplane.grpc.TableService.Tail:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 261: io.deephaven.proto.backplane.grpc.TableService.HeadBy:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 262: io.deephaven.proto.backplane.grpc.TableService.TailBy:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 263: io.deephaven.proto.backplane.grpc.TableService.Ungroup:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 264: io.deephaven.proto.backplane.grpc.TableService.MergeTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 265: io.deephaven.proto.backplane.grpc.TableService.CrossJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 266: io.deephaven.proto.backplane.grpc.TableService.NaturalJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 267: io.deephaven.proto.backplane.grpc.TableService.ExactJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 268: io.deephaven.proto.backplane.grpc.TableService.LeftJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 269: io.deephaven.proto.backplane.grpc.TableService.AsOfJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 270: io.deephaven.proto.backplane.grpc.TableService.ComboAggregate:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 271: io.deephaven.proto.backplane.grpc.TableService.AggregateAll:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 272: io.deephaven.proto.backplane.grpc.TableService.Aggregate:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 273: io.deephaven.proto.backplane.grpc.TableService.Snapshot:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 274: io.deephaven.proto.backplane.grpc.TableService.SnapshotWhen:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 275: io.deephaven.proto.backplane.grpc.TableService.Flatten:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 276: io.deephaven.proto.backplane.grpc.TableService.RunChartDownsample:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 277: io.deephaven.proto.backplane.grpc.TableService.CreateInputTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 278: io.deephaven.proto.backplane.grpc.TableService.WhereIn:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 10, // 279: io.deephaven.proto.backplane.grpc.TableService.Batch:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse - 14, // 280: io.deephaven.proto.backplane.grpc.TableService.ExportedTableUpdates:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableUpdateMessage - 43, // 281: io.deephaven.proto.backplane.grpc.TableService.SeekRow:output_type -> io.deephaven.proto.backplane.grpc.SeekRowResponse - 243, // [243:282] is the sub-list for method output_type - 204, // [204:243] is the sub-list for method input_type - 204, // [204:204] is the sub-list for extension type_name - 204, // [204:204] is the sub-list for extension extendee - 0, // [0:204] is the sub-list for field type_name + 111, // 133: io.deephaven.proto.backplane.grpc.MetaTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 9, // 134: io.deephaven.proto.backplane.grpc.MetaTableRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 111, // 135: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 9, // 136: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.source_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 106, // 137: io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.zoom_range:type_name -> io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange + 111, // 138: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 9, // 139: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.source_table_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 107, // 140: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.kind:type_name -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind + 111, // 141: io.deephaven.proto.backplane.grpc.WhereInRequest.result_id:type_name -> io.deephaven.proto.backplane.grpc.Ticket + 9, // 142: io.deephaven.proto.backplane.grpc.WhereInRequest.left_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 9, // 143: io.deephaven.proto.backplane.grpc.WhereInRequest.right_id:type_name -> io.deephaven.proto.backplane.grpc.TableReference + 110, // 144: io.deephaven.proto.backplane.grpc.BatchTableRequest.ops:type_name -> io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation + 18, // 145: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions.math_context:type_name -> io.deephaven.proto.backplane.grpc.MathContext + 66, // 146: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.column:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn + 67, // 147: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.spec:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec + 68, // 148: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.sum:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeSum + 69, // 149: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.min:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMin + 70, // 150: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.max:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMax + 71, // 151: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.product:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeProduct + 72, // 152: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.fill:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByFill + 73, // 153: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.ema:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma + 74, // 154: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.options:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions + 75, // 155: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.timescale:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale + 0, // 156: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions.on_null_value:type_name -> io.deephaven.proto.backplane.grpc.BadDataBehavior + 0, // 157: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions.on_nan_value:type_name -> io.deephaven.proto.backplane.grpc.BadDataBehavior + 0, // 158: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions.on_null_time:type_name -> io.deephaven.proto.backplane.grpc.BadDataBehavior + 0, // 159: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions.on_negative_delta_time:type_name -> io.deephaven.proto.backplane.grpc.BadDataBehavior + 0, // 160: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions.on_zero_delta_time:type_name -> io.deephaven.proto.backplane.grpc.BadDataBehavior + 18, // 161: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions.big_value_context:type_name -> io.deephaven.proto.backplane.grpc.MathContext + 76, // 162: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale.ticks:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale.UpdateByEmaTicks + 77, // 163: io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale.time:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale.UpdateByEmaTime + 6, // 164: io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate.type:type_name -> io.deephaven.proto.backplane.grpc.ComboAggregateRequest.AggType + 86, // 165: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSorted.columns:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedColumn + 89, // 166: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUnique.non_unique_sentinel:type_name -> io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel + 1, // 167: io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel.null_value:type_name -> io.deephaven.proto.backplane.grpc.NullValue + 36, // 168: io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumns.spec:type_name -> io.deephaven.proto.backplane.grpc.AggSpec + 108, // 169: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.in_memory_append_only:type_name -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryAppendOnly + 109, // 170: io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.in_memory_key_backed:type_name -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryKeyBacked + 15, // 171: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.empty_table:type_name -> io.deephaven.proto.backplane.grpc.EmptyTableRequest + 16, // 172: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.time_table:type_name -> io.deephaven.proto.backplane.grpc.TimeTableRequest + 21, // 173: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.drop_columns:type_name -> io.deephaven.proto.backplane.grpc.DropColumnsRequest + 17, // 174: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.update:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 17, // 175: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.lazy_update:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 17, // 176: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.view:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 17, // 177: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.update_view:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 17, // 178: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.select:type_name -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 20, // 179: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.select_distinct:type_name -> io.deephaven.proto.backplane.grpc.SelectDistinctRequest + 41, // 180: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.filter:type_name -> io.deephaven.proto.backplane.grpc.FilterTableRequest + 22, // 181: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.unstructured_filter:type_name -> io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest + 40, // 182: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.sort:type_name -> io.deephaven.proto.backplane.grpc.SortTableRequest + 23, // 183: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.head:type_name -> io.deephaven.proto.backplane.grpc.HeadOrTailRequest + 23, // 184: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.tail:type_name -> io.deephaven.proto.backplane.grpc.HeadOrTailRequest + 24, // 185: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.head_by:type_name -> io.deephaven.proto.backplane.grpc.HeadOrTailByRequest + 24, // 186: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.tail_by:type_name -> io.deephaven.proto.backplane.grpc.HeadOrTailByRequest + 25, // 187: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.ungroup:type_name -> io.deephaven.proto.backplane.grpc.UngroupRequest + 26, // 188: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.merge:type_name -> io.deephaven.proto.backplane.grpc.MergeTablesRequest + 34, // 189: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.combo_aggregate:type_name -> io.deephaven.proto.backplane.grpc.ComboAggregateRequest + 58, // 190: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.flatten:type_name -> io.deephaven.proto.backplane.grpc.FlattenRequest + 60, // 191: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.run_chart_downsample:type_name -> io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest + 29, // 192: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.cross_join:type_name -> io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest + 30, // 193: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.natural_join:type_name -> io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest + 31, // 194: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.exact_join:type_name -> io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest + 32, // 195: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.left_join:type_name -> io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest + 33, // 196: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.as_of_join:type_name -> io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest + 11, // 197: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.fetch_table:type_name -> io.deephaven.proto.backplane.grpc.FetchTableRequest + 12, // 198: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.apply_preview_columns:type_name -> io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest + 61, // 199: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.create_input_table:type_name -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest + 19, // 200: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.update_by:type_name -> io.deephaven.proto.backplane.grpc.UpdateByRequest + 62, // 201: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.where_in:type_name -> io.deephaven.proto.backplane.grpc.WhereInRequest + 35, // 202: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.aggregate_all:type_name -> io.deephaven.proto.backplane.grpc.AggregateAllRequest + 37, // 203: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.aggregate:type_name -> io.deephaven.proto.backplane.grpc.AggregateRequest + 27, // 204: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.snapshot:type_name -> io.deephaven.proto.backplane.grpc.SnapshotTableRequest + 28, // 205: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.snapshot_when:type_name -> io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest + 59, // 206: io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation.meta_table:type_name -> io.deephaven.proto.backplane.grpc.MetaTableRequest + 111, // 207: io.deephaven.proto.backplane.grpc.TableService.GetExportedTableCreationResponse:input_type -> io.deephaven.proto.backplane.grpc.Ticket + 11, // 208: io.deephaven.proto.backplane.grpc.TableService.FetchTable:input_type -> io.deephaven.proto.backplane.grpc.FetchTableRequest + 12, // 209: io.deephaven.proto.backplane.grpc.TableService.ApplyPreviewColumns:input_type -> io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest + 15, // 210: io.deephaven.proto.backplane.grpc.TableService.EmptyTable:input_type -> io.deephaven.proto.backplane.grpc.EmptyTableRequest + 16, // 211: io.deephaven.proto.backplane.grpc.TableService.TimeTable:input_type -> io.deephaven.proto.backplane.grpc.TimeTableRequest + 21, // 212: io.deephaven.proto.backplane.grpc.TableService.DropColumns:input_type -> io.deephaven.proto.backplane.grpc.DropColumnsRequest + 17, // 213: io.deephaven.proto.backplane.grpc.TableService.Update:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 17, // 214: io.deephaven.proto.backplane.grpc.TableService.LazyUpdate:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 17, // 215: io.deephaven.proto.backplane.grpc.TableService.View:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 17, // 216: io.deephaven.proto.backplane.grpc.TableService.UpdateView:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 17, // 217: io.deephaven.proto.backplane.grpc.TableService.Select:input_type -> io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest + 19, // 218: io.deephaven.proto.backplane.grpc.TableService.UpdateBy:input_type -> io.deephaven.proto.backplane.grpc.UpdateByRequest + 20, // 219: io.deephaven.proto.backplane.grpc.TableService.SelectDistinct:input_type -> io.deephaven.proto.backplane.grpc.SelectDistinctRequest + 41, // 220: io.deephaven.proto.backplane.grpc.TableService.Filter:input_type -> io.deephaven.proto.backplane.grpc.FilterTableRequest + 22, // 221: io.deephaven.proto.backplane.grpc.TableService.UnstructuredFilter:input_type -> io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest + 40, // 222: io.deephaven.proto.backplane.grpc.TableService.Sort:input_type -> io.deephaven.proto.backplane.grpc.SortTableRequest + 23, // 223: io.deephaven.proto.backplane.grpc.TableService.Head:input_type -> io.deephaven.proto.backplane.grpc.HeadOrTailRequest + 23, // 224: io.deephaven.proto.backplane.grpc.TableService.Tail:input_type -> io.deephaven.proto.backplane.grpc.HeadOrTailRequest + 24, // 225: io.deephaven.proto.backplane.grpc.TableService.HeadBy:input_type -> io.deephaven.proto.backplane.grpc.HeadOrTailByRequest + 24, // 226: io.deephaven.proto.backplane.grpc.TableService.TailBy:input_type -> io.deephaven.proto.backplane.grpc.HeadOrTailByRequest + 25, // 227: io.deephaven.proto.backplane.grpc.TableService.Ungroup:input_type -> io.deephaven.proto.backplane.grpc.UngroupRequest + 26, // 228: io.deephaven.proto.backplane.grpc.TableService.MergeTables:input_type -> io.deephaven.proto.backplane.grpc.MergeTablesRequest + 29, // 229: io.deephaven.proto.backplane.grpc.TableService.CrossJoinTables:input_type -> io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest + 30, // 230: io.deephaven.proto.backplane.grpc.TableService.NaturalJoinTables:input_type -> io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest + 31, // 231: io.deephaven.proto.backplane.grpc.TableService.ExactJoinTables:input_type -> io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest + 32, // 232: io.deephaven.proto.backplane.grpc.TableService.LeftJoinTables:input_type -> io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest + 33, // 233: io.deephaven.proto.backplane.grpc.TableService.AsOfJoinTables:input_type -> io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest + 34, // 234: io.deephaven.proto.backplane.grpc.TableService.ComboAggregate:input_type -> io.deephaven.proto.backplane.grpc.ComboAggregateRequest + 35, // 235: io.deephaven.proto.backplane.grpc.TableService.AggregateAll:input_type -> io.deephaven.proto.backplane.grpc.AggregateAllRequest + 37, // 236: io.deephaven.proto.backplane.grpc.TableService.Aggregate:input_type -> io.deephaven.proto.backplane.grpc.AggregateRequest + 27, // 237: io.deephaven.proto.backplane.grpc.TableService.Snapshot:input_type -> io.deephaven.proto.backplane.grpc.SnapshotTableRequest + 28, // 238: io.deephaven.proto.backplane.grpc.TableService.SnapshotWhen:input_type -> io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest + 58, // 239: io.deephaven.proto.backplane.grpc.TableService.Flatten:input_type -> io.deephaven.proto.backplane.grpc.FlattenRequest + 60, // 240: io.deephaven.proto.backplane.grpc.TableService.RunChartDownsample:input_type -> io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest + 61, // 241: io.deephaven.proto.backplane.grpc.TableService.CreateInputTable:input_type -> io.deephaven.proto.backplane.grpc.CreateInputTableRequest + 62, // 242: io.deephaven.proto.backplane.grpc.TableService.WhereIn:input_type -> io.deephaven.proto.backplane.grpc.WhereInRequest + 63, // 243: io.deephaven.proto.backplane.grpc.TableService.Batch:input_type -> io.deephaven.proto.backplane.grpc.BatchTableRequest + 13, // 244: io.deephaven.proto.backplane.grpc.TableService.ExportedTableUpdates:input_type -> io.deephaven.proto.backplane.grpc.ExportedTableUpdatesRequest + 42, // 245: io.deephaven.proto.backplane.grpc.TableService.SeekRow:input_type -> io.deephaven.proto.backplane.grpc.SeekRowRequest + 59, // 246: io.deephaven.proto.backplane.grpc.TableService.MetaTable:input_type -> io.deephaven.proto.backplane.grpc.MetaTableRequest + 10, // 247: io.deephaven.proto.backplane.grpc.TableService.GetExportedTableCreationResponse:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 248: io.deephaven.proto.backplane.grpc.TableService.FetchTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 249: io.deephaven.proto.backplane.grpc.TableService.ApplyPreviewColumns:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 250: io.deephaven.proto.backplane.grpc.TableService.EmptyTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 251: io.deephaven.proto.backplane.grpc.TableService.TimeTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 252: io.deephaven.proto.backplane.grpc.TableService.DropColumns:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 253: io.deephaven.proto.backplane.grpc.TableService.Update:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 254: io.deephaven.proto.backplane.grpc.TableService.LazyUpdate:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 255: io.deephaven.proto.backplane.grpc.TableService.View:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 256: io.deephaven.proto.backplane.grpc.TableService.UpdateView:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 257: io.deephaven.proto.backplane.grpc.TableService.Select:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 258: io.deephaven.proto.backplane.grpc.TableService.UpdateBy:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 259: io.deephaven.proto.backplane.grpc.TableService.SelectDistinct:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 260: io.deephaven.proto.backplane.grpc.TableService.Filter:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 261: io.deephaven.proto.backplane.grpc.TableService.UnstructuredFilter:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 262: io.deephaven.proto.backplane.grpc.TableService.Sort:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 263: io.deephaven.proto.backplane.grpc.TableService.Head:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 264: io.deephaven.proto.backplane.grpc.TableService.Tail:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 265: io.deephaven.proto.backplane.grpc.TableService.HeadBy:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 266: io.deephaven.proto.backplane.grpc.TableService.TailBy:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 267: io.deephaven.proto.backplane.grpc.TableService.Ungroup:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 268: io.deephaven.proto.backplane.grpc.TableService.MergeTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 269: io.deephaven.proto.backplane.grpc.TableService.CrossJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 270: io.deephaven.proto.backplane.grpc.TableService.NaturalJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 271: io.deephaven.proto.backplane.grpc.TableService.ExactJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 272: io.deephaven.proto.backplane.grpc.TableService.LeftJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 273: io.deephaven.proto.backplane.grpc.TableService.AsOfJoinTables:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 274: io.deephaven.proto.backplane.grpc.TableService.ComboAggregate:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 275: io.deephaven.proto.backplane.grpc.TableService.AggregateAll:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 276: io.deephaven.proto.backplane.grpc.TableService.Aggregate:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 277: io.deephaven.proto.backplane.grpc.TableService.Snapshot:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 278: io.deephaven.proto.backplane.grpc.TableService.SnapshotWhen:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 279: io.deephaven.proto.backplane.grpc.TableService.Flatten:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 280: io.deephaven.proto.backplane.grpc.TableService.RunChartDownsample:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 281: io.deephaven.proto.backplane.grpc.TableService.CreateInputTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 282: io.deephaven.proto.backplane.grpc.TableService.WhereIn:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 10, // 283: io.deephaven.proto.backplane.grpc.TableService.Batch:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 14, // 284: io.deephaven.proto.backplane.grpc.TableService.ExportedTableUpdates:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableUpdateMessage + 43, // 285: io.deephaven.proto.backplane.grpc.TableService.SeekRow:output_type -> io.deephaven.proto.backplane.grpc.SeekRowResponse + 10, // 286: io.deephaven.proto.backplane.grpc.TableService.MetaTable:output_type -> io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse + 247, // [247:287] is the sub-list for method output_type + 207, // [207:247] is the sub-list for method input_type + 207, // [207:207] is the sub-list for extension type_name + 207, // [207:207] is the sub-list for extension extendee + 0, // [0:207] is the sub-list for field type_name } func init() { file_deephaven_proto_table_proto_init() } @@ -10833,7 +10933,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunChartDownsampleRequest); i { + switch v := v.(*MetaTableRequest); i { case 0: return &v.state case 1: @@ -10845,7 +10945,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateInputTableRequest); i { + switch v := v.(*RunChartDownsampleRequest); i { case 0: return &v.state case 1: @@ -10857,7 +10957,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WhereInRequest); i { + switch v := v.(*CreateInputTableRequest); i { case 0: return &v.state case 1: @@ -10869,7 +10969,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchTableRequest); i { + switch v := v.(*WhereInRequest); i { case 0: return &v.state case 1: @@ -10881,7 +10981,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOptions); i { + switch v := v.(*BatchTableRequest); i { case 0: return &v.state case 1: @@ -10893,7 +10993,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation); i { + switch v := v.(*UpdateByRequest_UpdateByOptions); i { case 0: return &v.state case 1: @@ -10905,7 +11005,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn); i { + switch v := v.(*UpdateByRequest_UpdateByOperation); i { case 0: return &v.state case 1: @@ -10917,7 +11017,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn); i { case 0: return &v.state case 1: @@ -10929,7 +11029,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeSum); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec); i { case 0: return &v.state case 1: @@ -10941,7 +11041,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMin); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeSum); i { case 0: return &v.state case 1: @@ -10953,7 +11053,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMax); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMin); i { case 0: return &v.state case 1: @@ -10965,7 +11065,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeProduct); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeMax); i { case 0: return &v.state case 1: @@ -10977,7 +11077,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByCumulativeProduct); i { case 0: return &v.state case 1: @@ -10989,7 +11089,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByFill); i { case 0: return &v.state case 1: @@ -11001,7 +11101,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaOptions); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma); i { case 0: return &v.state case 1: @@ -11013,7 +11113,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaOptions); i { case 0: return &v.state case 1: @@ -11025,7 +11125,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale_UpdateByEmaTicks); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale); i { case 0: return &v.state case 1: @@ -11037,7 +11137,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale_UpdateByEmaTime); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale_UpdateByEmaTicks); i { case 0: return &v.state case 1: @@ -11049,7 +11149,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ComboAggregateRequest_Aggregate); i { + switch v := v.(*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale_UpdateByEmaTime); i { case 0: return &v.state case 1: @@ -11061,7 +11161,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecApproximatePercentile); i { + switch v := v.(*ComboAggregateRequest_Aggregate); i { case 0: return &v.state case 1: @@ -11073,7 +11173,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecCountDistinct); i { + switch v := v.(*AggSpec_AggSpecApproximatePercentile); i { case 0: return &v.state case 1: @@ -11085,7 +11185,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecDistinct); i { + switch v := v.(*AggSpec_AggSpecCountDistinct); i { case 0: return &v.state case 1: @@ -11097,7 +11197,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecFormula); i { + switch v := v.(*AggSpec_AggSpecDistinct); i { case 0: return &v.state case 1: @@ -11109,7 +11209,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecMedian); i { + switch v := v.(*AggSpec_AggSpecFormula); i { case 0: return &v.state case 1: @@ -11121,7 +11221,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecPercentile); i { + switch v := v.(*AggSpec_AggSpecMedian); i { case 0: return &v.state case 1: @@ -11133,7 +11233,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecSorted); i { + switch v := v.(*AggSpec_AggSpecPercentile); i { case 0: return &v.state case 1: @@ -11145,7 +11245,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecSortedColumn); i { + switch v := v.(*AggSpec_AggSpecSorted); i { case 0: return &v.state case 1: @@ -11157,7 +11257,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecTDigest); i { + switch v := v.(*AggSpec_AggSpecSortedColumn); i { case 0: return &v.state case 1: @@ -11169,7 +11269,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecUnique); i { + switch v := v.(*AggSpec_AggSpecTDigest); i { case 0: return &v.state case 1: @@ -11181,7 +11281,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecNonUniqueSentinel); i { + switch v := v.(*AggSpec_AggSpecUnique); i { case 0: return &v.state case 1: @@ -11193,7 +11293,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecWeighted); i { + switch v := v.(*AggSpec_AggSpecNonUniqueSentinel); i { case 0: return &v.state case 1: @@ -11205,7 +11305,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecAbsSum); i { + switch v := v.(*AggSpec_AggSpecWeighted); i { case 0: return &v.state case 1: @@ -11217,7 +11317,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecAvg); i { + switch v := v.(*AggSpec_AggSpecAbsSum); i { case 0: return &v.state case 1: @@ -11229,7 +11329,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecFirst); i { + switch v := v.(*AggSpec_AggSpecAvg); i { case 0: return &v.state case 1: @@ -11241,7 +11341,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecFreeze); i { + switch v := v.(*AggSpec_AggSpecFirst); i { case 0: return &v.state case 1: @@ -11253,7 +11353,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecGroup); i { + switch v := v.(*AggSpec_AggSpecFreeze); i { case 0: return &v.state case 1: @@ -11265,7 +11365,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecLast); i { + switch v := v.(*AggSpec_AggSpecGroup); i { case 0: return &v.state case 1: @@ -11277,7 +11377,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecMax); i { + switch v := v.(*AggSpec_AggSpecLast); i { case 0: return &v.state case 1: @@ -11289,7 +11389,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecMin); i { + switch v := v.(*AggSpec_AggSpecMax); i { case 0: return &v.state case 1: @@ -11301,7 +11401,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecStd); i { + switch v := v.(*AggSpec_AggSpecMin); i { case 0: return &v.state case 1: @@ -11313,7 +11413,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecSum); i { + switch v := v.(*AggSpec_AggSpecStd); i { case 0: return &v.state case 1: @@ -11325,7 +11425,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggSpec_AggSpecVar); i { + switch v := v.(*AggSpec_AggSpecSum); i { case 0: return &v.state case 1: @@ -11337,7 +11437,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Aggregation_AggregationColumns); i { + switch v := v.(*AggSpec_AggSpecVar); i { case 0: return &v.state case 1: @@ -11349,7 +11449,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Aggregation_AggregationCount); i { + switch v := v.(*Aggregation_AggregationColumns); i { case 0: return &v.state case 1: @@ -11361,7 +11461,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Aggregation_AggregationRowKey); i { + switch v := v.(*Aggregation_AggregationCount); i { case 0: return &v.state case 1: @@ -11373,7 +11473,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Aggregation_AggregationPartition); i { + switch v := v.(*Aggregation_AggregationRowKey); i { case 0: return &v.state case 1: @@ -11385,7 +11485,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RunChartDownsampleRequest_ZoomRange); i { + switch v := v.(*Aggregation_AggregationPartition); i { case 0: return &v.state case 1: @@ -11397,7 +11497,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateInputTableRequest_InputTableKind); i { + switch v := v.(*RunChartDownsampleRequest_ZoomRange); i { case 0: return &v.state case 1: @@ -11409,7 +11509,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateInputTableRequest_InputTableKind_InMemoryAppendOnly); i { + switch v := v.(*CreateInputTableRequest_InputTableKind); i { case 0: return &v.state case 1: @@ -11421,7 +11521,7 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateInputTableRequest_InputTableKind_InMemoryKeyBacked); i { + switch v := v.(*CreateInputTableRequest_InputTableKind_InMemoryAppendOnly); i { case 0: return &v.state case 1: @@ -11433,6 +11533,18 @@ func file_deephaven_proto_table_proto_init() { } } file_deephaven_proto_table_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateInputTableRequest_InputTableKind_InMemoryKeyBacked); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_deephaven_proto_table_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BatchTableRequest_Operation); i { case 0: return &v.state @@ -11504,15 +11616,15 @@ func file_deephaven_proto_table_proto_init() { (*Condition_Contains)(nil), (*Condition_Search)(nil), } - file_deephaven_proto_table_proto_msgTypes[51].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[52].OneofWrappers = []interface{}{ (*CreateInputTableRequest_SourceTableId)(nil), (*CreateInputTableRequest_Schema)(nil), } - file_deephaven_proto_table_proto_msgTypes[54].OneofWrappers = []interface{}{} - file_deephaven_proto_table_proto_msgTypes[55].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[55].OneofWrappers = []interface{}{} + file_deephaven_proto_table_proto_msgTypes[56].OneofWrappers = []interface{}{ (*UpdateByRequest_UpdateByOperation_Column)(nil), } - file_deephaven_proto_table_proto_msgTypes[57].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[58].OneofWrappers = []interface{}{ (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_Sum)(nil), (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_Min)(nil), (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_Max)(nil), @@ -11520,14 +11632,14 @@ func file_deephaven_proto_table_proto_init() { (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_Fill)(nil), (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_Ema)(nil), } - file_deephaven_proto_table_proto_msgTypes[64].OneofWrappers = []interface{}{} - file_deephaven_proto_table_proto_msgTypes[65].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[65].OneofWrappers = []interface{}{} + file_deephaven_proto_table_proto_msgTypes[66].OneofWrappers = []interface{}{ (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale_Ticks)(nil), (*UpdateByRequest_UpdateByOperation_UpdateByColumn_UpdateBySpec_UpdateByEma_UpdateByEmaTimescale_Time)(nil), } - file_deephaven_proto_table_proto_msgTypes[69].OneofWrappers = []interface{}{} - file_deephaven_proto_table_proto_msgTypes[77].OneofWrappers = []interface{}{} - file_deephaven_proto_table_proto_msgTypes[79].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[70].OneofWrappers = []interface{}{} + file_deephaven_proto_table_proto_msgTypes[78].OneofWrappers = []interface{}{} + file_deephaven_proto_table_proto_msgTypes[80].OneofWrappers = []interface{}{ (*AggSpec_AggSpecNonUniqueSentinel_NullValue)(nil), (*AggSpec_AggSpecNonUniqueSentinel_StringValue)(nil), (*AggSpec_AggSpecNonUniqueSentinel_IntValue)(nil), @@ -11539,12 +11651,12 @@ func file_deephaven_proto_table_proto_init() { (*AggSpec_AggSpecNonUniqueSentinel_ShortValue)(nil), (*AggSpec_AggSpecNonUniqueSentinel_CharValue)(nil), } - file_deephaven_proto_table_proto_msgTypes[96].OneofWrappers = []interface{}{} - file_deephaven_proto_table_proto_msgTypes[97].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[97].OneofWrappers = []interface{}{} + file_deephaven_proto_table_proto_msgTypes[98].OneofWrappers = []interface{}{ (*CreateInputTableRequest_InputTableKind_InMemoryAppendOnly_)(nil), (*CreateInputTableRequest_InputTableKind_InMemoryKeyBacked_)(nil), } - file_deephaven_proto_table_proto_msgTypes[100].OneofWrappers = []interface{}{ + file_deephaven_proto_table_proto_msgTypes[101].OneofWrappers = []interface{}{ (*BatchTableRequest_Operation_EmptyTable)(nil), (*BatchTableRequest_Operation_TimeTable)(nil), (*BatchTableRequest_Operation_DropColumns)(nil), @@ -11580,6 +11692,7 @@ func file_deephaven_proto_table_proto_init() { (*BatchTableRequest_Operation_Aggregate)(nil), (*BatchTableRequest_Operation_Snapshot)(nil), (*BatchTableRequest_Operation_SnapshotWhen)(nil), + (*BatchTableRequest_Operation_MetaTable)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -11587,7 +11700,7 @@ func file_deephaven_proto_table_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_deephaven_proto_table_proto_rawDesc, NumEnums: 9, - NumMessages: 101, + NumMessages: 102, NumExtensions: 0, NumServices: 1, }, diff --git a/go/internal/proto/table/table_grpc.pb.go b/go/internal/proto/table/table_grpc.pb.go index 3efef13d139..b2eae0a2cc1 100644 --- a/go/internal/proto/table/table_grpc.pb.go +++ b/go/internal/proto/table/table_grpc.pb.go @@ -127,6 +127,8 @@ type TableServiceClient interface { ExportedTableUpdates(ctx context.Context, in *ExportedTableUpdatesRequest, opts ...grpc.CallOption) (TableService_ExportedTableUpdatesClient, error) // Seek a row number within a table. SeekRow(ctx context.Context, in *SeekRowRequest, opts ...grpc.CallOption) (*SeekRowResponse, error) + // Returns the meta table of a table. + MetaTable(ctx context.Context, in *MetaTableRequest, opts ...grpc.CallOption) (*ExportedTableCreationResponse, error) } type tableServiceClient struct { @@ -535,6 +537,15 @@ func (c *tableServiceClient) SeekRow(ctx context.Context, in *SeekRowRequest, op return out, nil } +func (c *tableServiceClient) MetaTable(ctx context.Context, in *MetaTableRequest, opts ...grpc.CallOption) (*ExportedTableCreationResponse, error) { + out := new(ExportedTableCreationResponse) + err := c.cc.Invoke(ctx, "/io.deephaven.proto.backplane.grpc.TableService/MetaTable", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // TableServiceServer is the server API for TableService service. // All implementations must embed UnimplementedTableServiceServer // for forward compatibility @@ -643,6 +654,8 @@ type TableServiceServer interface { ExportedTableUpdates(*ExportedTableUpdatesRequest, TableService_ExportedTableUpdatesServer) error // Seek a row number within a table. SeekRow(context.Context, *SeekRowRequest) (*SeekRowResponse, error) + // Returns the meta table of a table. + MetaTable(context.Context, *MetaTableRequest) (*ExportedTableCreationResponse, error) mustEmbedUnimplementedTableServiceServer() } @@ -767,6 +780,9 @@ func (UnimplementedTableServiceServer) ExportedTableUpdates(*ExportedTableUpdate func (UnimplementedTableServiceServer) SeekRow(context.Context, *SeekRowRequest) (*SeekRowResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SeekRow not implemented") } +func (UnimplementedTableServiceServer) MetaTable(context.Context, *MetaTableRequest) (*ExportedTableCreationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MetaTable not implemented") +} func (UnimplementedTableServiceServer) mustEmbedUnimplementedTableServiceServer() {} // UnsafeTableServiceServer may be embedded to opt out of forward compatibility for this service. @@ -1488,6 +1504,24 @@ func _TableService_SeekRow_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _TableService_MetaTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MetaTableRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TableServiceServer).MetaTable(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/io.deephaven.proto.backplane.grpc.TableService/MetaTable", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TableServiceServer).MetaTable(ctx, req.(*MetaTableRequest)) + } + return interceptor(ctx, in, info, handler) +} + // TableService_ServiceDesc is the grpc.ServiceDesc for TableService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1643,6 +1677,10 @@ var TableService_ServiceDesc = grpc.ServiceDesc{ MethodName: "SeekRow", Handler: _TableService_SeekRow_Handler, }, + { + MethodName: "MetaTable", + Handler: _TableService_MetaTable_Handler, + }, }, Streams: []grpc.StreamDesc{ { diff --git a/proto/proto-backplane-grpc/src/main/java/io/deephaven/proto/util/OperationHelper.java b/proto/proto-backplane-grpc/src/main/java/io/deephaven/proto/util/OperationHelper.java index a113bc0f6e3..80df5e53a87 100644 --- a/proto/proto-backplane-grpc/src/main/java/io/deephaven/proto/util/OperationHelper.java +++ b/proto/proto-backplane-grpc/src/main/java/io/deephaven/proto/util/OperationHelper.java @@ -76,6 +76,8 @@ public static Stream getSourceIds(Operation op) { return Stream.of(op.getSnapshotWhen().getBaseId(), op.getSnapshotWhen().getTriggerId()); case FLATTEN: return Stream.of(op.getFlatten().getSourceId()); + case META_TABLE: + return Stream.of(op.getMetaTable().getSourceId()); case RUN_CHART_DOWNSAMPLE: return Stream.of(op.getRunChartDownsample().getSourceId()); case FETCH_TABLE: diff --git a/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/table.proto b/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/table.proto index 2c41574a052..66228de0b6c 100644 --- a/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/table.proto +++ b/proto/proto-backplane-grpc/src/main/proto/deephaven/proto/table.proto @@ -229,6 +229,12 @@ service TableService { * Seek a row number within a table. */ rpc SeekRow(SeekRowRequest) returns (SeekRowResponse) {} + + /* + * Returns the meta table of a table. + */ + rpc MetaTable(MetaTableRequest) returns (ExportedTableCreationResponse) {} + } message TableReference { @@ -993,6 +999,11 @@ message FlattenRequest { TableReference source_id = 2; } +message MetaTableRequest { + Ticket result_id = 1; + TableReference source_id = 2; +} + message RunChartDownsampleRequest { message ZoomRange { optional int64 min_date_nanos = 1 [jstype=JS_STRING]; @@ -1087,6 +1098,7 @@ message BatchTableRequest { AggregateRequest aggregate = 35; SnapshotTableRequest snapshot = 36; SnapshotWhenTableRequest snapshot_when = 37; + MetaTableRequest meta_table = 38; } } } diff --git a/py/client/pydeephaven/_table_ops.py b/py/client/pydeephaven/_table_ops.py index c3d2fbccb18..3b592a39ec4 100644 --- a/py/client/pydeephaven/_table_ops.py +++ b/py/client/pydeephaven/_table_ops.py @@ -624,3 +624,16 @@ def make_grpc_request(self, result_id, source_id=None): def make_grpc_request_for_batch(self, result_id, source_id): return table_pb2.BatchTableRequest.Operation( where_in=self.make_grpc_request(result_id=result_id, source_id=source_id)) + + +class MetaTableOp(TableOp): + @classmethod + def get_stub_func(cls, table_service_stub: table_pb2_grpc.TableServiceStub): + return table_service_stub.MetaTable + + def make_grpc_request(self, result_id, source_id): + return table_pb2.MetaTableRequest(result_id=result_id, source_id=source_id) + + def make_grpc_request_for_batch(self, result_id, source_id): + return table_pb2.BatchTableRequest.Operation( + meta_table=self.make_grpc_request(result_id=result_id, source_id=source_id)) diff --git a/py/client/pydeephaven/proto/table_pb2.py b/py/client/pydeephaven/proto/table_pb2.py index ff2b9bfd93f..ff36068b8fc 100644 --- a/py/client/pydeephaven/proto/table_pb2.py +++ b/py/client/pydeephaven/proto/table_pb2.py @@ -14,7 +14,7 @@ from pydeephaven.proto import ticket_pb2 as deephaven_dot_proto_dot_ticket__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x64\x65\x65phaven/proto/table.proto\x12!io.deephaven.proto.backplane.grpc\x1a\x1c\x64\x65\x65phaven/proto/ticket.proto\"l\n\x0eTableReference\x12;\n\x06ticket\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.TicketH\x00\x12\x16\n\x0c\x62\x61tch_offset\x18\x02 \x01(\x11H\x00\x42\x05\n\x03ref\"\xc6\x01\n\x1d\x45xportedTableCreationResponse\x12\x44\n\tresult_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x12\n\nerror_info\x18\x03 \x01(\t\x12\x15\n\rschema_header\x18\x04 \x01(\x0c\x12\x11\n\tis_static\x18\x05 \x01(\x08\x12\x10\n\x04size\x18\x06 \x01(\x12\x42\x02\x30\x01\"\x97\x01\n\x11\x46\x65tchTableRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\xa0\x01\n\x1a\x41pplyPreviewColumnsRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\x1d\n\x1b\x45xportedTableUpdatesRequest\"\x8c\x01\n\x1a\x45xportedTableUpdateMessage\x12<\n\texport_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x10\n\x04size\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x1e\n\x16update_failure_message\x18\x03 \x01(\t\"c\n\x11\x45mptyTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x10\n\x04size\x18\x02 \x01(\x12\x42\x02\x30\x01\"\x88\x01\n\x10TimeTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x1c\n\x10start_time_nanos\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x18\n\x0cperiod_nanos\x18\x03 \x01(\x12\x42\x02\x30\x01\"\xb1\x01\n\x15SelectOrUpdateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_specs\x18\x03 \x03(\t\"\xea\x01\n\x0bMathContext\x12\x11\n\tprecision\x18\x01 \x01(\x11\x12R\n\rrounding_mode\x18\x02 \x01(\x0e\x32;.io.deephaven.proto.backplane.grpc.MathContext.RoundingMode\"t\n\x0cRoundingMode\x12\x06\n\x02UP\x10\x00\x12\x08\n\x04\x44OWN\x10\x01\x12\x0b\n\x07\x43\x45ILING\x10\x02\x12\t\n\x05\x46LOOR\x10\x03\x12\x0b\n\x07HALF_UP\x10\x04\x12\r\n\tHALF_DOWN\x10\x05\x12\r\n\tHALF_EVEN\x10\x06\x12\x0f\n\x0bUNNECESSARY\x10\x07\"\xe6\x1a\n\x0fUpdateByRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12S\n\x07options\x18\x03 \x01(\x0b\x32\x42.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions\x12X\n\noperations\x18\x04 \x03(\x0b\x32\x44.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation\x12\x18\n\x10group_by_columns\x18\x05 \x03(\t\x1a\xc3\x03\n\x0fUpdateByOptions\x12\x1c\n\x0fuse_redirection\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0e\x63hunk_capacity\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12.\n!max_static_sparse_memory_overhead\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12$\n\x17initial_hash_table_size\x18\x04 \x01(\x05H\x03\x88\x01\x01\x12 \n\x13maximum_load_factor\x18\x05 \x01(\x01H\x04\x88\x01\x01\x12\x1f\n\x12target_load_factor\x18\x06 \x01(\x01H\x05\x88\x01\x01\x12\x44\n\x0cmath_context\x18\x07 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.MathContextB\x12\n\x10_use_redirectionB\x11\n\x0f_chunk_capacityB$\n\"_max_static_sparse_memory_overheadB\x1a\n\x18_initial_hash_table_sizeB\x16\n\x14_maximum_load_factorB\x15\n\x13_target_load_factor\x1a\xbf\x14\n\x11UpdateByOperation\x12\x65\n\x06\x63olumn\x18\x01 \x01(\x0b\x32S.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumnH\x00\x1a\xba\x13\n\x0eUpdateByColumn\x12n\n\x04spec\x18\x01 \x01(\x0b\x32`.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x1a\xa2\x12\n\x0cUpdateBySpec\x12\x85\x01\n\x03sum\x18\x01 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeSumH\x00\x12\x85\x01\n\x03min\x18\x02 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMinH\x00\x12\x85\x01\n\x03max\x18\x03 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMaxH\x00\x12\x8d\x01\n\x07product\x18\x04 \x01(\x0b\x32z.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeProductH\x00\x12}\n\x04\x66ill\x18\x05 \x01(\x0b\x32m.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByFillH\x00\x12{\n\x03\x65ma\x18\x06 \x01(\x0b\x32l.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmaH\x00\x1a\x17\n\x15UpdateByCumulativeSum\x1a\x17\n\x15UpdateByCumulativeMin\x1a\x17\n\x15UpdateByCumulativeMax\x1a\x1b\n\x19UpdateByCumulativeProduct\x1a\x0e\n\x0cUpdateByFill\x1a\xed\n\n\x0bUpdateByEma\x12\x90\x01\n\x07options\x18\x01 \x01(\x0b\x32\x7f.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions\x12\x95\x01\n\ttimescale\x18\x02 \x01(\x0b\x32\x81\x01.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale\x1a\xe1\x04\n\x12UpdateByEmaOptions\x12N\n\ron_null_value\x18\x01 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehaviorH\x00\x88\x01\x01\x12M\n\x0con_nan_value\x18\x02 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehaviorH\x01\x88\x01\x01\x12M\n\x0con_null_time\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehaviorH\x02\x88\x01\x01\x12W\n\x16on_negative_delta_time\x18\x04 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehaviorH\x03\x88\x01\x01\x12S\n\x12on_zero_delta_time\x18\x05 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehaviorH\x04\x88\x01\x01\x12I\n\x11\x62ig_value_context\x18\x06 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.MathContextB\x10\n\x0e_on_null_valueB\x0f\n\r_on_nan_valueB\x0f\n\r_on_null_timeB\x19\n\x17_on_negative_delta_timeB\x15\n\x13_on_zero_delta_time\x1a\xce\x03\n\x14UpdateByEmaTimescale\x12\xa4\x01\n\x05ticks\x18\x01 \x01(\x0b\x32\x92\x01.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale.UpdateByEmaTicksH\x00\x12\xa2\x01\n\x04time\x18\x02 \x01(\x0b\x32\x91\x01.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale.UpdateByEmaTimeH\x00\x1a%\n\x10UpdateByEmaTicks\x12\x11\n\x05ticks\x18\x01 \x01(\x12\x42\x02\x30\x01\x1a;\n\x0fUpdateByEmaTime\x12\x0e\n\x06\x63olumn\x18\x01 \x01(\t\x12\x18\n\x0cperiod_nanos\x18\x02 \x01(\x12\x42\x02\x30\x01\x42\x06\n\x04typeB\x06\n\x04typeB\x06\n\x04type\"\xb1\x01\n\x15SelectDistinctRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\"\xae\x01\n\x12\x44ropColumnsRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\"\xb5\x01\n\x1eUnstructuredFilterTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07\x66ilters\x18\x03 \x03(\t\"\xad\x01\n\x11HeadOrTailRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x08num_rows\x18\x03 \x01(\x12\x42\x02\x30\x01\"\xce\x01\n\x13HeadOrTailByRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x08num_rows\x18\x03 \x01(\x12\x42\x02\x30\x01\x12\x1d\n\x15group_by_column_specs\x18\x04 \x03(\t\"\xc3\x01\n\x0eUngroupRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x11\n\tnull_fill\x18\x03 \x01(\x08\x12\x1a\n\x12\x63olumns_to_ungroup\x18\x04 \x03(\t\"\xad\x01\n\x12MergeTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x45\n\nsource_ids\x18\x02 \x03(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x12\n\nkey_column\x18\x03 \x01(\t\"\x9a\x01\n\x14SnapshotTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\xb1\x02\n\x18SnapshotWhenTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07\x62\x61se_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x45\n\ntrigger_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07initial\x18\x04 \x01(\x08\x12\x13\n\x0bincremental\x18\x05 \x01(\x08\x12\x0f\n\x07history\x18\x06 \x01(\x08\x12\x15\n\rstamp_columns\x18\x07 \x03(\t\"\xa7\x02\n\x16\x43rossJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\x12\x14\n\x0creserve_bits\x18\x06 \x01(\x05\"\x93\x02\n\x18NaturalJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\x91\x02\n\x16\x45xactJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\x90\x02\n\x15LeftJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\xc9\x03\n\x15\x41sOfJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\x12\\\n\x10\x61s_of_match_rule\x18\x07 \x01(\x0e\x32\x42.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.MatchRule\"Y\n\tMatchRule\x12\x13\n\x0fLESS_THAN_EQUAL\x10\x00\x12\r\n\tLESS_THAN\x10\x01\x12\x16\n\x12GREATER_THAN_EQUAL\x10\x02\x12\x10\n\x0cGREATER_THAN\x10\x03\"\xfe\x04\n\x15\x43omboAggregateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12V\n\naggregates\x18\x03 \x03(\x0b\x32\x42.io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate\x12\x18\n\x10group_by_columns\x18\x04 \x03(\t\x12\x13\n\x0b\x66orce_combo\x18\x05 \x01(\x08\x1a\xad\x01\n\tAggregate\x12N\n\x04type\x18\x01 \x01(\x0e\x32@.io.deephaven.proto.backplane.grpc.ComboAggregateRequest.AggType\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x12\x13\n\x0b\x63olumn_name\x18\x03 \x01(\t\x12\x12\n\npercentile\x18\x04 \x01(\x01\x12\x12\n\navg_median\x18\x05 \x01(\x08\"\xa5\x01\n\x07\x41ggType\x12\x07\n\x03SUM\x10\x00\x12\x0b\n\x07\x41\x42S_SUM\x10\x01\x12\t\n\x05GROUP\x10\x02\x12\x07\n\x03\x41VG\x10\x03\x12\t\n\x05\x43OUNT\x10\x04\x12\t\n\x05\x46IRST\x10\x05\x12\x08\n\x04LAST\x10\x06\x12\x07\n\x03MIN\x10\x07\x12\x07\n\x03MAX\x10\x08\x12\n\n\x06MEDIAN\x10\t\x12\x0e\n\nPERCENTILE\x10\n\x12\x07\n\x03STD\x10\x0b\x12\x07\n\x03VAR\x10\x0c\x12\x10\n\x0cWEIGHTED_AVG\x10\r:\x02\x18\x01\"\xed\x01\n\x13\x41ggregateAllRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x38\n\x04spec\x18\x03 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.AggSpec\x12\x18\n\x10group_by_columns\x18\x04 \x03(\t\"\xd7\x17\n\x07\x41ggSpec\x12K\n\x07\x61\x62s_sum\x18\x01 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAbsSumH\x00\x12i\n\x16\x61pproximate_percentile\x18\x02 \x01(\x0b\x32G.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecApproximatePercentileH\x00\x12\x44\n\x03\x61vg\x18\x03 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAvgH\x00\x12Y\n\x0e\x63ount_distinct\x18\x04 \x01(\x0b\x32?.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecCountDistinctH\x00\x12N\n\x08\x64istinct\x18\x05 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecDistinctH\x00\x12H\n\x05\x66irst\x18\x06 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFirstH\x00\x12L\n\x07\x66ormula\x18\x07 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFormulaH\x00\x12J\n\x06\x66reeze\x18\x08 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFreezeH\x00\x12H\n\x05group\x18\t \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecGroupH\x00\x12\x46\n\x04last\x18\n \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecLastH\x00\x12\x44\n\x03max\x18\x0b \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMaxH\x00\x12J\n\x06median\x18\x0c \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMedianH\x00\x12\x44\n\x03min\x18\r \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMinH\x00\x12R\n\npercentile\x18\x0e \x01(\x0b\x32<.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecPercentileH\x00\x12P\n\x0csorted_first\x18\x0f \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedH\x00\x12O\n\x0bsorted_last\x18\x10 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedH\x00\x12\x44\n\x03std\x18\x11 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecStdH\x00\x12\x44\n\x03sum\x18\x12 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSumH\x00\x12M\n\x08t_digest\x18\x13 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecTDigestH\x00\x12J\n\x06unique\x18\x14 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUniqueH\x00\x12R\n\x0cweighted_avg\x18\x15 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeightedH\x00\x12R\n\x0cweighted_sum\x18\x16 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeightedH\x00\x12\x44\n\x03var\x18\x17 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecVarH\x00\x1a\\\n\x1c\x41ggSpecApproximatePercentile\x12\x12\n\npercentile\x18\x01 \x01(\x01\x12\x18\n\x0b\x63ompression\x18\x02 \x01(\x01H\x00\x88\x01\x01\x42\x0e\n\x0c_compression\x1a+\n\x14\x41ggSpecCountDistinct\x12\x13\n\x0b\x63ount_nulls\x18\x01 \x01(\x08\x1a(\n\x0f\x41ggSpecDistinct\x12\x15\n\rinclude_nulls\x18\x01 \x01(\x08\x1a\x36\n\x0e\x41ggSpecFormula\x12\x0f\n\x07\x66ormula\x18\x01 \x01(\t\x12\x13\n\x0bparam_token\x18\x02 \x01(\t\x1a/\n\rAggSpecMedian\x12\x1e\n\x16\x61verage_evenly_divided\x18\x01 \x01(\x08\x1aG\n\x11\x41ggSpecPercentile\x12\x12\n\npercentile\x18\x01 \x01(\x01\x12\x1e\n\x16\x61verage_evenly_divided\x18\x02 \x01(\x08\x1a`\n\rAggSpecSorted\x12O\n\x07\x63olumns\x18\x01 \x03(\x0b\x32>.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedColumn\x1a*\n\x13\x41ggSpecSortedColumn\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1a:\n\x0e\x41ggSpecTDigest\x12\x18\n\x0b\x63ompression\x18\x01 \x01(\x01H\x00\x88\x01\x01\x42\x0e\n\x0c_compression\x1a\x88\x01\n\rAggSpecUnique\x12\x15\n\rinclude_nulls\x18\x01 \x01(\x08\x12`\n\x13non_unique_sentinel\x18\x02 \x01(\x0b\x32\x43.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel\x1a\xb5\x02\n\x18\x41ggSpecNonUniqueSentinel\x12\x42\n\nnull_value\x18\x01 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.NullValueH\x00\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x13\n\tint_value\x18\x03 \x01(\x11H\x00\x12\x18\n\nlong_value\x18\x04 \x01(\x12\x42\x02\x30\x01H\x00\x12\x15\n\x0b\x66loat_value\x18\x05 \x01(\x02H\x00\x12\x16\n\x0c\x64ouble_value\x18\x06 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x07 \x01(\x08H\x00\x12\x14\n\nbyte_value\x18\x08 \x01(\x11H\x00\x12\x15\n\x0bshort_value\x18\t \x01(\x11H\x00\x12\x14\n\nchar_value\x18\n \x01(\x11H\x00\x42\x06\n\x04type\x1a(\n\x0f\x41ggSpecWeighted\x12\x15\n\rweight_column\x18\x01 \x01(\t\x1a\x0f\n\rAggSpecAbsSum\x1a\x0c\n\nAggSpecAvg\x1a\x0e\n\x0c\x41ggSpecFirst\x1a\x0f\n\rAggSpecFreeze\x1a\x0e\n\x0c\x41ggSpecGroup\x1a\r\n\x0b\x41ggSpecLast\x1a\x0c\n\nAggSpecMax\x1a\x0c\n\nAggSpecMin\x1a\x0c\n\nAggSpecStd\x1a\x0c\n\nAggSpecSum\x1a\x0c\n\nAggSpecVarB\x06\n\x04type\"\xdc\x02\n\x10\x41ggregateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12L\n\x11initial_groups_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x16\n\x0epreserve_empty\x18\x04 \x01(\x08\x12\x44\n\x0c\x61ggregations\x18\x05 \x03(\x0b\x32..io.deephaven.proto.backplane.grpc.Aggregation\x12\x18\n\x10group_by_columns\x18\x06 \x03(\t\"\xd3\x05\n\x0b\x41ggregation\x12T\n\x07\x63olumns\x18\x01 \x01(\x0b\x32\x41.io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumnsH\x00\x12P\n\x05\x63ount\x18\x02 \x01(\x0b\x32?.io.deephaven.proto.backplane.grpc.Aggregation.AggregationCountH\x00\x12Y\n\rfirst_row_key\x18\x03 \x01(\x0b\x32@.io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKeyH\x00\x12X\n\x0clast_row_key\x18\x04 \x01(\x0b\x32@.io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKeyH\x00\x12X\n\tpartition\x18\x05 \x01(\x0b\x32\x43.io.deephaven.proto.backplane.grpc.Aggregation.AggregationPartitionH\x00\x1a\x63\n\x12\x41ggregationColumns\x12\x38\n\x04spec\x18\x01 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.AggSpec\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x1a\'\n\x10\x41ggregationCount\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1a(\n\x11\x41ggregationRowKey\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1aM\n\x14\x41ggregationPartition\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12 \n\x18include_group_by_columns\x18\x02 \x01(\x08\x42\x06\n\x04type\"\xe1\x01\n\x0eSortDescriptor\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x13\n\x0bis_absolute\x18\x02 \x01(\x08\x12R\n\tdirection\x18\x03 \x01(\x0e\x32?.io.deephaven.proto.backplane.grpc.SortDescriptor.SortDirection\"Q\n\rSortDirection\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x17\n\nDESCENDING\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\r\n\tASCENDING\x10\x01\x12\x0b\n\x07REVERSE\x10\x02\"\xd8\x01\n\x10SortTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12@\n\x05sorts\x18\x03 \x03(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.SortDescriptor\"\xd7\x01\n\x12\x46ilterTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12=\n\x07\x66ilters\x18\x03 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"\xf9\x01\n\x0eSeekRowRequest\x12<\n\tsource_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x18\n\x0cstarting_row\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x13\n\x0b\x63olumn_name\x18\x03 \x01(\t\x12>\n\nseek_value\x18\x04 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.Literal\x12\x13\n\x0binsensitive\x18\x05 \x01(\x08\x12\x10\n\x08\x63ontains\x18\x06 \x01(\x08\x12\x13\n\x0bis_backward\x18\x07 \x01(\x08\")\n\x0fSeekRowResponse\x12\x16\n\nresult_row\x18\x01 \x01(\x12\x42\x02\x30\x01\" \n\tReference\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\"\x91\x01\n\x07Literal\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x16\n\x0c\x64ouble_value\x18\x02 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x18\n\nlong_value\x18\x04 \x01(\x12\x42\x02\x30\x01H\x00\x12\x1d\n\x0fnano_time_value\x18\x05 \x01(\x12\x42\x02\x30\x01H\x00\x42\x07\n\x05value\"\x91\x01\n\x05Value\x12\x41\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.ReferenceH\x00\x12=\n\x07literal\x18\x02 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.LiteralH\x00\x42\x06\n\x04\x64\x61ta\"\xbc\x05\n\tCondition\x12>\n\x03\x61nd\x18\x01 \x01(\x0b\x32/.io.deephaven.proto.backplane.grpc.AndConditionH\x00\x12<\n\x02or\x18\x02 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.OrConditionH\x00\x12>\n\x03not\x18\x03 \x01(\x0b\x32/.io.deephaven.proto.backplane.grpc.NotConditionH\x00\x12\x46\n\x07\x63ompare\x18\x04 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.CompareConditionH\x00\x12<\n\x02in\x18\x05 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.InConditionH\x00\x12\x44\n\x06invoke\x18\x06 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.InvokeConditionH\x00\x12\x45\n\x07is_null\x18\x07 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.IsNullConditionH\x00\x12\x46\n\x07matches\x18\x08 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.MatchesConditionH\x00\x12H\n\x08\x63ontains\x18\t \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.ContainsConditionH\x00\x12\x44\n\x06search\x18\n \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.SearchConditionH\x00\x42\x06\n\x04\x64\x61ta\"M\n\x0c\x41ndCondition\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"L\n\x0bOrCondition\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"L\n\x0cNotCondition\x12<\n\x06\x66ilter\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"\xac\x03\n\x10\x43ompareCondition\x12W\n\toperation\x18\x01 \x01(\x0e\x32\x44.io.deephaven.proto.backplane.grpc.CompareCondition.CompareOperation\x12L\n\x10\x63\x61se_sensitivity\x18\x02 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12\x35\n\x03lhs\x18\x03 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12\x35\n\x03rhs\x18\x04 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\"\x82\x01\n\x10\x43ompareOperation\x12\r\n\tLESS_THAN\x10\x00\x12\x16\n\x12LESS_THAN_OR_EQUAL\x10\x01\x12\x10\n\x0cGREATER_THAN\x10\x02\x12\x19\n\x15GREATER_THAN_OR_EQUAL\x10\x03\x12\n\n\x06\x45QUALS\x10\x04\x12\x0e\n\nNOT_EQUALS\x10\x05\"\x95\x02\n\x0bInCondition\x12\x38\n\x06target\x18\x01 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12<\n\ncandidates\x18\x02 \x03(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"\x98\x01\n\x0fInvokeCondition\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\x38\n\x06target\x18\x02 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12;\n\targuments\x18\x03 \x03(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\"R\n\x0fIsNullCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\"\xf2\x01\n\x10MatchesCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\x12\r\n\x05regex\x18\x02 \x01(\t\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"\xfb\x01\n\x11\x43ontainsCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\x12\x15\n\rsearch_string\x18\x02 \x01(\t\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"s\n\x0fSearchCondition\x12\x15\n\rsearch_string\x18\x01 \x01(\t\x12I\n\x13optional_references\x18\x02 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\"\x94\x01\n\x0e\x46lattenRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\xb4\x03\n\x19RunChartDownsampleRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x13\n\x0bpixel_count\x18\x03 \x01(\x05\x12Z\n\nzoom_range\x18\x04 \x01(\x0b\x32\x46.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange\x12\x15\n\rx_column_name\x18\x05 \x01(\t\x12\x16\n\x0ey_column_names\x18\x06 \x03(\t\x1as\n\tZoomRange\x12\x1f\n\x0emin_date_nanos\x18\x01 \x01(\x03\x42\x02\x30\x01H\x00\x88\x01\x01\x12\x1f\n\x0emax_date_nanos\x18\x02 \x01(\x03\x42\x02\x30\x01H\x01\x88\x01\x01\x42\x11\n\x0f_min_date_nanosB\x11\n\x0f_max_date_nanos\"\xf5\x04\n\x17\x43reateInputTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12L\n\x0fsource_table_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReferenceH\x00\x12\x10\n\x06schema\x18\x03 \x01(\x0cH\x00\x12W\n\x04kind\x18\x04 \x01(\x0b\x32I.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind\x1a\xd4\x02\n\x0eInputTableKind\x12}\n\x15in_memory_append_only\x18\x01 \x01(\x0b\x32\\.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryAppendOnlyH\x00\x12{\n\x14in_memory_key_backed\x18\x02 \x01(\x0b\x32[.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryKeyBackedH\x00\x1a\x14\n\x12InMemoryAppendOnly\x1a(\n\x11InMemoryKeyBacked\x12\x13\n\x0bkey_columns\x18\x01 \x03(\tB\x06\n\x04kindB\x0c\n\ndefinition\"\x83\x02\n\x0eWhereInRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x10\n\x08inverted\x18\x04 \x01(\x08\x12\x18\n\x10\x63olumns_to_match\x18\x05 \x03(\t\"\xc4\x16\n\x11\x42\x61tchTableRequest\x12K\n\x03ops\x18\x01 \x03(\x0b\x32>.io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation\x1a\xe1\x15\n\tOperation\x12K\n\x0b\x65mpty_table\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.EmptyTableRequestH\x00\x12I\n\ntime_table\x18\x02 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.TimeTableRequestH\x00\x12M\n\x0c\x64rop_columns\x18\x03 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.DropColumnsRequestH\x00\x12J\n\x06update\x18\x04 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12O\n\x0blazy_update\x18\x05 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12H\n\x04view\x18\x06 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12O\n\x0bupdate_view\x18\x07 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12J\n\x06select\x18\x08 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12S\n\x0fselect_distinct\x18\t \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectDistinctRequestH\x00\x12G\n\x06\x66ilter\x18\n \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.FilterTableRequestH\x00\x12`\n\x13unstructured_filter\x18\x0b \x01(\x0b\x32\x41.io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequestH\x00\x12\x43\n\x04sort\x18\x0c \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.SortTableRequestH\x00\x12\x44\n\x04head\x18\r \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequestH\x00\x12\x44\n\x04tail\x18\x0e \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequestH\x00\x12I\n\x07head_by\x18\x0f \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequestH\x00\x12I\n\x07tail_by\x18\x10 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequestH\x00\x12\x44\n\x07ungroup\x18\x11 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.UngroupRequestH\x00\x12\x46\n\x05merge\x18\x12 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.MergeTablesRequestH\x00\x12S\n\x0f\x63ombo_aggregate\x18\x13 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.ComboAggregateRequestH\x00\x12\x44\n\x07\x66latten\x18\x15 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.FlattenRequestH\x00\x12\\\n\x14run_chart_downsample\x18\x16 \x01(\x0b\x32<.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequestH\x00\x12O\n\ncross_join\x18\x17 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.CrossJoinTablesRequestH\x00\x12S\n\x0cnatural_join\x18\x18 \x01(\x0b\x32;.io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequestH\x00\x12O\n\nexact_join\x18\x19 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.ExactJoinTablesRequestH\x00\x12M\n\tleft_join\x18\x1a \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.LeftJoinTablesRequestH\x00\x12N\n\nas_of_join\x18\x1b \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequestH\x00\x12K\n\x0b\x66\x65tch_table\x18\x1c \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.FetchTableRequestH\x00\x12^\n\x15\x61pply_preview_columns\x18\x1e \x01(\x0b\x32=.io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequestH\x00\x12X\n\x12\x63reate_input_table\x18\x1f \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.CreateInputTableRequestH\x00\x12G\n\tupdate_by\x18 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.UpdateByRequestH\x00\x12\x45\n\x08where_in\x18! \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.WhereInRequestH\x00\x12O\n\raggregate_all\x18\" \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.AggregateAllRequestH\x00\x12H\n\taggregate\x18# \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.AggregateRequestH\x00\x12K\n\x08snapshot\x18$ \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.SnapshotTableRequestH\x00\x12T\n\rsnapshot_when\x18% \x01(\x0b\x32;.io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequestH\x00\x42\x04\n\x02opJ\x04\x08\x14\x10\x15J\x04\x08\x1d\x10\x1e*=\n\x0f\x42\x61\x64\x44\x61taBehavior\x12\t\n\x05THROW\x10\x00\x12\t\n\x05RESET\x10\x01\x12\x08\n\x04SKIP\x10\x02\x12\n\n\x06POISON\x10\x03*\x1b\n\tNullValue\x12\x0e\n\nNULL_VALUE\x10\x00*2\n\x0f\x43\x61seSensitivity\x12\x0e\n\nMATCH_CASE\x10\x00\x12\x0f\n\x0bIGNORE_CASE\x10\x01*&\n\tMatchType\x12\x0b\n\x07REGULAR\x10\x00\x12\x0c\n\x08INVERTED\x10\x01\x32\xde*\n\x0cTableService\x12\x91\x01\n GetExportedTableCreationResponse\x12).io.deephaven.proto.backplane.grpc.Ticket\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\nFetchTable\x12\x34.io.deephaven.proto.backplane.grpc.FetchTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x98\x01\n\x13\x41pplyPreviewColumns\x12=.io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\nEmptyTable\x12\x34.io.deephaven.proto.backplane.grpc.EmptyTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\tTimeTable\x12\x33.io.deephaven.proto.backplane.grpc.TimeTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x88\x01\n\x0b\x44ropColumns\x12\x35.io.deephaven.proto.backplane.grpc.DropColumnsRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\x06Update\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8a\x01\n\nLazyUpdate\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x04View\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8a\x01\n\nUpdateView\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\x06Select\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x82\x01\n\x08UpdateBy\x12\x32.io.deephaven.proto.backplane.grpc.UpdateByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0eSelectDistinct\x12\x38.io.deephaven.proto.backplane.grpc.SelectDistinctRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x83\x01\n\x06\x46ilter\x12\x35.io.deephaven.proto.backplane.grpc.FilterTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x9b\x01\n\x12UnstructuredFilter\x12\x41.io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x7f\n\x04Sort\x12\x33.io.deephaven.proto.backplane.grpc.SortTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x04Head\x12\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x04Tail\x12\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x06HeadBy\x12\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x06TailBy\x12\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07Ungroup\x12\x31.io.deephaven.proto.backplane.grpc.UngroupRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x88\x01\n\x0bMergeTables\x12\x35.io.deephaven.proto.backplane.grpc.MergeTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0f\x43rossJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x94\x01\n\x11NaturalJoinTables\x12;.io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0f\x45xactJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0eLeftJoinTables\x12\x38.io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0e\x41sOfJoinTables\x12\x38.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x91\x01\n\x0e\x43omboAggregate\x12\x38.io.deephaven.proto.backplane.grpc.ComboAggregateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x03\x88\x02\x01\x12\x8a\x01\n\x0c\x41ggregateAll\x12\x36.io.deephaven.proto.backplane.grpc.AggregateAllRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\tAggregate\x12\x33.io.deephaven.proto.backplane.grpc.AggregateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x87\x01\n\x08Snapshot\x12\x37.io.deephaven.proto.backplane.grpc.SnapshotTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8f\x01\n\x0cSnapshotWhen\x12;.io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07\x46latten\x12\x31.io.deephaven.proto.backplane.grpc.FlattenRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x96\x01\n\x12RunChartDownsample\x12<.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x92\x01\n\x10\x43reateInputTable\x12:.io.deephaven.proto.backplane.grpc.CreateInputTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07WhereIn\x12\x31.io.deephaven.proto.backplane.grpc.WhereInRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x83\x01\n\x05\x42\x61tch\x12\x34.io.deephaven.proto.backplane.grpc.BatchTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x30\x01\x12\x99\x01\n\x14\x45xportedTableUpdates\x12>.io.deephaven.proto.backplane.grpc.ExportedTableUpdatesRequest\x1a=.io.deephaven.proto.backplane.grpc.ExportedTableUpdateMessage\"\x00\x30\x01\x12r\n\x07SeekRow\x12\x31.io.deephaven.proto.backplane.grpc.SeekRowRequest\x1a\x32.io.deephaven.proto.backplane.grpc.SeekRowResponse\"\x00\x42\x41H\x01P\x01Z;github.com/deephaven/deephaven-core/go/internal/proto/tableb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x64\x65\x65phaven/proto/table.proto\x12!io.deephaven.proto.backplane.grpc\x1a\x1c\x64\x65\x65phaven/proto/ticket.proto\"l\n\x0eTableReference\x12;\n\x06ticket\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.TicketH\x00\x12\x16\n\x0c\x62\x61tch_offset\x18\x02 \x01(\x11H\x00\x42\x05\n\x03ref\"\xc6\x01\n\x1d\x45xportedTableCreationResponse\x12\x44\n\tresult_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\x12\n\nerror_info\x18\x03 \x01(\t\x12\x15\n\rschema_header\x18\x04 \x01(\x0c\x12\x11\n\tis_static\x18\x05 \x01(\x08\x12\x10\n\x04size\x18\x06 \x01(\x12\x42\x02\x30\x01\"\x97\x01\n\x11\x46\x65tchTableRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\xa0\x01\n\x1a\x41pplyPreviewColumnsRequest\x12\x44\n\tsource_id\x18\x01 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12<\n\tresult_id\x18\x02 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\"\x1d\n\x1b\x45xportedTableUpdatesRequest\"\x8c\x01\n\x1a\x45xportedTableUpdateMessage\x12<\n\texport_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x10\n\x04size\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x1e\n\x16update_failure_message\x18\x03 \x01(\t\"c\n\x11\x45mptyTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x10\n\x04size\x18\x02 \x01(\x12\x42\x02\x30\x01\"\x88\x01\n\x10TimeTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x1c\n\x10start_time_nanos\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x18\n\x0cperiod_nanos\x18\x03 \x01(\x12\x42\x02\x30\x01\"\xb1\x01\n\x15SelectOrUpdateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_specs\x18\x03 \x03(\t\"\xea\x01\n\x0bMathContext\x12\x11\n\tprecision\x18\x01 \x01(\x11\x12R\n\rrounding_mode\x18\x02 \x01(\x0e\x32;.io.deephaven.proto.backplane.grpc.MathContext.RoundingMode\"t\n\x0cRoundingMode\x12\x06\n\x02UP\x10\x00\x12\x08\n\x04\x44OWN\x10\x01\x12\x0b\n\x07\x43\x45ILING\x10\x02\x12\t\n\x05\x46LOOR\x10\x03\x12\x0b\n\x07HALF_UP\x10\x04\x12\r\n\tHALF_DOWN\x10\x05\x12\r\n\tHALF_EVEN\x10\x06\x12\x0f\n\x0bUNNECESSARY\x10\x07\"\xe6\x1a\n\x0fUpdateByRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12S\n\x07options\x18\x03 \x01(\x0b\x32\x42.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOptions\x12X\n\noperations\x18\x04 \x03(\x0b\x32\x44.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation\x12\x18\n\x10group_by_columns\x18\x05 \x03(\t\x1a\xc3\x03\n\x0fUpdateByOptions\x12\x1c\n\x0fuse_redirection\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0e\x63hunk_capacity\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12.\n!max_static_sparse_memory_overhead\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12$\n\x17initial_hash_table_size\x18\x04 \x01(\x05H\x03\x88\x01\x01\x12 \n\x13maximum_load_factor\x18\x05 \x01(\x01H\x04\x88\x01\x01\x12\x1f\n\x12target_load_factor\x18\x06 \x01(\x01H\x05\x88\x01\x01\x12\x44\n\x0cmath_context\x18\x07 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.MathContextB\x12\n\x10_use_redirectionB\x11\n\x0f_chunk_capacityB$\n\"_max_static_sparse_memory_overheadB\x1a\n\x18_initial_hash_table_sizeB\x16\n\x14_maximum_load_factorB\x15\n\x13_target_load_factor\x1a\xbf\x14\n\x11UpdateByOperation\x12\x65\n\x06\x63olumn\x18\x01 \x01(\x0b\x32S.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumnH\x00\x1a\xba\x13\n\x0eUpdateByColumn\x12n\n\x04spec\x18\x01 \x01(\x0b\x32`.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x1a\xa2\x12\n\x0cUpdateBySpec\x12\x85\x01\n\x03sum\x18\x01 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeSumH\x00\x12\x85\x01\n\x03min\x18\x02 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMinH\x00\x12\x85\x01\n\x03max\x18\x03 \x01(\x0b\x32v.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeMaxH\x00\x12\x8d\x01\n\x07product\x18\x04 \x01(\x0b\x32z.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByCumulativeProductH\x00\x12}\n\x04\x66ill\x18\x05 \x01(\x0b\x32m.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByFillH\x00\x12{\n\x03\x65ma\x18\x06 \x01(\x0b\x32l.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEmaH\x00\x1a\x17\n\x15UpdateByCumulativeSum\x1a\x17\n\x15UpdateByCumulativeMin\x1a\x17\n\x15UpdateByCumulativeMax\x1a\x1b\n\x19UpdateByCumulativeProduct\x1a\x0e\n\x0cUpdateByFill\x1a\xed\n\n\x0bUpdateByEma\x12\x90\x01\n\x07options\x18\x01 \x01(\x0b\x32\x7f.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaOptions\x12\x95\x01\n\ttimescale\x18\x02 \x01(\x0b\x32\x81\x01.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale\x1a\xe1\x04\n\x12UpdateByEmaOptions\x12N\n\ron_null_value\x18\x01 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehaviorH\x00\x88\x01\x01\x12M\n\x0con_nan_value\x18\x02 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehaviorH\x01\x88\x01\x01\x12M\n\x0con_null_time\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehaviorH\x02\x88\x01\x01\x12W\n\x16on_negative_delta_time\x18\x04 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehaviorH\x03\x88\x01\x01\x12S\n\x12on_zero_delta_time\x18\x05 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.BadDataBehaviorH\x04\x88\x01\x01\x12I\n\x11\x62ig_value_context\x18\x06 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.MathContextB\x10\n\x0e_on_null_valueB\x0f\n\r_on_nan_valueB\x0f\n\r_on_null_timeB\x19\n\x17_on_negative_delta_timeB\x15\n\x13_on_zero_delta_time\x1a\xce\x03\n\x14UpdateByEmaTimescale\x12\xa4\x01\n\x05ticks\x18\x01 \x01(\x0b\x32\x92\x01.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale.UpdateByEmaTicksH\x00\x12\xa2\x01\n\x04time\x18\x02 \x01(\x0b\x32\x91\x01.io.deephaven.proto.backplane.grpc.UpdateByRequest.UpdateByOperation.UpdateByColumn.UpdateBySpec.UpdateByEma.UpdateByEmaTimescale.UpdateByEmaTimeH\x00\x1a%\n\x10UpdateByEmaTicks\x12\x11\n\x05ticks\x18\x01 \x01(\x12\x42\x02\x30\x01\x1a;\n\x0fUpdateByEmaTime\x12\x0e\n\x06\x63olumn\x18\x01 \x01(\t\x12\x18\n\x0cperiod_nanos\x18\x02 \x01(\x12\x42\x02\x30\x01\x42\x06\n\x04typeB\x06\n\x04typeB\x06\n\x04type\"\xb1\x01\n\x15SelectDistinctRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\"\xae\x01\n\x12\x44ropColumnsRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\"\xb5\x01\n\x1eUnstructuredFilterTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07\x66ilters\x18\x03 \x03(\t\"\xad\x01\n\x11HeadOrTailRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x08num_rows\x18\x03 \x01(\x12\x42\x02\x30\x01\"\xce\x01\n\x13HeadOrTailByRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x14\n\x08num_rows\x18\x03 \x01(\x12\x42\x02\x30\x01\x12\x1d\n\x15group_by_column_specs\x18\x04 \x03(\t\"\xc3\x01\n\x0eUngroupRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x11\n\tnull_fill\x18\x03 \x01(\x08\x12\x1a\n\x12\x63olumns_to_ungroup\x18\x04 \x03(\t\"\xad\x01\n\x12MergeTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x45\n\nsource_ids\x18\x02 \x03(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x12\n\nkey_column\x18\x03 \x01(\t\"\x9a\x01\n\x14SnapshotTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\xb1\x02\n\x18SnapshotWhenTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07\x62\x61se_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x45\n\ntrigger_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x0f\n\x07initial\x18\x04 \x01(\x08\x12\x13\n\x0bincremental\x18\x05 \x01(\x08\x12\x0f\n\x07history\x18\x06 \x01(\x08\x12\x15\n\rstamp_columns\x18\x07 \x03(\t\"\xa7\x02\n\x16\x43rossJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\x12\x14\n\x0creserve_bits\x18\x06 \x01(\x05\"\x93\x02\n\x18NaturalJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\x91\x02\n\x16\x45xactJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\x90\x02\n\x15LeftJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\"\xc9\x03\n\x15\x41sOfJoinTablesRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x18\n\x10\x63olumns_to_match\x18\x04 \x03(\t\x12\x16\n\x0e\x63olumns_to_add\x18\x05 \x03(\t\x12\\\n\x10\x61s_of_match_rule\x18\x07 \x01(\x0e\x32\x42.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest.MatchRule\"Y\n\tMatchRule\x12\x13\n\x0fLESS_THAN_EQUAL\x10\x00\x12\r\n\tLESS_THAN\x10\x01\x12\x16\n\x12GREATER_THAN_EQUAL\x10\x02\x12\x10\n\x0cGREATER_THAN\x10\x03\"\xfe\x04\n\x15\x43omboAggregateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12V\n\naggregates\x18\x03 \x03(\x0b\x32\x42.io.deephaven.proto.backplane.grpc.ComboAggregateRequest.Aggregate\x12\x18\n\x10group_by_columns\x18\x04 \x03(\t\x12\x13\n\x0b\x66orce_combo\x18\x05 \x01(\x08\x1a\xad\x01\n\tAggregate\x12N\n\x04type\x18\x01 \x01(\x0e\x32@.io.deephaven.proto.backplane.grpc.ComboAggregateRequest.AggType\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x12\x13\n\x0b\x63olumn_name\x18\x03 \x01(\t\x12\x12\n\npercentile\x18\x04 \x01(\x01\x12\x12\n\navg_median\x18\x05 \x01(\x08\"\xa5\x01\n\x07\x41ggType\x12\x07\n\x03SUM\x10\x00\x12\x0b\n\x07\x41\x42S_SUM\x10\x01\x12\t\n\x05GROUP\x10\x02\x12\x07\n\x03\x41VG\x10\x03\x12\t\n\x05\x43OUNT\x10\x04\x12\t\n\x05\x46IRST\x10\x05\x12\x08\n\x04LAST\x10\x06\x12\x07\n\x03MIN\x10\x07\x12\x07\n\x03MAX\x10\x08\x12\n\n\x06MEDIAN\x10\t\x12\x0e\n\nPERCENTILE\x10\n\x12\x07\n\x03STD\x10\x0b\x12\x07\n\x03VAR\x10\x0c\x12\x10\n\x0cWEIGHTED_AVG\x10\r:\x02\x18\x01\"\xed\x01\n\x13\x41ggregateAllRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x38\n\x04spec\x18\x03 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.AggSpec\x12\x18\n\x10group_by_columns\x18\x04 \x03(\t\"\xd7\x17\n\x07\x41ggSpec\x12K\n\x07\x61\x62s_sum\x18\x01 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAbsSumH\x00\x12i\n\x16\x61pproximate_percentile\x18\x02 \x01(\x0b\x32G.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecApproximatePercentileH\x00\x12\x44\n\x03\x61vg\x18\x03 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecAvgH\x00\x12Y\n\x0e\x63ount_distinct\x18\x04 \x01(\x0b\x32?.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecCountDistinctH\x00\x12N\n\x08\x64istinct\x18\x05 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecDistinctH\x00\x12H\n\x05\x66irst\x18\x06 \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFirstH\x00\x12L\n\x07\x66ormula\x18\x07 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFormulaH\x00\x12J\n\x06\x66reeze\x18\x08 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecFreezeH\x00\x12H\n\x05group\x18\t \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecGroupH\x00\x12\x46\n\x04last\x18\n \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecLastH\x00\x12\x44\n\x03max\x18\x0b \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMaxH\x00\x12J\n\x06median\x18\x0c \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMedianH\x00\x12\x44\n\x03min\x18\r \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecMinH\x00\x12R\n\npercentile\x18\x0e \x01(\x0b\x32<.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecPercentileH\x00\x12P\n\x0csorted_first\x18\x0f \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedH\x00\x12O\n\x0bsorted_last\x18\x10 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedH\x00\x12\x44\n\x03std\x18\x11 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecStdH\x00\x12\x44\n\x03sum\x18\x12 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSumH\x00\x12M\n\x08t_digest\x18\x13 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecTDigestH\x00\x12J\n\x06unique\x18\x14 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecUniqueH\x00\x12R\n\x0cweighted_avg\x18\x15 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeightedH\x00\x12R\n\x0cweighted_sum\x18\x16 \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecWeightedH\x00\x12\x44\n\x03var\x18\x17 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecVarH\x00\x1a\\\n\x1c\x41ggSpecApproximatePercentile\x12\x12\n\npercentile\x18\x01 \x01(\x01\x12\x18\n\x0b\x63ompression\x18\x02 \x01(\x01H\x00\x88\x01\x01\x42\x0e\n\x0c_compression\x1a+\n\x14\x41ggSpecCountDistinct\x12\x13\n\x0b\x63ount_nulls\x18\x01 \x01(\x08\x1a(\n\x0f\x41ggSpecDistinct\x12\x15\n\rinclude_nulls\x18\x01 \x01(\x08\x1a\x36\n\x0e\x41ggSpecFormula\x12\x0f\n\x07\x66ormula\x18\x01 \x01(\t\x12\x13\n\x0bparam_token\x18\x02 \x01(\t\x1a/\n\rAggSpecMedian\x12\x1e\n\x16\x61verage_evenly_divided\x18\x01 \x01(\x08\x1aG\n\x11\x41ggSpecPercentile\x12\x12\n\npercentile\x18\x01 \x01(\x01\x12\x1e\n\x16\x61verage_evenly_divided\x18\x02 \x01(\x08\x1a`\n\rAggSpecSorted\x12O\n\x07\x63olumns\x18\x01 \x03(\x0b\x32>.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecSortedColumn\x1a*\n\x13\x41ggSpecSortedColumn\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1a:\n\x0e\x41ggSpecTDigest\x12\x18\n\x0b\x63ompression\x18\x01 \x01(\x01H\x00\x88\x01\x01\x42\x0e\n\x0c_compression\x1a\x88\x01\n\rAggSpecUnique\x12\x15\n\rinclude_nulls\x18\x01 \x01(\x08\x12`\n\x13non_unique_sentinel\x18\x02 \x01(\x0b\x32\x43.io.deephaven.proto.backplane.grpc.AggSpec.AggSpecNonUniqueSentinel\x1a\xb5\x02\n\x18\x41ggSpecNonUniqueSentinel\x12\x42\n\nnull_value\x18\x01 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.NullValueH\x00\x12\x16\n\x0cstring_value\x18\x02 \x01(\tH\x00\x12\x13\n\tint_value\x18\x03 \x01(\x11H\x00\x12\x18\n\nlong_value\x18\x04 \x01(\x12\x42\x02\x30\x01H\x00\x12\x15\n\x0b\x66loat_value\x18\x05 \x01(\x02H\x00\x12\x16\n\x0c\x64ouble_value\x18\x06 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x07 \x01(\x08H\x00\x12\x14\n\nbyte_value\x18\x08 \x01(\x11H\x00\x12\x15\n\x0bshort_value\x18\t \x01(\x11H\x00\x12\x14\n\nchar_value\x18\n \x01(\x11H\x00\x42\x06\n\x04type\x1a(\n\x0f\x41ggSpecWeighted\x12\x15\n\rweight_column\x18\x01 \x01(\t\x1a\x0f\n\rAggSpecAbsSum\x1a\x0c\n\nAggSpecAvg\x1a\x0e\n\x0c\x41ggSpecFirst\x1a\x0f\n\rAggSpecFreeze\x1a\x0e\n\x0c\x41ggSpecGroup\x1a\r\n\x0b\x41ggSpecLast\x1a\x0c\n\nAggSpecMax\x1a\x0c\n\nAggSpecMin\x1a\x0c\n\nAggSpecStd\x1a\x0c\n\nAggSpecSum\x1a\x0c\n\nAggSpecVarB\x06\n\x04type\"\xdc\x02\n\x10\x41ggregateRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12L\n\x11initial_groups_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x16\n\x0epreserve_empty\x18\x04 \x01(\x08\x12\x44\n\x0c\x61ggregations\x18\x05 \x03(\x0b\x32..io.deephaven.proto.backplane.grpc.Aggregation\x12\x18\n\x10group_by_columns\x18\x06 \x03(\t\"\xd3\x05\n\x0b\x41ggregation\x12T\n\x07\x63olumns\x18\x01 \x01(\x0b\x32\x41.io.deephaven.proto.backplane.grpc.Aggregation.AggregationColumnsH\x00\x12P\n\x05\x63ount\x18\x02 \x01(\x0b\x32?.io.deephaven.proto.backplane.grpc.Aggregation.AggregationCountH\x00\x12Y\n\rfirst_row_key\x18\x03 \x01(\x0b\x32@.io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKeyH\x00\x12X\n\x0clast_row_key\x18\x04 \x01(\x0b\x32@.io.deephaven.proto.backplane.grpc.Aggregation.AggregationRowKeyH\x00\x12X\n\tpartition\x18\x05 \x01(\x0b\x32\x43.io.deephaven.proto.backplane.grpc.Aggregation.AggregationPartitionH\x00\x1a\x63\n\x12\x41ggregationColumns\x12\x38\n\x04spec\x18\x01 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.AggSpec\x12\x13\n\x0bmatch_pairs\x18\x02 \x03(\t\x1a\'\n\x10\x41ggregationCount\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1a(\n\x11\x41ggregationRowKey\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x1aM\n\x14\x41ggregationPartition\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12 \n\x18include_group_by_columns\x18\x02 \x01(\x08\x42\x06\n\x04type\"\xe1\x01\n\x0eSortDescriptor\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12\x13\n\x0bis_absolute\x18\x02 \x01(\x08\x12R\n\tdirection\x18\x03 \x01(\x0e\x32?.io.deephaven.proto.backplane.grpc.SortDescriptor.SortDirection\"Q\n\rSortDirection\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x17\n\nDESCENDING\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\r\n\tASCENDING\x10\x01\x12\x0b\n\x07REVERSE\x10\x02\"\xd8\x01\n\x10SortTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12@\n\x05sorts\x18\x03 \x03(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.SortDescriptor\"\xd7\x01\n\x12\x46ilterTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12=\n\x07\x66ilters\x18\x03 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"\xf9\x01\n\x0eSeekRowRequest\x12<\n\tsource_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x18\n\x0cstarting_row\x18\x02 \x01(\x12\x42\x02\x30\x01\x12\x13\n\x0b\x63olumn_name\x18\x03 \x01(\t\x12>\n\nseek_value\x18\x04 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.Literal\x12\x13\n\x0binsensitive\x18\x05 \x01(\x08\x12\x10\n\x08\x63ontains\x18\x06 \x01(\x08\x12\x13\n\x0bis_backward\x18\x07 \x01(\x08\")\n\x0fSeekRowResponse\x12\x16\n\nresult_row\x18\x01 \x01(\x12\x42\x02\x30\x01\" \n\tReference\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\"\x91\x01\n\x07Literal\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x16\n\x0c\x64ouble_value\x18\x02 \x01(\x01H\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x18\n\nlong_value\x18\x04 \x01(\x12\x42\x02\x30\x01H\x00\x12\x1d\n\x0fnano_time_value\x18\x05 \x01(\x12\x42\x02\x30\x01H\x00\x42\x07\n\x05value\"\x91\x01\n\x05Value\x12\x41\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.ReferenceH\x00\x12=\n\x07literal\x18\x02 \x01(\x0b\x32*.io.deephaven.proto.backplane.grpc.LiteralH\x00\x42\x06\n\x04\x64\x61ta\"\xbc\x05\n\tCondition\x12>\n\x03\x61nd\x18\x01 \x01(\x0b\x32/.io.deephaven.proto.backplane.grpc.AndConditionH\x00\x12<\n\x02or\x18\x02 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.OrConditionH\x00\x12>\n\x03not\x18\x03 \x01(\x0b\x32/.io.deephaven.proto.backplane.grpc.NotConditionH\x00\x12\x46\n\x07\x63ompare\x18\x04 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.CompareConditionH\x00\x12<\n\x02in\x18\x05 \x01(\x0b\x32..io.deephaven.proto.backplane.grpc.InConditionH\x00\x12\x44\n\x06invoke\x18\x06 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.InvokeConditionH\x00\x12\x45\n\x07is_null\x18\x07 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.IsNullConditionH\x00\x12\x46\n\x07matches\x18\x08 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.MatchesConditionH\x00\x12H\n\x08\x63ontains\x18\t \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.ContainsConditionH\x00\x12\x44\n\x06search\x18\n \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.SearchConditionH\x00\x42\x06\n\x04\x64\x61ta\"M\n\x0c\x41ndCondition\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"L\n\x0bOrCondition\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"L\n\x0cNotCondition\x12<\n\x06\x66ilter\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Condition\"\xac\x03\n\x10\x43ompareCondition\x12W\n\toperation\x18\x01 \x01(\x0e\x32\x44.io.deephaven.proto.backplane.grpc.CompareCondition.CompareOperation\x12L\n\x10\x63\x61se_sensitivity\x18\x02 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12\x35\n\x03lhs\x18\x03 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12\x35\n\x03rhs\x18\x04 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\"\x82\x01\n\x10\x43ompareOperation\x12\r\n\tLESS_THAN\x10\x00\x12\x16\n\x12LESS_THAN_OR_EQUAL\x10\x01\x12\x10\n\x0cGREATER_THAN\x10\x02\x12\x19\n\x15GREATER_THAN_OR_EQUAL\x10\x03\x12\n\n\x06\x45QUALS\x10\x04\x12\x0e\n\nNOT_EQUALS\x10\x05\"\x95\x02\n\x0bInCondition\x12\x38\n\x06target\x18\x01 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12<\n\ncandidates\x18\x02 \x03(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"\x98\x01\n\x0fInvokeCondition\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\x38\n\x06target\x18\x02 \x01(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\x12;\n\targuments\x18\x03 \x03(\x0b\x32(.io.deephaven.proto.backplane.grpc.Value\"R\n\x0fIsNullCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\"\xf2\x01\n\x10MatchesCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\x12\r\n\x05regex\x18\x02 \x01(\t\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"\xfb\x01\n\x11\x43ontainsCondition\x12?\n\treference\x18\x01 \x01(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\x12\x15\n\rsearch_string\x18\x02 \x01(\t\x12L\n\x10\x63\x61se_sensitivity\x18\x03 \x01(\x0e\x32\x32.io.deephaven.proto.backplane.grpc.CaseSensitivity\x12@\n\nmatch_type\x18\x04 \x01(\x0e\x32,.io.deephaven.proto.backplane.grpc.MatchType\"s\n\x0fSearchCondition\x12\x15\n\rsearch_string\x18\x01 \x01(\t\x12I\n\x13optional_references\x18\x02 \x03(\x0b\x32,.io.deephaven.proto.backplane.grpc.Reference\"\x94\x01\n\x0e\x46lattenRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\x96\x01\n\x10MetaTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\"\xb4\x03\n\x19RunChartDownsampleRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x44\n\tsource_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x13\n\x0bpixel_count\x18\x03 \x01(\x05\x12Z\n\nzoom_range\x18\x04 \x01(\x0b\x32\x46.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest.ZoomRange\x12\x15\n\rx_column_name\x18\x05 \x01(\t\x12\x16\n\x0ey_column_names\x18\x06 \x03(\t\x1as\n\tZoomRange\x12\x1f\n\x0emin_date_nanos\x18\x01 \x01(\x03\x42\x02\x30\x01H\x00\x88\x01\x01\x12\x1f\n\x0emax_date_nanos\x18\x02 \x01(\x03\x42\x02\x30\x01H\x01\x88\x01\x01\x42\x11\n\x0f_min_date_nanosB\x11\n\x0f_max_date_nanos\"\xf5\x04\n\x17\x43reateInputTableRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12L\n\x0fsource_table_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReferenceH\x00\x12\x10\n\x06schema\x18\x03 \x01(\x0cH\x00\x12W\n\x04kind\x18\x04 \x01(\x0b\x32I.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind\x1a\xd4\x02\n\x0eInputTableKind\x12}\n\x15in_memory_append_only\x18\x01 \x01(\x0b\x32\\.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryAppendOnlyH\x00\x12{\n\x14in_memory_key_backed\x18\x02 \x01(\x0b\x32[.io.deephaven.proto.backplane.grpc.CreateInputTableRequest.InputTableKind.InMemoryKeyBackedH\x00\x1a\x14\n\x12InMemoryAppendOnly\x1a(\n\x11InMemoryKeyBacked\x12\x13\n\x0bkey_columns\x18\x01 \x03(\tB\x06\n\x04kindB\x0c\n\ndefinition\"\x83\x02\n\x0eWhereInRequest\x12<\n\tresult_id\x18\x01 \x01(\x0b\x32).io.deephaven.proto.backplane.grpc.Ticket\x12\x42\n\x07left_id\x18\x02 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x43\n\x08right_id\x18\x03 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.TableReference\x12\x10\n\x08inverted\x18\x04 \x01(\x08\x12\x18\n\x10\x63olumns_to_match\x18\x05 \x03(\t\"\x8f\x17\n\x11\x42\x61tchTableRequest\x12K\n\x03ops\x18\x01 \x03(\x0b\x32>.io.deephaven.proto.backplane.grpc.BatchTableRequest.Operation\x1a\xac\x16\n\tOperation\x12K\n\x0b\x65mpty_table\x18\x01 \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.EmptyTableRequestH\x00\x12I\n\ntime_table\x18\x02 \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.TimeTableRequestH\x00\x12M\n\x0c\x64rop_columns\x18\x03 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.DropColumnsRequestH\x00\x12J\n\x06update\x18\x04 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12O\n\x0blazy_update\x18\x05 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12H\n\x04view\x18\x06 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12O\n\x0bupdate_view\x18\x07 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12J\n\x06select\x18\x08 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequestH\x00\x12S\n\x0fselect_distinct\x18\t \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.SelectDistinctRequestH\x00\x12G\n\x06\x66ilter\x18\n \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.FilterTableRequestH\x00\x12`\n\x13unstructured_filter\x18\x0b \x01(\x0b\x32\x41.io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequestH\x00\x12\x43\n\x04sort\x18\x0c \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.SortTableRequestH\x00\x12\x44\n\x04head\x18\r \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequestH\x00\x12\x44\n\x04tail\x18\x0e \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequestH\x00\x12I\n\x07head_by\x18\x0f \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequestH\x00\x12I\n\x07tail_by\x18\x10 \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequestH\x00\x12\x44\n\x07ungroup\x18\x11 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.UngroupRequestH\x00\x12\x46\n\x05merge\x18\x12 \x01(\x0b\x32\x35.io.deephaven.proto.backplane.grpc.MergeTablesRequestH\x00\x12S\n\x0f\x63ombo_aggregate\x18\x13 \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.ComboAggregateRequestH\x00\x12\x44\n\x07\x66latten\x18\x15 \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.FlattenRequestH\x00\x12\\\n\x14run_chart_downsample\x18\x16 \x01(\x0b\x32<.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequestH\x00\x12O\n\ncross_join\x18\x17 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.CrossJoinTablesRequestH\x00\x12S\n\x0cnatural_join\x18\x18 \x01(\x0b\x32;.io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequestH\x00\x12O\n\nexact_join\x18\x19 \x01(\x0b\x32\x39.io.deephaven.proto.backplane.grpc.ExactJoinTablesRequestH\x00\x12M\n\tleft_join\x18\x1a \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.LeftJoinTablesRequestH\x00\x12N\n\nas_of_join\x18\x1b \x01(\x0b\x32\x38.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequestH\x00\x12K\n\x0b\x66\x65tch_table\x18\x1c \x01(\x0b\x32\x34.io.deephaven.proto.backplane.grpc.FetchTableRequestH\x00\x12^\n\x15\x61pply_preview_columns\x18\x1e \x01(\x0b\x32=.io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequestH\x00\x12X\n\x12\x63reate_input_table\x18\x1f \x01(\x0b\x32:.io.deephaven.proto.backplane.grpc.CreateInputTableRequestH\x00\x12G\n\tupdate_by\x18 \x01(\x0b\x32\x32.io.deephaven.proto.backplane.grpc.UpdateByRequestH\x00\x12\x45\n\x08where_in\x18! \x01(\x0b\x32\x31.io.deephaven.proto.backplane.grpc.WhereInRequestH\x00\x12O\n\raggregate_all\x18\" \x01(\x0b\x32\x36.io.deephaven.proto.backplane.grpc.AggregateAllRequestH\x00\x12H\n\taggregate\x18# \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.AggregateRequestH\x00\x12K\n\x08snapshot\x18$ \x01(\x0b\x32\x37.io.deephaven.proto.backplane.grpc.SnapshotTableRequestH\x00\x12T\n\rsnapshot_when\x18% \x01(\x0b\x32;.io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequestH\x00\x12I\n\nmeta_table\x18& \x01(\x0b\x32\x33.io.deephaven.proto.backplane.grpc.MetaTableRequestH\x00\x42\x04\n\x02opJ\x04\x08\x14\x10\x15J\x04\x08\x1d\x10\x1e*=\n\x0f\x42\x61\x64\x44\x61taBehavior\x12\t\n\x05THROW\x10\x00\x12\t\n\x05RESET\x10\x01\x12\x08\n\x04SKIP\x10\x02\x12\n\n\x06POISON\x10\x03*\x1b\n\tNullValue\x12\x0e\n\nNULL_VALUE\x10\x00*2\n\x0f\x43\x61seSensitivity\x12\x0e\n\nMATCH_CASE\x10\x00\x12\x0f\n\x0bIGNORE_CASE\x10\x01*&\n\tMatchType\x12\x0b\n\x07REGULAR\x10\x00\x12\x0c\n\x08INVERTED\x10\x01\x32\xe5+\n\x0cTableService\x12\x91\x01\n GetExportedTableCreationResponse\x12).io.deephaven.proto.backplane.grpc.Ticket\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\nFetchTable\x12\x34.io.deephaven.proto.backplane.grpc.FetchTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x98\x01\n\x13\x41pplyPreviewColumns\x12=.io.deephaven.proto.backplane.grpc.ApplyPreviewColumnsRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\nEmptyTable\x12\x34.io.deephaven.proto.backplane.grpc.EmptyTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\tTimeTable\x12\x33.io.deephaven.proto.backplane.grpc.TimeTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x88\x01\n\x0b\x44ropColumns\x12\x35.io.deephaven.proto.backplane.grpc.DropColumnsRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\x06Update\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8a\x01\n\nLazyUpdate\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x04View\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8a\x01\n\nUpdateView\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x86\x01\n\x06Select\x12\x38.io.deephaven.proto.backplane.grpc.SelectOrUpdateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x82\x01\n\x08UpdateBy\x12\x32.io.deephaven.proto.backplane.grpc.UpdateByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0eSelectDistinct\x12\x38.io.deephaven.proto.backplane.grpc.SelectDistinctRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x83\x01\n\x06\x46ilter\x12\x35.io.deephaven.proto.backplane.grpc.FilterTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x9b\x01\n\x12UnstructuredFilter\x12\x41.io.deephaven.proto.backplane.grpc.UnstructuredFilterTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x7f\n\x04Sort\x12\x33.io.deephaven.proto.backplane.grpc.SortTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x04Head\x12\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x04Tail\x12\x34.io.deephaven.proto.backplane.grpc.HeadOrTailRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x06HeadBy\x12\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\x06TailBy\x12\x36.io.deephaven.proto.backplane.grpc.HeadOrTailByRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07Ungroup\x12\x31.io.deephaven.proto.backplane.grpc.UngroupRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x88\x01\n\x0bMergeTables\x12\x35.io.deephaven.proto.backplane.grpc.MergeTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0f\x43rossJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.CrossJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x94\x01\n\x11NaturalJoinTables\x12;.io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x90\x01\n\x0f\x45xactJoinTables\x12\x39.io.deephaven.proto.backplane.grpc.ExactJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0eLeftJoinTables\x12\x38.io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8e\x01\n\x0e\x41sOfJoinTables\x12\x38.io.deephaven.proto.backplane.grpc.AsOfJoinTablesRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x91\x01\n\x0e\x43omboAggregate\x12\x38.io.deephaven.proto.backplane.grpc.ComboAggregateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x03\x88\x02\x01\x12\x8a\x01\n\x0c\x41ggregateAll\x12\x36.io.deephaven.proto.backplane.grpc.AggregateAllRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x84\x01\n\tAggregate\x12\x33.io.deephaven.proto.backplane.grpc.AggregateRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x87\x01\n\x08Snapshot\x12\x37.io.deephaven.proto.backplane.grpc.SnapshotTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x8f\x01\n\x0cSnapshotWhen\x12;.io.deephaven.proto.backplane.grpc.SnapshotWhenTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07\x46latten\x12\x31.io.deephaven.proto.backplane.grpc.FlattenRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x96\x01\n\x12RunChartDownsample\x12<.io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x92\x01\n\x10\x43reateInputTable\x12:.io.deephaven.proto.backplane.grpc.CreateInputTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x80\x01\n\x07WhereIn\x12\x31.io.deephaven.proto.backplane.grpc.WhereInRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x12\x83\x01\n\x05\x42\x61tch\x12\x34.io.deephaven.proto.backplane.grpc.BatchTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x30\x01\x12\x99\x01\n\x14\x45xportedTableUpdates\x12>.io.deephaven.proto.backplane.grpc.ExportedTableUpdatesRequest\x1a=.io.deephaven.proto.backplane.grpc.ExportedTableUpdateMessage\"\x00\x30\x01\x12r\n\x07SeekRow\x12\x31.io.deephaven.proto.backplane.grpc.SeekRowRequest\x1a\x32.io.deephaven.proto.backplane.grpc.SeekRowResponse\"\x00\x12\x84\x01\n\tMetaTable\x12\x33.io.deephaven.proto.backplane.grpc.MetaTableRequest\x1a@.io.deephaven.proto.backplane.grpc.ExportedTableCreationResponse\"\x00\x42\x41H\x01P\x01Z;github.com/deephaven/deephaven-core/go/internal/proto/tableb\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'deephaven.proto.table_pb2', globals()) @@ -58,14 +58,14 @@ _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE.fields_by_name['max_date_nanos']._serialized_options = b'0\001' _TABLESERVICE.methods_by_name['ComboAggregate']._options = None _TABLESERVICE.methods_by_name['ComboAggregate']._serialized_options = b'\210\002\001' - _BADDATABEHAVIOR._serialized_start=21497 - _BADDATABEHAVIOR._serialized_end=21558 - _NULLVALUE._serialized_start=21560 - _NULLVALUE._serialized_end=21587 - _CASESENSITIVITY._serialized_start=21589 - _CASESENSITIVITY._serialized_end=21639 - _MATCHTYPE._serialized_start=21641 - _MATCHTYPE._serialized_end=21679 + _BADDATABEHAVIOR._serialized_start=21725 + _BADDATABEHAVIOR._serialized_end=21786 + _NULLVALUE._serialized_start=21788 + _NULLVALUE._serialized_end=21815 + _CASESENSITIVITY._serialized_start=21817 + _CASESENSITIVITY._serialized_end=21867 + _MATCHTYPE._serialized_start=21869 + _MATCHTYPE._serialized_end=21907 _TABLEREFERENCE._serialized_start=96 _TABLEREFERENCE._serialized_end=204 _EXPORTEDTABLECREATIONRESPONSE._serialized_start=207 @@ -260,24 +260,26 @@ _SEARCHCONDITION._serialized_end=17124 _FLATTENREQUEST._serialized_start=17127 _FLATTENREQUEST._serialized_end=17275 - _RUNCHARTDOWNSAMPLEREQUEST._serialized_start=17278 - _RUNCHARTDOWNSAMPLEREQUEST._serialized_end=17714 - _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE._serialized_start=17599 - _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE._serialized_end=17714 - _CREATEINPUTTABLEREQUEST._serialized_start=17717 - _CREATEINPUTTABLEREQUEST._serialized_end=18346 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND._serialized_start=17992 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND._serialized_end=18332 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYAPPENDONLY._serialized_start=18262 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYAPPENDONLY._serialized_end=18282 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYKEYBACKED._serialized_start=18284 - _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYKEYBACKED._serialized_end=18324 - _WHEREINREQUEST._serialized_start=18349 - _WHEREINREQUEST._serialized_end=18608 - _BATCHTABLEREQUEST._serialized_start=18611 - _BATCHTABLEREQUEST._serialized_end=21495 - _BATCHTABLEREQUEST_OPERATION._serialized_start=18710 - _BATCHTABLEREQUEST_OPERATION._serialized_end=21495 - _TABLESERVICE._serialized_start=21682 - _TABLESERVICE._serialized_end=27152 + _METATABLEREQUEST._serialized_start=17278 + _METATABLEREQUEST._serialized_end=17428 + _RUNCHARTDOWNSAMPLEREQUEST._serialized_start=17431 + _RUNCHARTDOWNSAMPLEREQUEST._serialized_end=17867 + _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE._serialized_start=17752 + _RUNCHARTDOWNSAMPLEREQUEST_ZOOMRANGE._serialized_end=17867 + _CREATEINPUTTABLEREQUEST._serialized_start=17870 + _CREATEINPUTTABLEREQUEST._serialized_end=18499 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND._serialized_start=18145 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND._serialized_end=18485 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYAPPENDONLY._serialized_start=18415 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYAPPENDONLY._serialized_end=18435 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYKEYBACKED._serialized_start=18437 + _CREATEINPUTTABLEREQUEST_INPUTTABLEKIND_INMEMORYKEYBACKED._serialized_end=18477 + _WHEREINREQUEST._serialized_start=18502 + _WHEREINREQUEST._serialized_end=18761 + _BATCHTABLEREQUEST._serialized_start=18764 + _BATCHTABLEREQUEST._serialized_end=21723 + _BATCHTABLEREQUEST_OPERATION._serialized_start=18863 + _BATCHTABLEREQUEST_OPERATION._serialized_end=21723 + _TABLESERVICE._serialized_start=21910 + _TABLESERVICE._serialized_end=27515 # @@protoc_insertion_point(module_scope) diff --git a/py/client/pydeephaven/proto/table_pb2_grpc.py b/py/client/pydeephaven/proto/table_pb2_grpc.py index 5e0904e9611..dedb01d5902 100644 --- a/py/client/pydeephaven/proto/table_pb2_grpc.py +++ b/py/client/pydeephaven/proto/table_pb2_grpc.py @@ -210,6 +210,11 @@ def __init__(self, channel): request_serializer=deephaven_dot_proto_dot_table__pb2.SeekRowRequest.SerializeToString, response_deserializer=deephaven_dot_proto_dot_table__pb2.SeekRowResponse.FromString, ) + self.MetaTable = channel.unary_unary( + '/io.deephaven.proto.backplane.grpc.TableService/MetaTable', + request_serializer=deephaven_dot_proto_dot_table__pb2.MetaTableRequest.SerializeToString, + response_deserializer=deephaven_dot_proto_dot_table__pb2.ExportedTableCreationResponse.FromString, + ) class TableServiceServicer(object): @@ -548,6 +553,14 @@ def SeekRow(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def MetaTable(self, request, context): + """ + Returns the meta table of a table. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_TableServiceServicer_to_server(servicer, server): rpc_method_handlers = { @@ -746,6 +759,11 @@ def add_TableServiceServicer_to_server(servicer, server): request_deserializer=deephaven_dot_proto_dot_table__pb2.SeekRowRequest.FromString, response_serializer=deephaven_dot_proto_dot_table__pb2.SeekRowResponse.SerializeToString, ), + 'MetaTable': grpc.unary_unary_rpc_method_handler( + servicer.MetaTable, + request_deserializer=deephaven_dot_proto_dot_table__pb2.MetaTableRequest.FromString, + response_serializer=deephaven_dot_proto_dot_table__pb2.ExportedTableCreationResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'io.deephaven.proto.backplane.grpc.TableService', rpc_method_handlers) @@ -1418,3 +1436,20 @@ def SeekRow(request, deephaven_dot_proto_dot_table__pb2.SeekRowResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def MetaTable(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/io.deephaven.proto.backplane.grpc.TableService/MetaTable', + deephaven_dot_proto_dot_table__pb2.MetaTableRequest.SerializeToString, + deephaven_dot_proto_dot_table__pb2.ExportedTableCreationResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/py/client/pydeephaven/table.py b/py/client/pydeephaven/table.py index 5b4077796ad..cc072f5ec51 100644 --- a/py/client/pydeephaven/table.py +++ b/py/client/pydeephaven/table.py @@ -8,6 +8,7 @@ import pyarrow as pa +from pydeephaven._table_ops import MetaTableOp from pydeephaven.dherror import DHError from pydeephaven._table_interface import TableInterface @@ -37,6 +38,7 @@ def __init__(self, session, ticket, schema_header=b'', size=None, is_static=None self.size = size if not schema: self._parse_schema(schema_header) + self._meta_table = None def __del__(self): try: @@ -72,6 +74,14 @@ def _parse_schema(self, schema_header): reader = pa.ipc.open_stream(schema_header) self.schema = reader.schema + @property + def meta_table(self) -> Table: + """ The column definitions of the table in a Table form. """ + if self._meta_table is None: + table_op = MetaTableOp() + self._meta_table = self.session.table_service.grpc_table_op(self, table_op) + return self._meta_table + def to_arrow(self) -> pa.Table: """ Take a snapshot of the table and return a pyarrow Table. diff --git a/py/client/tests/test_table.py b/py/client/tests/test_table.py index 38ad3abb9d8..60d457fa69a 100644 --- a/py/client/tests/test_table.py +++ b/py/client/tests/test_table.py @@ -289,6 +289,11 @@ def test_where_in(self): result_table2 = test_table.where_not_in(unique_table, cols=["c"]) self.assertEqual(result_table.size, test_table.size - result_table2.size) + def test_meta_table(self): + pa_table = csv.read_csv(self.csv_file) + test_table = self.session.import_table(pa_table).drop_columns(["e"]) + self.assertEqual(len(test_table.schema), len(test_table.meta_table.to_arrow())) + if __name__ == '__main__': unittest.main() diff --git a/server/src/main/java/io/deephaven/server/table/TableModule.java b/server/src/main/java/io/deephaven/server/table/TableModule.java index b6d2d014735..efac812057b 100644 --- a/server/src/main/java/io/deephaven/server/table/TableModule.java +++ b/server/src/main/java/io/deephaven/server/table/TableModule.java @@ -27,6 +27,7 @@ import io.deephaven.server.table.ops.HeadOrTailGrpcImpl; import io.deephaven.server.table.ops.JoinTablesGrpcImpl; import io.deephaven.server.table.ops.MergeTablesGrpcImpl; +import io.deephaven.server.table.ops.MetaTableGrpcImpl; import io.deephaven.server.table.ops.RunChartDownsampleGrpcImpl; import io.deephaven.server.table.ops.SelectDistinctGrpcImpl; import io.deephaven.server.table.ops.SnapshotTableGrpcImpl; @@ -232,4 +233,10 @@ static TableServiceContextualAuthWiring provideAuthWiring(AuthorizationProvider @IntoMap @BatchOpCode(BatchTableRequest.Operation.OpCase.WHERE_IN) GrpcTableOperation bindWhereIn(WhereInGrpcImpl op); + + @Binds + @IntoMap + @BatchOpCode(BatchTableRequest.Operation.OpCase.META_TABLE) + GrpcTableOperation bindMeta(MetaTableGrpcImpl op); + } diff --git a/server/src/main/java/io/deephaven/server/table/ops/MetaTableGrpcImpl.java b/server/src/main/java/io/deephaven/server/table/ops/MetaTableGrpcImpl.java new file mode 100644 index 00000000000..bb35ba62258 --- /dev/null +++ b/server/src/main/java/io/deephaven/server/table/ops/MetaTableGrpcImpl.java @@ -0,0 +1,31 @@ +/** + * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending + */ +package io.deephaven.server.table.ops; + +import io.deephaven.auth.codegen.impl.TableServiceContextualAuthWiring; +import io.deephaven.base.verify.Assert; +import io.deephaven.engine.table.Table; +import io.deephaven.proto.backplane.grpc.BatchTableRequest; +import io.deephaven.proto.backplane.grpc.MetaTableRequest; +import io.deephaven.server.session.SessionState; + +import javax.inject.Inject; +import java.util.List; + +public class MetaTableGrpcImpl extends GrpcTableOperation { + + @Inject + public MetaTableGrpcImpl(final TableServiceContextualAuthWiring authWiring) { + super(authWiring::checkPermissionMetaTable, BatchTableRequest.Operation::getMetaTable, + MetaTableRequest::getResultId, MetaTableRequest::getSourceId); + } + + @Override + public Table create(final MetaTableRequest request, + final List> sourceTables) { + Assert.eq(sourceTables.size(), "sourceTables.size()", 1); + final Table parent = sourceTables.get(0).get(); + return parent.getMeta(); + } +} diff --git a/server/src/main/java/io/deephaven/server/table/ops/TableServiceGrpcImpl.java b/server/src/main/java/io/deephaven/server/table/ops/TableServiceGrpcImpl.java index 4a19ef2077d..07be7aa5401 100644 --- a/server/src/main/java/io/deephaven/server/table/ops/TableServiceGrpcImpl.java +++ b/server/src/main/java/io/deephaven/server/table/ops/TableServiceGrpcImpl.java @@ -34,6 +34,7 @@ import io.deephaven.proto.backplane.grpc.LeftJoinTablesRequest; import io.deephaven.proto.backplane.grpc.Literal; import io.deephaven.proto.backplane.grpc.MergeTablesRequest; +import io.deephaven.proto.backplane.grpc.MetaTableRequest; import io.deephaven.proto.backplane.grpc.NaturalJoinTablesRequest; import io.deephaven.proto.backplane.grpc.RunChartDownsampleRequest; import io.deephaven.proto.backplane.grpc.SeekRowRequest; @@ -279,6 +280,13 @@ public void flatten( oneShotOperationWrapper(BatchTableRequest.Operation.OpCase.FLATTEN, request, responseObserver); } + @Override + public void metaTable( + @NotNull final MetaTableRequest request, + @NotNull final StreamObserver responseObserver) { + oneShotOperationWrapper(OpCase.META_TABLE, request, responseObserver); + } + @Override public void crossJoinTables( @NotNull final CrossJoinTablesRequest request, From 032810e1a6e2afe7947dcd18f9e41cb3a8e75fe5 Mon Sep 17 00:00:00 2001 From: Chip Kent <5250374+chipkent@users.noreply.github.com> Date: Tue, 4 Apr 2023 11:32:13 -0600 Subject: [PATCH 22/29] Avoid race conditions in unit tests. (#3653) --- go/pkg/client/query_test.go | 15 ++++++++++----- go/pkg/client/tablehandle_test.go | 17 +++++++++++++---- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/go/pkg/client/query_test.go b/go/pkg/client/query_test.go index b2df4cf143e..dddda3134bd 100644 --- a/go/pkg/client/query_test.go +++ b/go/pkg/client/query_test.go @@ -869,15 +869,20 @@ func crossJoinQuery(t *testing.T, exec execBatchOrSerial) { defer results[2].Release() defer results[3].Release() - left, _, result1, result2 := results[0], results[1], results[2], results[3] + left, right, result1, result2 := results[0], results[1], results[2], results[3] - if result1.NumRows() >= left.NumRows() { - t.Error("result1 was too large") + if result1.NumRows() == 0 { + t.Error("result1 is empty") return } - if result2.NumRows() <= left.NumRows() { - t.Error("result2 was too small") + if result1.NumRows() >= left.NumRows()*right.NumRows() { + t.Errorf("result1 is the wrong size: %v >= %v", result1.NumRows(), left.NumRows()*right.NumRows()) + return + } + + if result2.NumRows() != left.NumRows()*right.NumRows() { + t.Errorf("result2 is the wrong size: %v != %v", result2.NumRows(), left.NumRows()*right.NumRows()) return } } diff --git a/go/pkg/client/tablehandle_test.go b/go/pkg/client/tablehandle_test.go index 19d8cda3eae..9f0322f1b4a 100644 --- a/go/pkg/client/tablehandle_test.go +++ b/go/pkg/client/tablehandle_test.go @@ -341,6 +341,10 @@ func TestCrossJoin(t *testing.T) { test_tools.CheckError(t, "Snapshot", err) defer leftRec.Release() + rightRec, err := rightTbl.Snapshot(ctx) + test_tools.CheckError(t, "Snapshot", err) + defer rightRec.Release() + resultRec1, err := resultTbl1.Snapshot(ctx) test_tools.CheckError(t, "Snapshot", err) defer resultRec1.Release() @@ -349,13 +353,18 @@ func TestCrossJoin(t *testing.T) { test_tools.CheckError(t, "Snapshot", err) defer resultRec2.Release() - if resultRec1.NumRows() >= leftRec.NumRows() { - t.Error("resultRec1 was too large") + if resultRec1.NumRows() == 0 { + t.Error("resultRec1 is empty") + return + } + + if resultRec1.NumRows() >= leftRec.NumRows()*rightRec.NumRows() { + t.Errorf("resultRec1 is the wrong size: %v >= %v", resultRec1.NumRows(), leftRec.NumRows()*rightRec.NumRows()) return } - if resultRec2.NumRows() <= leftRec.NumRows() { - t.Error("resultRec2 was too small") + if resultRec2.NumRows() != leftRec.NumRows()*rightRec.NumRows() { + t.Errorf("resultRec2 is the wrong size: %v != %v", resultRec2.NumRows(), leftRec.NumRows()*rightRec.NumRows()) return } } From d8457842214c8efba8cf4bfaa62c57c2f7f4ab00 Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Wed, 5 Apr 2023 12:38:19 -0700 Subject: [PATCH 23/29] Bump images post release. (#3665) Note - this does not contain the server base images bumped because there is a pandas 2.0 compatibility issue that needs to be worked out first. If we are unable to easily add support for Pandas 2 (see #3573), we'll need to add an python environment requirement for pandas<2. --- docker/registry/cpp-client-base/gradle.properties | 2 +- docker/registry/go/gradle.properties | 2 +- docker/registry/nginx-noroot-base/gradle.properties | 2 +- docker/registry/node/gradle.properties | 2 +- docker/registry/protoc-base/gradle.properties | 2 +- docker/registry/python/gradle.properties | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docker/registry/cpp-client-base/gradle.properties b/docker/registry/cpp-client-base/gradle.properties index 720d1082691..a0f560e9bd5 100644 --- a/docker/registry/cpp-client-base/gradle.properties +++ b/docker/registry/cpp-client-base/gradle.properties @@ -1,5 +1,5 @@ io.deephaven.project.ProjectType=DOCKER_REGISTRY deephaven.registry.imageName=ghcr.io/deephaven/cpp-client-base:latest -deephaven.registry.imageId=ghcr.io/deephaven/cpp-client-base@sha256:be329d3f792ddbf51b0d53a26f7a923a1b6e7990a9fffe8725cf7ba3f3e0da4a +deephaven.registry.imageId=ghcr.io/deephaven/cpp-client-base@sha256:7ecb94000fa8b9bc20a8b11db32d59aba8e7926654ece2235b60bbd43ea5a583 # TODO(deephaven-base-images#54): arm64 native image for cpp-client-base deephaven.registry.platform=linux/amd64 \ No newline at end of file diff --git a/docker/registry/go/gradle.properties b/docker/registry/go/gradle.properties index ba6ace4bd69..233e394bb7a 100644 --- a/docker/registry/go/gradle.properties +++ b/docker/registry/go/gradle.properties @@ -1,3 +1,3 @@ io.deephaven.project.ProjectType=DOCKER_REGISTRY deephaven.registry.imageName=golang:1 -deephaven.registry.imageId=golang@sha256:2edf6aab2d57644f3fe7407132a0d1770846867465a39c2083770cf62734b05d +deephaven.registry.imageId=golang@sha256:23050c2510e0a920d66b48afdc40043bcfe2e25d044a2d7b33475632d83ab6c7 diff --git a/docker/registry/nginx-noroot-base/gradle.properties b/docker/registry/nginx-noroot-base/gradle.properties index 267dc48cfac..b05cba159ac 100644 --- a/docker/registry/nginx-noroot-base/gradle.properties +++ b/docker/registry/nginx-noroot-base/gradle.properties @@ -1,3 +1,3 @@ io.deephaven.project.ProjectType=DOCKER_REGISTRY deephaven.registry.imageName=ghcr.io/deephaven/nginx-noroot-base:latest -deephaven.registry.imageId=ghcr.io/deephaven/nginx-noroot-base@sha256:f10668ac0ab53c2a0005497679fa960c8e0dc7247c56ae0dda96a8c3ebcbfb9a +deephaven.registry.imageId=ghcr.io/deephaven/nginx-noroot-base@sha256:668e2bdf636bdf5c08e7e5aafbe2c8333aafa421ad6e7301ccb32159830e38dd diff --git a/docker/registry/node/gradle.properties b/docker/registry/node/gradle.properties index 65c8aefaec0..02a605cf55e 100644 --- a/docker/registry/node/gradle.properties +++ b/docker/registry/node/gradle.properties @@ -1,3 +1,3 @@ io.deephaven.project.ProjectType=DOCKER_REGISTRY deephaven.registry.imageName=node:14 -deephaven.registry.imageId=node@sha256:1b5300317e95ed8bb2a1c25003f57e52400ce7af1e2e1efd9f52407293f88317 +deephaven.registry.imageId=node@sha256:a97048059988c65f974b37dfe25a44327069a0f4f81133624871de0063b98075 diff --git a/docker/registry/protoc-base/gradle.properties b/docker/registry/protoc-base/gradle.properties index a1e3e420e7a..6c2bfd6f761 100644 --- a/docker/registry/protoc-base/gradle.properties +++ b/docker/registry/protoc-base/gradle.properties @@ -1,5 +1,5 @@ io.deephaven.project.ProjectType=DOCKER_REGISTRY deephaven.registry.imageName=ghcr.io/deephaven/protoc-base:latest -deephaven.registry.imageId=ghcr.io/deephaven/protoc-base@sha256:161d15724ae82ca0b4be788b4efc36d655361bd62b6c6b414def36d7f71c6150 +deephaven.registry.imageId=ghcr.io/deephaven/protoc-base@sha256:e4e8e213b66caf1365e83cc1ac4d1f2a9d1664cc0e7af135d01221d8fa4db7cf # TODO(deephaven-base-images#55): arm64 native image for protoc-base deephaven.registry.platform=linux/amd64 \ No newline at end of file diff --git a/docker/registry/python/gradle.properties b/docker/registry/python/gradle.properties index 7166fa193d9..09207918d80 100644 --- a/docker/registry/python/gradle.properties +++ b/docker/registry/python/gradle.properties @@ -1,3 +1,3 @@ io.deephaven.project.ProjectType=DOCKER_REGISTRY deephaven.registry.imageName=python:3.7 -deephaven.registry.imageId=python@sha256:1eacb4f802a52a73371facb2b69ee12aecf7b4cac69210ef1e41f44da2a02b27 +deephaven.registry.imageId=python@sha256:0014010a200e511e1ed5768862ab5d4e83738049053dfbd9e4bdf3cc776ea66b From 280b135f5bab21018c975630faff4971f4dee9bb Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Wed, 5 Apr 2023 12:47:25 -0700 Subject: [PATCH 24/29] Ensure parquet compatible DECIMAL precision and scale (#3655) Fixes #3650 --- .../table/BigDecimalParquetBytesCodec.java | 21 ++- .../io/deephaven/parquet/table/TypeInfos.java | 15 +- .../BigDecimalParquetBytesCodecTest.java | 130 ++++++++++++++++++ .../table/ParquetTableReadWriteTest.java | 22 +++ 4 files changed, 181 insertions(+), 7 deletions(-) create mode 100644 extensions/parquet/table/src/test/java/io/deephaven/parquet/table/BigDecimalParquetBytesCodecTest.java diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/BigDecimalParquetBytesCodec.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/BigDecimalParquetBytesCodec.java index 699a062beb6..502eb7bdc67 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/BigDecimalParquetBytesCodec.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/BigDecimalParquetBytesCodec.java @@ -80,12 +80,12 @@ public byte[] encode(@Nullable final BigDecimal input) { if (input == null) { return nullBytes; } - - final BigDecimal value = (input.scale() == scale) ? input : input.setScale(scale, roundingMode); + final BigDecimal value = input.setScale(scale, roundingMode); + if (value.precision() > precision) { + throw new ArithmeticException(String.format("Unable to encode '%s' with %s", value, decimalTypeToString())); + } final BigInteger unscaledValue = value.unscaledValue(); - - final byte[] bytes = unscaledValue.toByteArray(); - return bytes; + return unscaledValue.toByteArray(); } @Nullable @@ -110,11 +110,20 @@ public BigDecimal decode(@NotNull final byte[] input, final int offset, final in final byte[] unscaledValueBytes = new byte[length]; buffer.get(unscaledValueBytes); final BigInteger unscaledValue = new BigInteger(unscaledValueBytes); - return new BigDecimal(unscaledValue, scale); + final BigDecimal value = new BigDecimal(unscaledValue, scale); + if (value.precision() > precision) { + throw new ArithmeticException(String.format("Unable to decode '%s' with %s", value, decimalTypeToString())); + } + return value; } @Override public int expectedObjectWidth() { return encodedSizeInBytes <= 0 ? VARIABLE_WIDTH_SENTINEL : encodedSizeInBytes; } + + private String decimalTypeToString() { + // Matches the output of org.apache.parquet.format.DecimalType#toString + return String.format("DecimalType(scale=%d, precision=%d)", scale, precision); + } } diff --git a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/TypeInfos.java b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/TypeInfos.java index 648e2f96615..abaf8c4a013 100644 --- a/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/TypeInfos.java +++ b/extensions/parquet/table/src/main/java/io/deephaven/parquet/table/TypeInfos.java @@ -113,7 +113,20 @@ static PrecisionAndScale getPrecisionAndScale( return (PrecisionAndScale) computedCache .computeIfAbsent(columnName, unusedColumnName -> new HashMap<>()) .computeIfAbsent(ParquetTableWriter.CacheTags.DECIMAL_ARGS, - unusedCacheTag -> computePrecisionAndScale(rowSet, columnSourceSupplier.get())); + uct -> parquetCompatible(computePrecisionAndScale(rowSet, columnSourceSupplier.get()))); + } + + private static PrecisionAndScale parquetCompatible(PrecisionAndScale pas) { + // Parquet / SQL has a more limited range for DECIMAL(precision, scale). + // https://github.com/apache/parquet-format/blob/master/LogicalTypes.md#decimal + // Scale must be zero or a positive integer less than the precision. + // Precision is required and must be a non-zero positive integer. + // Ultimately, this just means that the on-disk format is not as small and tight as it otherwise could be. + // https://github.com/deephaven/deephaven-core/issues/3650 + if (pas.scale > pas.precision) { + return new PrecisionAndScale(pas.scale, pas.scale); + } + return pas; } static TypeInfo bigDecimalTypeInfo( diff --git a/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/BigDecimalParquetBytesCodecTest.java b/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/BigDecimalParquetBytesCodecTest.java new file mode 100644 index 00000000000..50034bf4703 --- /dev/null +++ b/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/BigDecimalParquetBytesCodecTest.java @@ -0,0 +1,130 @@ +package io.deephaven.parquet.table; + +import org.junit.Test; + +import java.math.BigDecimal; +import java.math.BigInteger; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + +public class BigDecimalParquetBytesCodecTest { + + @Test + public void examples() { + // [.0000, .9999] + checkNoRounding(codec(4, 4), bd("0.0005"), bi(5)); + + // [0.0000, 9.9999] + checkNoRounding(codec(5, 4), bd("0.0005"), bi(5)); + + // [.000, .999] + check(codec(3, 3), bd("0.0005"), bi(1), bd("0.001")); + + // [0.000, 9.999] + check(codec(4, 3), bd("0.0005"), bi(1), bd("0.001")); + + // [.0000, .9999] + check(codec(4, 4), bd("0.00050"), bi(5), bd("0.0005")); + + // [0.0000, 9.9999] + check(codec(5, 4), bd("0.00050"), bi(5), bd("0.0005")); + + // [.00000, .99999] + check(codec(5, 5), bd("0.0005"), bi(50), bd("0.00050")); + + // [0.00000, 9.99999] + check(codec(6, 5), bd("0.0005"), bi(50), bd("0.00050")); + + // [00.000, 99.999] + checkNoRounding(codec(5, 3), bd("0.123"), bi(123)); + + // [00.000, 99.999] + checkNoRounding(codec(5, 3), bd("99.999"), bi(99999)); + } + + @Test + public void badEncodings() { + cantEncode(codec(3, 3), bd("1.0")); + cantEncode(codec(4, 3), bd("10.0")); + } + + @Test + public void badDecodings() { + cantDecode(codec(3, 3), bi(1000)); + cantDecode(codec(4, 3), bi(10000)); + } + + private static BigDecimal bd(String val) { + return new BigDecimal(val); + } + + private static BigInteger bi(int val) { + return BigInteger.valueOf(val); + } + + private static BigDecimalParquetBytesCodec codec(int precision, int scale) { + return new BigDecimalParquetBytesCodec(precision, scale, -1); + } + + private static void checkNoRounding(BigDecimalParquetBytesCodec codec, BigDecimal input, BigInteger expectedEncoding) { + check(codec, input, expectedEncoding, input); + } + + private static void check(BigDecimalParquetBytesCodec codec, BigDecimal input, BigInteger expectedEncoding, BigDecimal expectedDecoding) { + checkEncoding(codec, input, expectedEncoding); + checkDecoding(codec, expectedEncoding, expectedDecoding); + // Check negative + checkEncoding(codec, input.negate(), expectedEncoding.negate()); + checkDecoding(codec, expectedEncoding.negate(), expectedDecoding.negate()); + } + + private static void checkEncoding(BigDecimalParquetBytesCodec codec, BigDecimal input, BigInteger expectedEncoding) { + final byte[] inputEncoded = codec.encode(input); + assertArrayEquals(expectedEncoding.toByteArray(), inputEncoded); + } + + private static void checkDecoding(BigDecimalParquetBytesCodec codec, BigInteger encoding, BigDecimal expectedDecoding) { + if (expectedDecoding.precision() > codec.getPrecision()) { + throw new IllegalStateException(); + } + if (expectedDecoding.scale() != codec.getScale()) { + throw new IllegalStateException(); + } + final byte[] bytes = encoding.toByteArray(); + final BigDecimal decoded = codec.decode(bytes, 0, bytes.length); + assertEquals(expectedDecoding, decoded); + // Anything value that is decodable should be exactly re-encodable + checkEncoding(codec, expectedDecoding, encoding); + } + + private static void cantEncode(BigDecimalParquetBytesCodec codec, BigDecimal input) { + cantEncodeImpl(codec, input); + cantEncodeImpl(codec, input.negate()); + } + + private static void cantDecode(BigDecimalParquetBytesCodec codec, BigInteger encoding) { + cantDecodeImpl(codec, encoding); + cantDecodeImpl(codec, encoding.negate()); + } + + private static void cantEncodeImpl(BigDecimalParquetBytesCodec codec, BigDecimal input) { + try { + codec.encode(input); + fail("Expected ArithmeticException"); + } catch (ArithmeticException e) { + // ignore + } + } + + private static void cantDecodeImpl(BigDecimalParquetBytesCodec codec, BigInteger encoding) { + final byte[] bytes = encoding.toByteArray(); + try { + codec.decode(bytes, 0, bytes.length); + fail("Expected ArithmeticException"); + } catch (ArithmeticException e) { + // ignore + } + } +} diff --git a/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/ParquetTableReadWriteTest.java b/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/ParquetTableReadWriteTest.java index ab48074d53b..b38c17faf75 100644 --- a/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/ParquetTableReadWriteTest.java +++ b/extensions/parquet/table/src/test/java/io/deephaven/parquet/table/ParquetTableReadWriteTest.java @@ -6,7 +6,9 @@ import io.deephaven.api.Selectable; import io.deephaven.base.FileUtils; import io.deephaven.engine.context.ExecutionContext; +import io.deephaven.engine.primitive.iterator.CloseableIterator; import io.deephaven.engine.table.ColumnDefinition; +import io.deephaven.engine.table.impl.util.ColumnHolder; import io.deephaven.engine.testutil.TstUtils; import io.deephaven.engine.testutil.junit4.EngineCleanup; import io.deephaven.engine.util.BigDecimalUtils; @@ -26,6 +28,7 @@ import java.io.File; import java.io.Serializable; +import java.math.BigDecimal; import java.math.BigInteger; import java.util.ArrayList; import java.util.Arrays; @@ -331,6 +334,25 @@ public void testParquetSnappyCompressionCodec() { compressionCodecTestHelper("SNAPPY"); } + @Test + public void testBigDecimalPrecisionScale() { + // https://github.com/deephaven/deephaven-core/issues/3650 + final BigDecimal myBigDecimal = new BigDecimal(".0005"); + assertEquals(1, myBigDecimal.precision()); + assertEquals(4, myBigDecimal.scale()); + final Table table = TableTools + .newTable(new ColumnHolder<>("MyBigDecimal", BigDecimal.class, null, false, myBigDecimal)); + final File dest = new File(rootFile, "ParquetTest_testBigDecimalPrecisionScale.parquet"); + ParquetTools.writeTable(table, dest); + final Table fromDisk = ParquetTools.readTable(dest); + try (final CloseableIterator it = fromDisk.objectColumnIterator("MyBigDecimal")) { + assertTrue(it.hasNext()); + final BigDecimal item = it.next(); + assertFalse(it.hasNext()); + assertEquals(myBigDecimal, item); + } + } + /** * Encoding bigDecimal is tricky -- the writer will try to pick the precision and scale automatically. Because of * that tableTools.assertTableEquals will fail because, even though the numbers are identical, the representation From db24e1986d6db7ede9b2323fcb63b9894970745b Mon Sep 17 00:00:00 2001 From: Jianfeng Mao <4297243+jmao-denver@users.noreply.github.com> Date: Wed, 5 Apr 2023 16:02:23 -0600 Subject: [PATCH 25/29] Adopt the new aj match condition expression (#3657) * Adopt the new aj match condition expression * Update py/server/deephaven/table.py Co-authored-by: Chip Kent <5250374+chipkent@users.noreply.github.com> * Update py/server/deephaven/table.py Co-authored-by: Chip Kent <5250374+chipkent@users.noreply.github.com> * Address review comments --------- Co-authored-by: Chip Kent <5250374+chipkent@users.noreply.github.com> --- py/server/deephaven/__init__.py | 2 +- py/server/deephaven/table.py | 124 ++++++++++--------------------- py/server/tests/test_pt_proxy.py | 6 +- py/server/tests/test_table.py | 11 ++- 4 files changed, 51 insertions(+), 92 deletions(-) diff --git a/py/server/deephaven/__init__.py b/py/server/deephaven/__init__.py index f4c11eea62b..ac5568e0f9d 100644 --- a/py/server/deephaven/__init__.py +++ b/py/server/deephaven/__init__.py @@ -16,7 +16,7 @@ del jvm from .dherror import DHError -from .table import SortDirection, AsOfMatchRule +from .table import SortDirection from .csv import read as read_csv from .csv import write as write_csv from .stream.kafka import consumer as kafka_consumer diff --git a/py/server/deephaven/table.py b/py/server/deephaven/table.py index 9fb5547f131..3639ed0f2ce 100644 --- a/py/server/deephaven/table.py +++ b/py/server/deephaven/table.py @@ -38,7 +38,6 @@ _JSortColumn = jpy.get_type("io.deephaven.api.SortColumn") _JFilter = jpy.get_type("io.deephaven.api.filter.Filter") _JFilterOr = jpy.get_type("io.deephaven.api.filter.FilterOr") -_JAsOfMatchRule = jpy.get_type("io.deephaven.engine.table.Table$AsOfMatchRule") _JPair = jpy.get_type("io.deephaven.api.agg.Pair") _JMatchPair = jpy.get_type("io.deephaven.engine.table.MatchPair") _JLayoutHintBuilder = jpy.get_type("io.deephaven.engine.util.LayoutHintBuilder") @@ -474,15 +473,6 @@ class SortDirection(Enum): """""" -class AsOfMatchRule(Enum): - """An enum defining matching rules on the final column to match by in as-of join and reverse as-of join - operation. """ - LESS_THAN_EQUAL = _JAsOfMatchRule.LESS_THAN_EQUAL - LESS_THAN = _JAsOfMatchRule.LESS_THAN - GREATER_THAN_EQUAL = _JAsOfMatchRule.GREATER_THAN_EQUAL - GREATER_THAN = _JAsOfMatchRule.GREATER_THAN - - def _sort_column(col, dir_): return (_JSortColumn.desc(_JColumnName.of(col)) if dir_ == SortDirection.DESCENDING else _JSortColumn.asc( _JColumnName.of(col))) @@ -1261,8 +1251,7 @@ def join(self, table: Table, on: Union[str, Sequence[str]] = None, except Exception as e: raise DHError(e, "table join operation failed.") from e - def aj(self, table: Table, on: Union[str, Sequence[str]], joins: Union[str, Sequence[str]] = None, - match_rule: AsOfMatchRule = AsOfMatchRule.LESS_THAN_EQUAL) -> Table: + def aj(self, table: Table, on: Union[str, Sequence[str]], joins: Union[str, Sequence[str]] = None) -> Table: """The aj (as-of join) method creates a new table containing all the rows and columns of the left table, plus additional columns containing data from the right table. For columns appended to the left table (joins), row values equal the row values from the right table where the keys from the left table most closely match @@ -1271,12 +1260,12 @@ def aj(self, table: Table, on: Union[str, Sequence[str]], joins: Union[str, Sequ Args: table (Table): the right-table of the join - on (Union[str, Sequence[str]]): the column(s) to match, can be a common name or an equal expression, - i.e. "col_a = col_b" for different column names + on (Union[str, Sequence[str]]): the column(s) to match, can be a common name or a match condition of two + columns, e.g. 'col_a = col_b'. The first 'N-1' matches are exact matches. The final match is an inexact + match. The inexact match can use either '<' or '<='. If a common name is used for the inexact match, + '<=' is used for the comparison. joins (Union[str, Sequence[str]], optional): the column(s) to be added from the right table to the result table, can be renaming expressions, i.e. "new_col = col"; default is None - match_rule (AsOfMatchRule): the inexact matching rule on the last column to match specified in 'on', - default is AsOfMatchRule.LESS_THAN_EQUAL. The other valid value is AsOfMatchRule.LESS_THAN. Returns: a new table @@ -1284,20 +1273,16 @@ def aj(self, table: Table, on: Union[str, Sequence[str]], joins: Union[str, Sequ DHError """ try: - on = to_sequence(on) - joins = to_sequence(joins) - if on: - on = [_JMatchPair.of(_JPair.parse(p)) for p in on] - if joins: - joins = [_JMatchPair.of(_JPair.parse(p)) for p in joins] + on = ",".join(to_sequence(on)) + joins = ",".join(to_sequence(joins)) + table_op = jpy.cast(self.j_object, _JTableOperations) with auto_locking_ctx(self, table): - return Table(j_table=self.j_table.aj(table.j_table, on, joins, match_rule.value)) + return Table(j_table=table_op.aj(table.j_table, on, joins)) except Exception as e: raise DHError(e, "table as-of join operation failed.") from e - def raj(self, table: Table, on: Union[str, Sequence[str]], joins: Union[str, Sequence[str]] = None, - match_rule: AsOfMatchRule = AsOfMatchRule.GREATER_THAN_EQUAL) -> Table: - """The reverse-as-of join method creates a new table containing all of the rows and columns of the left table, + def raj(self, table: Table, on: Union[str, Sequence[str]], joins: Union[str, Sequence[str]] = None) -> Table: + """The reverse-as-of join method creates a new table containing all the rows and columns of the left table, plus additional columns containing data from the right table. For columns appended to the left table (joins), row values equal the row values from the right table where the keys from the left table most closely match the keys from the right table without going under. If there is no matching key in the right table, appended row @@ -1305,12 +1290,12 @@ def raj(self, table: Table, on: Union[str, Sequence[str]], joins: Union[str, Seq Args: table (Table): the right-table of the join - on (Union[str, Sequence[str]]): the column(s) to match, can be a common name or an equal expression, - i.e. "col_a = col_b" for different column names + on (Union[str, Sequence[str]]): the column(s) to match, can be a common name or a match condition of two + columns, e.g. 'col_a = col_b'. The first 'N-1' matches are exact matches. The final match is an inexact + match. The inexact match can use either '>' or '>='. If a common name is used for the inexact match, + '>=' is used for the comparison. joins (Union[str, Sequence[str]], optional): the column(s) to be added from the right table to the result table, can be renaming expressions, i.e. "new_col = col"; default is None - match_rule (AsOfMatchRule): the inexact matching rule on the last column to match specified in 'on', - default is AsOfMatchRule.GREATER_THAN_EQUAL. The other valid value is AsOfMatchRule.GREATER_THAN. Returns: a new table @@ -1319,16 +1304,11 @@ def raj(self, table: Table, on: Union[str, Sequence[str]], joins: Union[str, Seq DHError """ try: - on = to_sequence(on) - joins = to_sequence(joins) - on = to_sequence(on) - joins = to_sequence(joins) - if on: - on = [_JMatchPair.of(_JPair.parse(p)) for p in on] - if joins: - joins = [_JMatchPair.of(_JPair.parse(p)) for p in joins] + on = ",".join(to_sequence(on)) + joins = ",".join(to_sequence(joins)) + table_op = jpy.cast(self.j_object, _JTableOperations) with auto_locking_ctx(self, table): - return Table(j_table=self.j_table.raj(table.j_table, on, joins, match_rule.value)) + return Table(j_table=table_op.raj(table.j_table, on, joins)) except Exception as e: raise DHError(e, "table reverse-as-of join operation failed.") from e @@ -2890,8 +2870,7 @@ def join(self, table: Union[Table, PartitionedTableProxy], on: Union[str, Sequen raise DHError(e, "join operation on the PartitionedTableProxy failed.") from e def aj(self, table: Union[Table, PartitionedTableProxy], on: Union[str, Sequence[str]], - joins: Union[str, Sequence[str]] = None, - match_rule: AsOfMatchRule = AsOfMatchRule.LESS_THAN_EQUAL) -> PartitionedTableProxy: + joins: Union[str, Sequence[str]] = None) -> PartitionedTableProxy: """Applies the :meth:`~Table.aj` table operation to all constituent tables of the underlying partitioned table with the provided right table or PartitionedTableProxy, and produces a new PartitionedTableProxy with the result tables as the constituents of its underlying partitioned table. @@ -2901,12 +2880,12 @@ def aj(self, table: Union[Table, PartitionedTableProxy], on: Union[str, Sequence Args: table (Union[Table, PartitionedTableProxy]): the right table or PartitionedTableProxy of the join - on (Union[str, Sequence[str]]): the column(s) to match, can be a common name or an equal expression, - i.e. "col_a = col_b" for different column names + on (Union[str, Sequence[str]]): the column(s) to match, can be a common name or a match condition of two + columns, e.g. 'col_a = col_b'. The first 'N-1' matches are exact matches. The final match is an inexact + match. The inexact match can use either '<' or '<='. If a common name is used for the inexact match, + '<=' is used for the comparison. joins (Union[str, Sequence[str]], optional): the column(s) to be added from the right table to the result table, can be renaming expressions, i.e. "new_col = col"; default is None - match_rule (AsOfMatchRule): the inexact matching rule on the last column to match specified in 'on', - default is AsOfMatchRule.LESS_THAN_EQUAL. The other valid value is AsOfMatchRule.LESS_THAN. Returns: a new PartitionedTableProxy @@ -2914,31 +2893,18 @@ def aj(self, table: Union[Table, PartitionedTableProxy], on: Union[str, Sequence DHError """ try: - on = to_sequence(on) - joins = to_sequence(joins) - if on: - on = [_JJoinMatch.parse(p) for p in on] - if joins: - joins = [_JJoinAddition.parse(p) for p in joins] - - on = j_array_list(on) - joins = j_array_list(joins) - table_op = jpy.cast(table.j_object, _JTableOperations) - if match_rule is AsOfMatchRule.LESS_THAN_EQUAL: - match_rule = _JAsOfJoinRule.LESS_THAN_EQUAL - elif match_rule is AsOfMatchRule.LESS_THAN: - match_rule = _JAsOfJoinRule.LESS_THAN - else: - raise ValueError("invalid match_rule value") + on = ",".join(to_sequence(on)) + joins = ",".join(to_sequence(joins)) + table_op = jpy.cast(self.j_object, _JTableOperations) + r_table_op = jpy.cast(table.j_object, _JTableOperations) with auto_locking_ctx(self, table): - return PartitionedTableProxy(j_pt_proxy=self.j_pt_proxy.aj(table_op, on, joins, match_rule)) + return PartitionedTableProxy(j_pt_proxy=table_op.aj(r_table_op, on, joins)) except Exception as e: raise DHError(e, "as-of join operation on the PartitionedTableProxy failed.") from e def raj(self, table: Union[Table, PartitionedTableProxy], on: Union[str, Sequence[str]], - joins: Union[str, Sequence[str]] = None, - match_rule: AsOfMatchRule = AsOfMatchRule.GREATER_THAN_EQUAL) -> PartitionedTableProxy: + joins: Union[str, Sequence[str]] = None) -> PartitionedTableProxy: """Applies the :meth:`~Table.raj` table operation to all constituent tables of the underlying partitioned table with the provided right table or PartitionedTableProxy, and produces a new PartitionedTableProxy with the result tables as the constituents of its underlying partitioned table. @@ -2948,12 +2914,12 @@ def raj(self, table: Union[Table, PartitionedTableProxy], on: Union[str, Sequenc Args: table (Union[Table, PartitionedTableProxy]): the right table or PartitionedTableProxy of the join - on (Union[str, Sequence[str]]): the column(s) to match, can be a common name or an equal expression, - i.e. "col_a = col_b" for different column names + on (Union[str, Sequence[str]]): the column(s) to match, can be a common name or a match condition of two + columns, e.g. 'col_a = col_b'. The first 'N-1' matches are exact matches. The final match is an inexact + match. The inexact match can use either '>' or '>='. If a common name is used for the inexact match, + '>=' is used for the comparison. joins (Union[str, Sequence[str]], optional): the column(s) to be added from the right table to the result table, can be renaming expressions, i.e. "new_col = col"; default is None - match_rule (AsOfMatchRule): the inexact matching rule on the last column to match specified in 'on', - default is AsOfMatchRule.GREATER_THAN_EQUAL. The other valid value is AsOfMatchRule.GREATER_THAN. Returns: a new PartitionedTableProxy @@ -2961,25 +2927,13 @@ def raj(self, table: Union[Table, PartitionedTableProxy], on: Union[str, Sequenc DHError """ try: - on = to_sequence(on) - joins = to_sequence(joins) - if on: - on = [_JJoinMatch.parse(p) for p in on] - if joins: - joins = [_JJoinAddition.parse(p) for p in joins] - - on = j_array_list(on) - joins = j_array_list(joins) - table_op = jpy.cast(table.j_object, _JTableOperations) - if match_rule is AsOfMatchRule.GREATER_THAN_EQUAL: - match_rule = _JReverseAsOfJoinRule.GREATER_THAN_EQUAL - elif match_rule is AsOfMatchRule.GREATER_THAN: - match_rule = _JReverseAsOfJoinRule.GREATER_THAN - else: - raise ValueError("invalid match_rule value") + on = ",".join(to_sequence(on)) + joins = ",".join(to_sequence(joins)) + table_op = jpy.cast(self.j_object, _JTableOperations) + r_table_op = jpy.cast(table.j_object, _JTableOperations) with auto_locking_ctx(self, table): - return PartitionedTableProxy(j_pt_proxy=self.j_pt_proxy.raj(table_op, on, joins, match_rule)) + return PartitionedTableProxy(j_pt_proxy=table_op.raj(r_table_op, on, joins)) except Exception as e: raise DHError(e, "reverse as-of join operation on the PartitionedTableProxy failed.") from e diff --git a/py/server/tests/test_pt_proxy.py b/py/server/tests/test_pt_proxy.py index 7a55fc0cc27..9b1863cfd65 100644 --- a/py/server/tests/test_pt_proxy.py +++ b/py/server/tests/test_pt_proxy.py @@ -4,7 +4,7 @@ import unittest -from deephaven import read_csv, empty_table, SortDirection, AsOfMatchRule, DHError, time_table, ugp +from deephaven import read_csv, empty_table, SortDirection, DHError, time_table, ugp from deephaven.agg import sum_, avg, pct, weighted_avg, formula, group, first, last, max_, median, min_, std, abs_sum, \ var from deephaven.table import PartitionedTableProxy @@ -209,14 +209,14 @@ def test_as_of_join(self): joined_pt_proxy = pt_proxy.aj(right_table, on=["a"]) self.assertTrue([ct for ct in joined_pt_proxy.target.constituent_tables if ct.size > 0]) - joined_pt_proxy = pt_proxy.aj(right_table, on=["a"], joins="e", match_rule=AsOfMatchRule.LESS_THAN) + joined_pt_proxy = pt_proxy.aj(right_table, on=["a < a"], joins="e") self.assertTrue([ct for ct in joined_pt_proxy.target.constituent_tables if ct.size > 0]) with self.subTest("reverse as-of join"): joined_pt_proxy = pt_proxy.raj(right_table, on=["a"]) self.assertTrue([ct for ct in joined_pt_proxy.target.constituent_tables if ct.size > 0]) - joined_pt_proxy = pt_proxy.raj(right_table, on=["a"], joins="e", match_rule=AsOfMatchRule.GREATER_THAN) + joined_pt_proxy = pt_proxy.raj(right_table, on=["a > a"], joins="e") self.assertTrue([ct for ct in joined_pt_proxy.target.constituent_tables if ct.size > 0]) with self.subTest("Join with another Proxy"): diff --git a/py/server/tests/test_table.py b/py/server/tests/test_table.py index 18c0181a220..534899103a0 100644 --- a/py/server/tests/test_table.py +++ b/py/server/tests/test_table.py @@ -5,7 +5,7 @@ from types import SimpleNamespace from typing import List, Any -from deephaven import DHError, read_csv, empty_table, SortDirection, AsOfMatchRule, time_table, ugp, new_table, dtypes +from deephaven import DHError, read_csv, empty_table, SortDirection, time_table, ugp, new_table, dtypes from deephaven.agg import sum_, weighted_avg, avg, pct, group, count_, first, last, max_, median, min_, std, abs_sum, \ var, formula, partition from deephaven.column import datetime_col @@ -327,11 +327,12 @@ def test_as_of_join(self): right_table = self.test_table.where(["a % 2 > 0"]).drop_columns( cols=["b", "c", "d"] ) + with self.subTest("as-of join"): result_table = left_table.aj(right_table, on=["a"]) self.assertGreater(result_table.size, 0) self.assertLessEqual(result_table.size, left_table.size) - result_table = left_table.aj(right_table, on="a", joins="e", match_rule=AsOfMatchRule.LESS_THAN) + result_table = left_table.aj(right_table, on="a < a", joins="e") self.assertGreater(result_table.size, 0) self.assertLessEqual(result_table.size, left_table.size) @@ -339,10 +340,14 @@ def test_as_of_join(self): result_table = left_table.raj(right_table, on=["a"]) self.assertGreater(result_table.size, 0) self.assertLessEqual(result_table.size, left_table.size) - result_table = left_table.raj(right_table, on="a", joins="e", match_rule=AsOfMatchRule.GREATER_THAN) + result_table = left_table.raj(right_table, on="a > a", joins="e") self.assertGreater(result_table.size, 0) self.assertLessEqual(result_table.size, left_table.size) + with self.assertRaises(DHError) as cm: + left_table.aj(right_table, on=["a", "b", "c <= c", "d", "e"]) + self.assertRegex(str(cm.exception), r"Invalid column name") + # # Table operation category: Aggregation # From a8a029f3b2724b31dd88486ab0a07e1ea4c0266a Mon Sep 17 00:00:00 2001 From: Chip Kent <5250374+chipkent@users.noreply.github.com> Date: Wed, 5 Apr 2023 20:07:50 -0600 Subject: [PATCH 26/29] Improve query library performance by using vector iteration (#3659) * Update function libraries to use Vector iteration wherever possible * Use Vector.isEmpty where possible. * Address ambiguity of Vector.toArray() regarding mutation safety with additional documentation and a new method Vector.copyToArray() * Address incorrect targetExclude in Base/build.gradle, and commit ring buffer code in sync with replication * Use Vector.copyToArray() where appropriate in function libraries, and a few other related cleanups * Remove PrimitiveType and ValueType for Boolean, and associate special casing in ftl files --------- Co-authored-by: Ryan Caudy --- Base/build.gradle | 2 +- .../AggregatingDoubleRingBuffer.java | 3 +- .../AggregatingObjectRingBuffer.java | 3 +- .../primitivetemplate/PrimitiveType.java | 36 +- .../primitivetemplate/ValueType.java | 20 +- .../primitivetemplate/TestPrimitiveType.java | 3 + engine/function/build.gradle | 1 + .../java/io/deephaven/function/Logic.java | 25 +- engine/function/src/templates/Basic.ftl | 406 +++++++---------- engine/function/src/templates/BinSearch.ftl | 5 +- engine/function/src/templates/Cast.ftl | 34 +- engine/function/src/templates/Numeric.ftl | 428 +++++++++++------- engine/function/src/templates/Sort.ftl | 20 +- engine/function/src/templates/TestBasic.ftl | 5 +- .../function/src/templates/TestBinSearch.ftl | 6 +- .../DateTimeSsmSourceWrapper.java | 5 + .../ssms/ByteSegmentedSortedMultiset.java | 5 + .../ssms/CharSegmentedSortedMultiset.java | 5 + .../ssms/DoubleSegmentedSortedMultiset.java | 5 + .../ssms/FloatSegmentedSortedMultiset.java | 5 + .../impl/ssms/IntSegmentedSortedMultiset.java | 5 + .../ssms/LongSegmentedSortedMultiset.java | 5 + .../ssms/ObjectSegmentedSortedMultiset.java | 5 + .../ssms/ShortSegmentedSortedMultiset.java | 5 + .../java/io/deephaven/vector/ByteVector.java | 8 + .../io/deephaven/vector/ByteVectorDirect.java | 5 + .../java/io/deephaven/vector/CharVector.java | 8 + .../io/deephaven/vector/CharVectorDirect.java | 5 + .../io/deephaven/vector/DoubleVector.java | 8 + .../deephaven/vector/DoubleVectorDirect.java | 5 + .../java/io/deephaven/vector/FloatVector.java | 8 + .../deephaven/vector/FloatVectorDirect.java | 5 + .../java/io/deephaven/vector/IntVector.java | 8 + .../io/deephaven/vector/IntVectorDirect.java | 5 + .../java/io/deephaven/vector/LongVector.java | 8 + .../io/deephaven/vector/LongVectorDirect.java | 5 + .../io/deephaven/vector/ObjectVector.java | 8 + .../deephaven/vector/ObjectVectorDirect.java | 5 + .../java/io/deephaven/vector/ShortVector.java | 8 + .../deephaven/vector/ShortVectorDirect.java | 5 + .../main/java/io/deephaven/vector/Vector.java | 13 +- 41 files changed, 699 insertions(+), 460 deletions(-) diff --git a/Base/build.gradle b/Base/build.gradle index 2290901d01f..3dacf543b24 100644 --- a/Base/build.gradle +++ b/Base/build.gradle @@ -48,7 +48,7 @@ artifacts { spotless { java { targetExclude( - 'src/test/java/io/deephaven/base/ringbuffer/AggregatingDoubleRingBufferTest.java' + '**/ringbuffer/Aggregating*RingBuffer*.java' ) } } diff --git a/Base/src/main/java/io/deephaven/base/ringbuffer/AggregatingDoubleRingBuffer.java b/Base/src/main/java/io/deephaven/base/ringbuffer/AggregatingDoubleRingBuffer.java index c770282c225..594f2423570 100644 --- a/Base/src/main/java/io/deephaven/base/ringbuffer/AggregatingDoubleRingBuffer.java +++ b/Base/src/main/java/io/deephaven/base/ringbuffer/AggregatingDoubleRingBuffer.java @@ -696,8 +696,7 @@ void fixupTree(final long r1Head, final long r1Tail, final long r2Head, final lo *

* The provided ranges ore closed-interval. The head and tail are both included in the range. */ - private void evaluateThreeRanges(int r1h, int r1t, int r2h, int r2t, int r3h, int r3t, - DoubleFunction evalFunction) { + private void evaluateThreeRanges(int r1h, int r1t, int r2h, int r2t, int r3h, int r3t, DoubleFunction evalFunction) { while (true) { if (r1t >= r2h) { // r1 and r2 overlap. Collapse them together and call the two range version. diff --git a/Base/src/main/java/io/deephaven/base/ringbuffer/AggregatingObjectRingBuffer.java b/Base/src/main/java/io/deephaven/base/ringbuffer/AggregatingObjectRingBuffer.java index 21b038cf9a6..02556b74454 100644 --- a/Base/src/main/java/io/deephaven/base/ringbuffer/AggregatingObjectRingBuffer.java +++ b/Base/src/main/java/io/deephaven/base/ringbuffer/AggregatingObjectRingBuffer.java @@ -696,8 +696,7 @@ void fixupTree(final long r1Head, final long r1Tail, final long r2Head, final lo *

* The provided ranges ore closed-interval. The head and tail are both included in the range. */ - private void evaluateThreeRanges(int r1h, int r1t, int r2h, int r2t, int r3h, int r3t, - ObjectFunction evalFunction) { + private void evaluateThreeRanges(int r1h, int r1t, int r2h, int r2t, int r3h, int r3t, ObjectFunction evalFunction) { while (true) { if (r1t >= r2h) { // r1 and r2 overlap. Collapse them together and call the two range version. diff --git a/codegen/src/main/java/io/deephaven/generator/primitivetemplate/PrimitiveType.java b/codegen/src/main/java/io/deephaven/generator/primitivetemplate/PrimitiveType.java index 792515db8b5..d64aee6bcd8 100644 --- a/codegen/src/main/java/io/deephaven/generator/primitivetemplate/PrimitiveType.java +++ b/codegen/src/main/java/io/deephaven/generator/primitivetemplate/PrimitiveType.java @@ -14,6 +14,8 @@ public class PrimitiveType { private final String boxed; private final String vector; private final String vectorDirect; + private final String vectorIterator; + private final String iteratorNext; private final String nullValue; private final String maxValue; private final String minValue; @@ -26,17 +28,22 @@ public class PrimitiveType { * @param boxed name of the boxed primitive * @param vector name of the Vector interface * @param vectorDirect name of the concrete Vector wrapper + * @param vectorIterator name of the Vector iterator + * @param iteratorNext name of the next method on the Vector iterator * @param nullValue null value * @param maxValue maximum value * @param minValue minimum value * @param valueType type of value */ public PrimitiveType(final String primitive, final String boxed, final String vector, final String vectorDirect, + final String vectorIterator, final String iteratorNext, final String nullValue, final String maxValue, final String minValue, final ValueType valueType) { this.primitive = primitive; this.boxed = boxed; this.vector = vector; this.vectorDirect = vectorDirect; + this.vectorIterator = vectorIterator; + this.iteratorNext = iteratorNext; this.nullValue = nullValue; this.maxValue = maxValue; this.minValue = minValue; @@ -79,6 +86,24 @@ public String getVectorDirect() { return vectorDirect; } + /** + * Gets the Vector iterator of the primitive. + * + * @return Vector iterator of the primitive. + */ + public String getVectorIterator() { + return vectorIterator; + } + + /** + * Gets the next method on the Vector iterator of the primitive. + * + * @return next method on the Vector iterator of the primitive. + */ + public String getIteratorNext() { + return iteratorNext; + } + /** * Gets the null value of the primitive. * @@ -132,36 +157,39 @@ public int hashCode() { public static PrimitiveType[] primitiveTypes() { return new PrimitiveType[] { - new PrimitiveType("Boolean", "Boolean", - "ObjectVector", "ObjectVectorDirect", - "NULL_BOOLEAN", null, null, - ValueType.BOOLEAN), new PrimitiveType("char", "Character", "CharVector", "CharVectorDirect", + "CloseablePrimitiveIteratorOfChar", "nextChar", "NULL_CHAR", null, null, ValueType.CHARACTER), new PrimitiveType("byte", "Byte", "ByteVector", "ByteVectorDirect", + "CloseablePrimitiveIteratorOfByte", "nextByte", "NULL_BYTE", "MAX_BYTE", "MIN_BYTE", ValueType.INTEGER), new PrimitiveType("short", "Short", "ShortVector", "ShortVectorDirect", + "CloseablePrimitiveIteratorOfShort", "nextShort", "NULL_SHORT", "MAX_SHORT", "MIN_SHORT", ValueType.INTEGER), new PrimitiveType("int", "Integer", "IntVector", "IntVectorDirect", + "CloseablePrimitiveIteratorOfInt", "nextInt", "NULL_INT", "MAX_INT", "MIN_INT", ValueType.INTEGER), new PrimitiveType("long", "Long", "LongVector", "LongVectorDirect", + "CloseablePrimitiveIteratorOfLong", "nextLong", "NULL_LONG", "MAX_LONG", "MIN_LONG", ValueType.INTEGER), new PrimitiveType("float", "Float", "FloatVector", "FloatVectorDirect", + "CloseablePrimitiveIteratorOfFloat", "nextFloat", "NULL_FLOAT", "MAX_FLOAT", "MIN_FLOAT", ValueType.FLOATING_POINT), new PrimitiveType("double", "Double", "DoubleVector", "DoubleVectorDirect", + "CloseablePrimitiveIteratorOfDouble", "nextDouble", "NULL_DOUBLE", "MAX_DOUBLE", "MIN_DOUBLE", ValueType.FLOATING_POINT), }; diff --git a/codegen/src/main/java/io/deephaven/generator/primitivetemplate/ValueType.java b/codegen/src/main/java/io/deephaven/generator/primitivetemplate/ValueType.java index f6a8338e1e4..f726f592de3 100644 --- a/codegen/src/main/java/io/deephaven/generator/primitivetemplate/ValueType.java +++ b/codegen/src/main/java/io/deephaven/generator/primitivetemplate/ValueType.java @@ -7,35 +7,23 @@ * Type of a value. */ public enum ValueType { - BOOLEAN(true, false, false, false), - CHARACTER(false, true, false, false), + CHARACTER(true, false, false), - INTEGER(false, false, true, false), + INTEGER(false, true, false), - FLOATING_POINT(false, false, false, true); + FLOATING_POINT(false, false, true); - private final boolean isBoolean; private final boolean isChar; private final boolean isInteger; private final boolean isFloat; - ValueType(boolean isBoolean, boolean isChar, boolean isInteger, boolean isFloat) { - this.isBoolean = isBoolean; + ValueType(boolean isChar, boolean isInteger, boolean isFloat) { this.isChar = isChar; this.isInteger = isInteger; this.isFloat = isFloat; } - /** - * Is the value a boolean. - * - * @return true for booleans, and false otherwise. - */ - public boolean getIsBoolean() { - return isBoolean; - } - /** * Is the value a character. * diff --git a/codegen/src/test/java/io/deephaven/generator/primitivetemplate/TestPrimitiveType.java b/codegen/src/test/java/io/deephaven/generator/primitivetemplate/TestPrimitiveType.java index 134627390d4..82e7b403dae 100644 --- a/codegen/src/test/java/io/deephaven/generator/primitivetemplate/TestPrimitiveType.java +++ b/codegen/src/test/java/io/deephaven/generator/primitivetemplate/TestPrimitiveType.java @@ -12,6 +12,7 @@ public void testPrimitiveType() { final PrimitiveType pt = new PrimitiveType( "primitive", "boxed", "VectorDEBUG", "DirectDEBUG", + "IteratorDEBUG", "IteratorNextDEBUG", "NULLDEBUG", "POSINFDEBUG", "NEGINFDEBUG", ValueType.CHARACTER); @@ -19,6 +20,8 @@ public void testPrimitiveType() { assertEquals("boxed", pt.getBoxed()); assertEquals("VectorDEBUG", pt.getVector()); assertEquals("DirectDEBUG", pt.getVectorDirect()); + assertEquals("IteratorDEBUG", pt.getVectorIterator()); + assertEquals("IteratorNextDEBUG", pt.getIteratorNext()); assertEquals("NULLDEBUG", pt.getNull()); assertEquals("POSINFDEBUG", pt.getMaxValue()); assertEquals("NEGINFDEBUG", pt.getMinValue()); diff --git a/engine/function/build.gradle b/engine/function/build.gradle index 8e227386241..9603993ae67 100644 --- a/engine/function/build.gradle +++ b/engine/function/build.gradle @@ -16,6 +16,7 @@ dependencies { api 'net.sf.trove4j:trove4j:3.0.3' api project(':Util') api project(':engine-vector') + api project(':engine-primitive') implementation project(':Base') implementation depCommonsLang3 diff --git a/engine/function/src/main/java/io/deephaven/function/Logic.java b/engine/function/src/main/java/io/deephaven/function/Logic.java index b56a78f484f..188402f3d49 100644 --- a/engine/function/src/main/java/io/deephaven/function/Logic.java +++ b/engine/function/src/main/java/io/deephaven/function/Logic.java @@ -4,6 +4,7 @@ package io.deephaven.function; import io.deephaven.vector.ObjectVector; +import io.deephaven.engine.primitive.iterator.*; /** * Logic functions. @@ -49,10 +50,12 @@ static public Boolean and(boolean... values) { * @return logical and of all the values in the array. By convention, returns true if the array is empty. */ static public Boolean and(ObjectVector values) { - for (int ii = 0; ii < values.size(); ++ii) { - Boolean b = values.get(ii); - if (!b) { - return false; + try (final CloseableIterator vi = values.iterator()) { + while (vi.hasNext()) { + final Boolean b = vi.next(); + if (!b) { + return false; + } } } @@ -86,12 +89,14 @@ static public Boolean and(Boolean[] values, Boolean nullValue) { * @return logical and of all the values in the array. By convention, returns true if the array is empty. */ static public Boolean and(ObjectVector values, Boolean nullValue) { - for (int ii = 0; ii < values.size(); ++ii) { - Boolean b = values.get(ii); - b = b == null ? nullValue : b; - - if (!b) { - return false; + try (final CloseableIterator vi = values.iterator()) { + while (vi.hasNext()) { + final Boolean b = vi.next(); + final Boolean b2 = b == null ? nullValue : b; + + if (!b2) { + return false; + } } } diff --git a/engine/function/src/templates/Basic.ftl b/engine/function/src/templates/Basic.ftl index 9979c90cdfe..fd55d76eb1d 100644 --- a/engine/function/src/templates/Basic.ftl +++ b/engine/function/src/templates/Basic.ftl @@ -5,6 +5,7 @@ package io.deephaven.function; import io.deephaven.vector.*; +import io.deephaven.engine.primitive.iterator.*; import io.deephaven.util.datastructures.LongSizedDataStructure; import io.deephaven.util.QueryConstants; import gnu.trove.list.array.*; @@ -105,10 +106,10 @@ public class Basic { * @return array containing value, if value is not null according to Deephaven convention, replacement otherwise. */ static public T[] replaceIfNull(T[] values, T replacement) { - T[] result = values.clone(); + final T[] result = Arrays.copyOf(values, values.length); - for (int i = 0; i < values.length; i++) { - result[i] = replaceIfNull(values[i], replacement); + for (int i = 0; i < result.length; i++) { + result[i] = replaceIfNull(result[i], replacement); } return result; @@ -122,11 +123,10 @@ public class Basic { * @return array containing value, if value is not null according to Deephaven convention, replacement otherwise. */ static public T[] replaceIfNull(ObjectVector values, T replacement) { - final int n = values.intSize("replaceIfNull"); - T[] result = values.toArray(); + final T[] result = values.copyToArray(); - for (int i = 0; i < n; i++) { - result[i] = replaceIfNull(values.get(i), replacement); + for (int i = 0; i < result.length; i++) { + result[i] = replaceIfNull(result[i], replacement); } return result; @@ -152,7 +152,6 @@ public class Basic { * @param values values. * @return length of the input or the Deephaven null constant for null inputs. */ - @SuppressWarnings("rawtypes") static public long len(LongSizedDataStructure values) { if (values == null) { return NULL_LONG; @@ -187,14 +186,15 @@ public class Basic { return NULL_LONG; } - final long n = values.size(); long count = 0; - for (long i = 0; i < n; i++) { - T c = values.get(i); + try (final CloseableIterator vi = values.iterator()) { + while ( vi.hasNext() ) { + final T c = vi.next(); - if (!isNull(c)) { - count++; + if (!isNull(c)) { + count++; + } } } @@ -223,7 +223,7 @@ public class Basic { * @return last value from the array. */ static public T lastObj(ObjectVector values) { - if (values == null || values.size() == 0) { + if (values == null || values.isEmpty()) { return null; } @@ -252,7 +252,7 @@ public class Basic { * @return first value from the array. */ static public T firstObj(ObjectVector values) { - if (values == null || values.size() == 0) { + if (values == null || values.isEmpty()) { return null; } @@ -291,17 +291,17 @@ public class Basic { } /** - * Converts a Deephaven vector to an array. + * Converts a Deephaven vector to an array that may be freely mutated by the caller. * - * @param values Deephaven vector - * @return primitive array. + * @param values A Deephaven vector + * @return The result array, which may be freely mutated by the caller */ public static T[] arrayObj(ObjectVector values) { if (values == null) { return null; } - return values.toArray(); + return values.copyToArray(); } /** @@ -356,14 +356,15 @@ public class Basic { */ static public boolean inObj(T testedValue, ObjectVector possibleValues) { final boolean testedIsNull = isNull(testedValue); - final long size = possibleValues.size(); - for (long i = 0; i < size; i++) { - final T possibleValue = possibleValues.get(i); - final boolean possibleIsNull = isNull(possibleValue); + try (final CloseableIterator vi = possibleValues.iterator()) { + while ( vi.hasNext() ) { + final T possibleValue = vi.next(); + final boolean possibleIsNull = isNull(possibleValue); - if (testedIsNull == possibleIsNull && (testedIsNull || testedValue.equals(possibleValue))) { - return true; + if (testedIsNull == possibleIsNull && (testedIsNull || testedValue.equals(possibleValue))) { + return true; + } } } @@ -439,8 +440,11 @@ public class Basic { final THashSet keys = new THashSet<>(); - for (long ii = 0; ii < n; ii++) { - keys.add(values.get(ii)); + try (final CloseableIterator vi = values.iterator()) { + while ( vi.hasNext() ) { + final T v = vi.next(); + keys.add(v); + } } if (!countNull) { @@ -523,16 +527,18 @@ public class Basic { } if (n == 1) { - return !includeNull && isNull(values.get(0)) ? empty : values.toArray(); + return !includeNull && isNull(values.get(0)) ? empty : values.copyToArray(); } final List orderedList = new ArrayList<>(); final THashSet counts = new THashSet<>(); - for (long ii = 0; ii < n; ii++) { - T val = values.get(ii); - if ((includeNull || !isNull(val)) && counts.add(val)) { - orderedList.add(val); + try (final CloseableIterator vi = values.iterator()) { + while ( vi.hasNext() ) { + final T val = vi.next(); + if ((includeNull || !isNull(val)) && counts.add(val)) { + orderedList.add(val); + } } } @@ -623,10 +629,12 @@ public class Basic { for (ObjectVector v : values) { if (v != null) { - final long nn = v.size(); - for (long i = 0; i < nn; i++) { - result[idx] = v.get(i); - idx++; + try (final CloseableIterator vi = v.iterator()) { + while ( vi.hasNext() ) { + final T vv = vi.next(); + result[idx] = vv; + idx++; + } } } } @@ -646,7 +654,9 @@ public class Basic { return null; } - return reverseObj(new ObjectVectorDirect<>(values)); + final T[] result = Arrays.copyOf(values, values.length); + ArrayUtils.reverse(result); + return result; } /** @@ -660,13 +670,7 @@ public class Basic { return null; } - final int n = values.intSize("reverseObj"); - @SuppressWarnings("unchecked") final T[] result = (T[])Array.newInstance(values.getComponentType(), n); - - for (int i=0; i vi = values.iterator()) { + while ( vi.hasNext() ) { + final T c = vi.next(); + final boolean isnullc = isNull(c); - for (long i = 0; i < L; ++i) { - T c = values.get(i); - final boolean isnullc = isNull(c); + if ((isnullc && isNullVal) || (!isnullc && c.equals(val)) ) { + return i; + } - if ((isnullc && isNullVal) || (!isnullc && c.equals(val)) ) { - return i; + i++; } } @@ -759,9 +767,20 @@ public class Basic { } @SuppressWarnings("unchecked") final T[] result = (T[])Array.newInstance(trueCase.getComponentType(), n_c); - - for (int i=0; i < n_c; i++) { - result[i] = condition.get(i) == null ? null : (condition.get(i) ? trueCase.get(i) : falseCase.get(i)); + int i = 0; + + try ( + final CloseableIterator ci = condition.iterator(); + final CloseableIterator ti = trueCase.iterator(); + final CloseableIterator fi = falseCase.iterator() + ) { + while ( ci.hasNext() ) { + final Boolean c = ci.next(); + final T t = ti.next(); + final T f = fi.next(); + result[i] = c == null ? null : (c ? t : f); + i++; + } } return result; @@ -783,7 +802,7 @@ public class Basic { return null; } - return ifelseObj(new ObjectVectorDirect<>(condition), new ObjectVectorDirect(trueCase), new ObjectVectorDirect(falseCase)); + return ifelseObj(new ObjectVectorDirect<>(condition), new ObjectVectorDirect<>(trueCase), new ObjectVectorDirect<>(falseCase)); } /** @@ -814,10 +833,14 @@ public class Basic { } @SuppressWarnings("unchecked") final T[] result = (T[])Array.newInstance(typeToUse.getClass(), n_c); + int i = 0; - for (int i=0; i < n_c; i++) { - final Boolean c = condition.get(i); - result[i] = c == null ? null : (c ? trueCase : falseCase); + try (final CloseableIterator vi = condition.iterator()) { + while ( vi.hasNext() ) { + final Boolean c = vi.next(); + result[i] = c == null ? null : (c ? trueCase : falseCase); + i++; + } } return result; @@ -860,9 +883,9 @@ public class Basic { final T[] result = Arrays.copyOf(values, values.length); T lastGood = null; - for (int ii = 0; ii < values.length; ii++) { - if (!isNull(values[ii])) { - lastGood = values[ii]; + for (int ii = 0; ii < result.length; ii++) { + if (!isNull(result[ii])) { + lastGood = result[ii]; } result[ii] = lastGood; @@ -884,13 +907,12 @@ public class Basic { return null; } - final int n = values.intSize("forwardFill"); - final T[] result = values.toArray(); + final T[] result = values.copyToArray(); T lastGood = null; - for (int ii = 0; ii < n; ii++) { - if (!isNull(values.get(ii))) { - lastGood = values.get(ii); + for (int ii = 0; ii < result.length; ii++) { + if (!isNull(result[ii])) { + lastGood = result[ii]; } result[ii] = lastGood; @@ -899,8 +921,6 @@ public class Basic { } <#list primitiveTypes as pt> - <#if !pt.valueType.isBoolean > - //////////////////////////// ${pt.primitive} //////////////////////////// @@ -916,9 +936,6 @@ public class Basic { return value == QueryConstants.${pt.null}; } - - <#if !pt.valueType.isBoolean > - /** * Unboxes an array of values. * @@ -945,8 +962,6 @@ public class Basic { return result; } - - /** * Replaces values that are null according to Deephaven convention with a specified value. * @@ -983,9 +998,14 @@ public class Basic { static public ${pt.primitive}[] replaceIfNull(${pt.vector} values, ${pt.primitive} replacement) { final int n = values.intSize("replaceIfNull"); ${pt.primitive}[] result = new ${pt.primitive}[n]; + int i = 0; - for (int i = 0; i < n; i++) { - result[i] = replaceIfNull(values.get(i), replacement); + try (final ${pt.vectorIterator} vi = values.iterator()) { + while ( vi.hasNext() ) { + final ${pt.primitive} v = vi.${pt.iteratorNext}(); + result[i] = replaceIfNull(v, replacement); + i++; + } } return result; @@ -1030,12 +1050,14 @@ public class Basic { return NULL_LONG; } - final long n = values.size(); long count = 0; - for (long i = 0; i < n; i++) { - if (!isNull(values.get(i))) { - count++; + try (final ${pt.vectorIterator} vi = values.iterator()) { + while ( vi.hasNext() ) { + final ${pt.primitive} v = vi.${pt.iteratorNext}(); + if (!isNull(v)) { + count++; + } } } @@ -1083,7 +1105,7 @@ public class Basic { * @return first value from the array. */ static public ${pt.primitive} first(${pt.vector} values) { - if (values == null || values.size() == 0) { + if (values == null || values.isEmpty()) { return QueryConstants.${pt.null}; } @@ -1131,17 +1153,17 @@ public class Basic { } /** - * Converts a Deephaven vector to a primitive array. + * Converts a Deephaven vector to a primitive array that may be freely mutated by the caller. * * @param values Deephaven vector - * @return primitive array. + * @return primitive array, which may be freely mutated by the caller */ public static ${pt.primitive}[] array(${pt.vector} values) { if (values == null) { return null; } - return values.toArray(); + return values.copyToArray(); } /** @@ -1154,8 +1176,6 @@ public class Basic { return new ${pt.vectorDirect}(values); } - <#if pt.valueType.isBoolean == false > - /** * Checks if a value is within a range. * @@ -1172,8 +1192,6 @@ public class Basic { return testedValue >= lowInclusiveValue && testedValue <= highInclusiveValue; } - - /** * Checks if a value is within a discrete set of possible values. * @@ -1231,8 +1249,6 @@ public class Basic { return countDistinct(new ${pt.vectorDirect}(values), countNull); } - <#if pt.valueType.isBoolean == false > - /** * Counts the number of distinct elements in the array. * @@ -1257,45 +1273,11 @@ public class Basic { final T${pt.primitive?capitalize}Set keys = new T${pt.primitive?capitalize}HashSet(); - for (long ii = 0; ii < n; ii++) { - keys.add(values.get(ii)); - } - - if (!countNull) { - keys.remove(QueryConstants.${pt.null}); - } - - return keys.size(); - } - - <#else> - - /** - * Counts the number of distinct elements in the array. - * - * @param values values. - * @param countNull true to count null values, and false to exclude null values. - * @return number of distinct values. - */ - public static long countDistinct(final ${pt.vector} values, boolean countNull) { - if (values == null) { - return QueryConstants.NULL_LONG; - } - - final long n = values.size(); - - if (n == 0) { - return 0; - } - - if (n == 1) { - return !countNull && values.get(0) == QueryConstants.${pt.null} ? 0 : 1; - } - - final Set<${pt.boxed}> keys = new HashSet<${pt.boxed}>(); - - for (long ii = 0; ii < n; ii++) { - keys.add(values.get(ii)); + try (final ${pt.vectorIterator} vi = values.iterator()) { + while ( vi.hasNext() ) { + final ${pt.primitive} v = vi.${pt.iteratorNext}(); + keys.add(v); + } } if (!countNull) { @@ -1305,8 +1287,6 @@ public class Basic { return keys.size(); } - - /** * Returns an array containing only the distinct values from the input. * @@ -1331,8 +1311,6 @@ public class Basic { return distinct(values, false); } - <#if pt.valueType.isBoolean == false > - /** * Returns an array containing only the distinct values from the input. * @@ -1350,7 +1328,7 @@ public class Basic { } if (values.length == 1) { - return !includeNull && values[0] == QueryConstants.${pt.null} ? new ${pt.primitive}[0] : values; + return !includeNull && values[0] == QueryConstants.${pt.null} ? new ${pt.primitive}[0] : new ${pt.primitive}[] { values[0] }; } final T${pt.primitive?capitalize}ArrayList orderedList = new T${pt.primitive?capitalize}ArrayList(); @@ -1365,7 +1343,7 @@ public class Basic { return orderedList.toArray(); } - /** + /** * Returns an array containing only the distinct values from the input. * * @param values values. @@ -1384,93 +1362,24 @@ public class Basic { } if (n == 1) { - return !includeNull && values.get(0) == QueryConstants.${pt.null} ? new ${pt.primitive}[0] : values.toArray(); + return !includeNull && values.get(0) == QueryConstants.${pt.null} ? new ${pt.primitive}[0] : values.copyToArray(); } final T${pt.primitive?capitalize}ArrayList orderedList = new T${pt.primitive?capitalize}ArrayList(); final T${pt.primitive?capitalize}Set counts = new T${pt.primitive?capitalize}HashSet(); - for (long ii = 0; ii < n; ii++) { - ${pt.primitive} val = values.get(ii); - if ((includeNull || val != QueryConstants.${pt.null}) && counts.add(val)) { - orderedList.add(val); + try (final ${pt.vectorIterator} vi = values.iterator()) { + while ( vi.hasNext() ) { + final ${pt.primitive} val = vi.${pt.iteratorNext}(); + if ((includeNull || val != QueryConstants.${pt.null}) && counts.add(val)) { + orderedList.add(val); + } } } return orderedList.toArray(); } - <#else> - - /** - * Returns an array containing only the distinct values from the input. - * - * @param values values. - * @param includeNull true to include null values, and false to exclude null values. - * @return array containing only distinct items from arr. - */ - public static ${pt.primitive}[] distinct(final ${pt.primitive}[] values, boolean includeNull) { - if (values == null) { - return null; - } - - if (values.length == 0) { - return new ${pt.primitive}[0]; - } - - if (values.length == 1) { - return !includeNull && values[0] == QueryConstants.${pt.null} ? new ${pt.primitive}[0] : values; - } - - final ArrayList<${pt.boxed}> orderedList = new ArrayList<>(); - final Set<${pt.boxed}> counts = new HashSet<>(); - - for (${pt.primitive} val : values) { - if ((includeNull || val != QueryConstants.${pt.null}) && counts.add(val)) { - orderedList.add(val); - } - } - - return orderedList.toArray(new ${pt.boxed}[0]); - } - - /** - * Returns an array containing only the distinct values from the input. - * - * @param values values. - * @param includeNull true to include null values, and false to exclude null values. - * @return array containing only distinct items from arr. - */ - public static ${pt.primitive}[] distinct(final ${pt.vector} values, boolean includeNull) { - if (values == null) { - return null; - } - - final long n = values.size(); - - if (n == 0) { - return new ${pt.primitive}[0]; - } - - if (n == 1) { - return !includeNull && values.get(0) == QueryConstants.${pt.null} ? new ${pt.primitive}[0] : values.toArray(); - } - - final ArrayList<${pt.boxed}> orderedList = new ArrayList<>(); - final Set<${pt.boxed}> counts = new HashSet<>(); - - for (long ii = 0; ii < n; ii++) { - ${pt.primitive} val = values.get(ii); - if ((includeNull || val != QueryConstants.${pt.null}) && counts.add(val)) { - orderedList.add(val); - } - } - - return orderedList.toArray(new ${pt.boxed}[0]); - } - - - /** * Returns an array with a value repeated. * @@ -1544,10 +1453,12 @@ public class Basic { for (${pt.vector} v : values) { if (v != null) { - final long nn = v.size(); - for (int i = 0; i < nn; i++) { - result[idx] = v.get(i); - idx++; + try (final ${pt.vectorIterator} vi = v.iterator()) { + while ( vi.hasNext() ) { + final ${pt.primitive} vv = vi.${pt.iteratorNext}(); + result[idx] = vv; + idx++; + } } } } @@ -1582,9 +1493,14 @@ public class Basic { final int n = values.intSize("reverse"); final ${pt.primitive}[] result = new ${pt.primitive}[n]; + int i = n-1; - for (int i=0; i ci = condition.iterator(); + final ${pt.vectorIterator} ti = trueCase.iterator(); + final ${pt.vectorIterator} fi = falseCase.iterator() + ) { + while (ci.hasNext()) { + final Boolean c = ci.next(); + final ${pt.primitive} t = ti.${pt.iteratorNext}(); + final ${pt.primitive} f = fi.${pt.iteratorNext}(); + result[i] = c == null ? ${pt.null} : (c ? t : f); + i++; + } } return result; @@ -1716,10 +1647,14 @@ public class Basic { final int n_c = condition.intSize("condition"); final ${pt.primitive}[] result = new ${pt.primitive}[n_c]; + int i = 0; - for (int i=0; i < n_c; i++) { - final Boolean c = condition.get(i); - result[i] = c == null ? ${pt.null} : (c ? trueCase : falseCase); + try (final CloseableIterator vi = condition.iterator()) { + while ( vi.hasNext() ) { + final Boolean c = vi.next(); + result[i] = c == null ? ${pt.null} : (c ? trueCase : falseCase); + i++; + } } return result; @@ -1777,18 +1712,23 @@ public class Basic { final int n = values.intSize("forwardFill"); final ${pt.primitive}[] result = new ${pt.primitive}[n]; - + int ii = 0; ${pt.primitive} lastGood = QueryConstants.${pt.null}; - for (int ii = 0; ii < n; ii++) { - if (!isNull(values.get(ii))) { - lastGood = values.get(ii); - } - result[ii] = lastGood; + try (final ${pt.vectorIterator} vi = values.iterator()) { + while ( vi.hasNext() ) { + final ${pt.primitive} v = vi.${pt.iteratorNext}(); + if (!isNull(v)) { + lastGood = v; + } + + result[ii] = lastGood; + ii++; + } } + return result; } - } diff --git a/engine/function/src/templates/BinSearch.ftl b/engine/function/src/templates/BinSearch.ftl index c1d050da1af..b40729d8c2d 100644 --- a/engine/function/src/templates/BinSearch.ftl +++ b/engine/function/src/templates/BinSearch.ftl @@ -114,7 +114,7 @@ public class BinSearch { } static private > int binarySearch0Modified(ObjectVector array, int fromIndex, int toIndex, T key, boolean highestOrLowest) { - if(array.size() == 0){ + if(array.isEmpty()){ return -1; } @@ -279,7 +279,7 @@ public class BinSearch { } static private int binarySearch0Modified(${pt.vector} array, int fromIndex, int toIndex, ${pt.primitive} key, boolean highestOrLowest) { - if(array.size() == 0){ + if(array.isEmpty()){ return -1; } @@ -339,7 +339,6 @@ public class BinSearch { return -(low + 1); // key not found. } - } diff --git a/engine/function/src/templates/Cast.ftl b/engine/function/src/templates/Cast.ftl index c4a62f34026..d7ab634b9da 100644 --- a/engine/function/src/templates/Cast.ftl +++ b/engine/function/src/templates/Cast.ftl @@ -5,6 +5,7 @@ package io.deephaven.function; import io.deephaven.vector.*; +import io.deephaven.engine.primitive.iterator.*; import static io.deephaven.util.QueryConstants.*; @@ -270,9 +271,14 @@ public class Cast { final int s = values.intSize("castInt"); int[] result = new int[s]; - - for (int i = 0; i < result.length; i++) { - result[i] = castInt(values.get(i), checkFidelity); + int i = 0; + + try (final ${pt.vectorIterator} vi = values.iterator()) { + while ( vi.hasNext() ) { + final ${pt.primitive} v = vi.${pt.iteratorNext}(); + result[i] = castInt(v, checkFidelity); + i++; + } } return result; @@ -333,9 +339,14 @@ public class Cast { final int s = values.intSize("castLong"); long[] result = new long[s]; - - for (int i = 0; i < result.length; i++) { - result[i] = castLong(values.get(i), checkFidelity); + int i = 0; + + try (final ${pt.vectorIterator} vi = values.iterator()) { + while ( vi.hasNext() ) { + final ${pt.primitive} v = vi.${pt.iteratorNext}(); + result[i] = castLong(v, checkFidelity); + i++; + } } return result; @@ -398,9 +409,14 @@ public class Cast { final int s = values.intSize("castDouble"); double[] result = new double[s]; - - for (int i = 0; i < result.length; i++) { - result[i] = castDouble(values.get(i), checkFidelity); + int i = 0; + + try (final ${pt.vectorIterator} vi = values.iterator()) { + while ( vi.hasNext() ) { + final ${pt.primitive} v = vi.${pt.iteratorNext}(); + result[i] = castDouble(v, checkFidelity); + i++; + } } return result; diff --git a/engine/function/src/templates/Numeric.ftl b/engine/function/src/templates/Numeric.ftl index 1da0184a84a..3c823ec9355 100644 --- a/engine/function/src/templates/Numeric.ftl +++ b/engine/function/src/templates/Numeric.ftl @@ -3,6 +3,7 @@ package io.deephaven.function; import io.deephaven.base.verify.Require; import io.deephaven.vector.*; +import io.deephaven.engine.primitive.iterator.*; import io.deephaven.util.datastructures.LongSizedDataStructure; import java.util.Arrays; @@ -103,14 +104,18 @@ public class Numeric { T val = null; long index = NULL_LONG; long count = 0; - final long n = values.size(); - - for (long i = 0; i < n; i++) { - T c = values.get(i); - if (!isNull(c) && ( val == null || c.compareTo(val) > 0)) { - val = c; - index = i; - count++; + long i = 0; + + try (final CloseableIterator vi = values.iterator() ) { + while ( vi.hasNext() ) { + final T c = vi.next(); + if (!isNull(c) && ( val == null || c.compareTo(val) > 0)) { + val = c; + index = i; + count++; + } + + i++; } } @@ -146,14 +151,18 @@ public class Numeric { T val = null; long index = NULL_LONG; long count = 0; - final long n = values.size(); - - for (long i = 0; i < n; i++) { - T c = values.get(i); - if (!isNull(c) && ( val == null || c.compareTo(val) < 0)) { - val = c; - index = i; - count++; + long i = 0; + + try ( final CloseableIterator vi = values.iterator() ) { + while ( vi.hasNext() ) { + final T c = vi.next(); + if (!isNull(c) && ( val == null || c.compareTo(val) < 0)) { + val = c; + index = i; + count++; + } + + i++; } } @@ -203,12 +212,13 @@ public class Numeric { } long count = 0; - final long n = values.size(); - for (long i = 0; i < n; i++) { - ${pt.primitive} c = values.get(i); - if (!isNull(c) && c > 0) { - count++; + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + while ( vi.hasNext() ) { + final ${pt.primitive} c = vi.${pt.iteratorNext}(); + if (!isNull(c) && c > 0) { + count++; + } } } @@ -253,10 +263,12 @@ public class Numeric { long count = 0; final long n = values.size(); - for (long i = 0; i < n; i++) { - ${pt.primitive} c = values.get(i); - if (!isNull(c) && c < 0) { - count++; + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + while ( vi.hasNext() ) { + final ${pt.primitive} c = vi.${pt.iteratorNext}(); + if (!isNull(c) && c < 0) { + count++; + } } } @@ -299,12 +311,13 @@ public class Numeric { } long count = 0; - final long n = values.size(); - for (long i = 0; i < n; i++) { - ${pt.primitive} c = values.get(i); - if (!isNull(c) && c == 0) { - count++; + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + while ( vi.hasNext() ) { + final ${pt.primitive} c = vi.${pt.iteratorNext}(); + if (!isNull(c) && c == 0) { + count++; + } } } @@ -348,13 +361,14 @@ public class Numeric { double sum = 0; double count = 0; - final long n = values.size(); - for (long i = 0; i < n; i++) { - ${pt.primitive} c = values.get(i); - if (!isNull(c)) { - sum += c; - count++; + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + while ( vi.hasNext() ) { + final ${pt.primitive} c = vi.${pt.iteratorNext}(); + if (!isNull(c)) { + sum += c; + count++; + } } } @@ -398,13 +412,14 @@ public class Numeric { double sum = 0; double count = 0; - final long n = values.size(); - for (long i = 0; i < n; i++) { - ${pt.primitive} c = values.get(i); - if (!isNull(c)) { - sum += Math.abs(c); - count++; + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + while ( vi.hasNext() ) { + final ${pt.primitive} c = vi.${pt.iteratorNext}(); + if (!isNull(c)) { + sum += Math.abs(c); + count++; + } } } @@ -449,14 +464,15 @@ public class Numeric { double sum = 0; double sum2 = 0; double count = 0; - final long n = values.size(); - for (long i = 0; i < n; i++) { - ${pt.primitive} c = values.get(i); - if (!isNull(c)) { - sum += (double)c; - sum2 += (double)c * (double)c; - count++; + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + while ( vi.hasNext() ) { + final ${pt.primitive} c = vi.${pt.iteratorNext}(); + if (!isNull(c)) { + sum += (double)c; + sum2 += (double)c * (double)c; + count++; + } } } @@ -533,13 +549,19 @@ public class Numeric { double sum2 = 0; double count = 0; - for (long i = 0; i < n; i++) { - ${pt.primitive} c = values.get(i); - ${pt2.primitive} w = weights.get(i); - if (!isNull(c) && !isNull(w)) { - sum += w * c; - sum2 += w * c * c; - count += w; + try ( + final ${pt.vectorIterator} vi = values.iterator(); + final ${pt2.vectorIterator} wi = weights.iterator() + ) { + while (vi.hasNext()) { + final ${pt.primitive} c = vi.${pt.iteratorNext}(); + final ${pt2.primitive} w = wi.${pt2.iteratorNext}(); + + if (!isNull(c) && !isNull(w)) { + sum += w * c; + sum2 += w * c * c; + count += w; + } } } @@ -764,15 +786,19 @@ public class Numeric { // see https://stats.stackexchange.com/questions/25895/computing-standard-error-in-weighted-mean-estimation double sumw = 0; double sumw2 = 0; - final long n = values.size(); - for(long i=0; i val || (c == val && count == 0))) { - val = c; - index = i; - count++; + long i = 0; + + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + while ( vi.hasNext() ) { + final ${pt.primitive} c = vi.${pt.iteratorNext}(); + if (!isNull(c) && (c > val || (c == val && count == 0))) { + val = c; + index = i; + count++; + } + + i++; } } @@ -1055,14 +1085,18 @@ public class Numeric { ${pt.primitive} val = ${pt.maxValue}; long index = NULL_LONG; long count = 0; - final long n = values.size(); - - for (int i = 0; i < n; i++) { - ${pt.primitive} c = values.get(i); - if (!isNull(c) && (c < val || (c == val && count == 0) )) { - val = c; - index = i; - count++; + long i = 0; + + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + while ( vi.hasNext() ) { + final ${pt.primitive} c = vi.${pt.iteratorNext}(); + if (!isNull(c) && (c < val || (c == val && count == 0) )) { + val = c; + index = i; + count++; + } + + i++; } } @@ -1109,7 +1143,7 @@ public class Numeric { if (n == 0) { return Double.NaN; } else { - ${pt.primitive}[] copy = values.toArray(); + ${pt.primitive}[] copy = values.copyToArray(); Arrays.sort(copy); if (n % 2 == 0) return 0.5 * (copy[n / 2 - 1] + copy[n / 2]); @@ -1149,7 +1183,7 @@ public class Numeric { } int n = values.intSize("percentile"); - ${pt.primitive}[] copy = values.toArray(); + ${pt.primitive}[] copy = values.copyToArray(); Arrays.sort(copy); int idx = (int) Math.round(percentile * (n - 1)); @@ -1225,14 +1259,21 @@ public class Numeric { double sum1 = 0; double sum01 = 0; double count = 0; - final long n = values0.size(); - - for (long i = 0; i < n; i++) { - if (!isNull(values0.get(i)) && !isNull(values1.get(i))) { - sum0 += values0.get(i); - sum1 += values1.get(i); - sum01 += values0.get(i) * values1.get(i); - count++; + + try ( + final ${pt.vectorIterator} v0i = values0.iterator(); + final ${pt2.vectorIterator} v1i = values1.iterator() + ) { + while (v0i.hasNext()) { + final ${pt.primitive} v0 = v0i.${pt.iteratorNext}(); + final ${pt2.primitive} v1 = v1i.${pt2.iteratorNext}(); + + if (!isNull(v0) && !isNull(v1)) { + sum0 += v0; + sum1 += v1; + sum01 += v0 * v1; + count++; + } } } @@ -1306,16 +1347,23 @@ public class Numeric { double sum1Sq = 0; double sum01 = 0; double count = 0; - final long n = values0.size(); - - for (long i = 0; i < n; i++) { - if (!isNull(values0.get(i)) && !isNull(values1.get(i))) { - sum0 += values0.get(i); - sum0Sq += values0.get(i) * values0.get(i); - sum1 += values1.get(i); - sum1Sq += values1.get(i) * values1.get(i); - sum01 += values0.get(i) * values1.get(i); - count++; + + try ( + final ${pt.vectorIterator} v0i = values0.iterator(); + final ${pt2.vectorIterator} v1i = values1.iterator() + ) { + while (v0i.hasNext()) { + final ${pt.primitive} v0 = v0i.${pt.iteratorNext}(); + final ${pt2.primitive} v1 = v1i.${pt2.iteratorNext}(); + + if (!isNull(v0) && !isNull(v1)) { + sum0 += v0; + sum0Sq += v0 * v0; + sum1 += v1; + sum1Sq += v1 * v1; + sum01 += v0 * v1; + count++; + } } } @@ -1342,14 +1390,16 @@ public class Numeric { } double sum = 0; - final long n = values.size(); - for (long i = 0; i < n; i++) { - ${pt.primitive} c = values.get(i); - if (!isNull(c)) { - sum += c; + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + while ( vi.hasNext() ) { + final ${pt.primitive} c = vi.${pt.iteratorNext}(); + if (!isNull(c)) { + sum += c; + } } } + return (${pt.primitive}) (sum); } @@ -1380,13 +1430,14 @@ public class Numeric { ${pt.primitive} prod = 1; int count = 0; - final long n = values.size(); - for (long i = 0; i < n; i++) { - ${pt.primitive} c = values.get(i); - if (!isNull(c)) { - count++; - prod *= c; + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + while ( vi.hasNext() ) { + final ${pt.primitive} c = vi.${pt.iteratorNext}(); + if (!isNull(c)) { + count++; + prod *= c; + } } } @@ -1463,21 +1514,29 @@ public class Numeric { return null; } - if (values.size() == 0) { + if (values.isEmpty()) { return new ${pt.primitive}[0]; } final int n = values.intSize("cummin"); ${pt.primitive}[] result = new ${pt.primitive}[n]; - result[0] = values.get(0); - for (int i = 1; i < n; i++) { - if (isNull(result[i - 1])) { - result[i] = values.get(i); - } else if (isNull(values.get(i))) { - result[i] = result[i - 1]; - } else { - result[i] = (${pt.primitive})Math.min(result[i - 1], values.get(i)); + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + result[0] = vi.${pt.iteratorNext}(); + int i = 1; + + while (vi.hasNext()) { + final ${pt.primitive} v = vi.${pt.iteratorNext}(); + + if (isNull(result[i - 1])) { + result[i] = v; + } else if (isNull(v)) { + result[i] = result[i - 1]; + } else { + result[i] = (${pt.primitive})Math.min(result[i - 1], v); + } + + i++; } } @@ -1530,17 +1589,22 @@ public class Numeric { return null; } - if (values.size() == 0) { + if (values.isEmpty()) { return new ${pt.primitive}[0]; } final int n = values.intSize("cummax"); ${pt.primitive}[] result = new ${pt.primitive}[n]; - result[0] = values.get(0); - - for (int i = 1; i < n; i++) { - result[i] = compare(result[i-1], values.get(i)) > 0 ? result[i-1] : values.get(i); + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + result[0] = vi.${pt.iteratorNext}(); + int i = 1; + + while (vi.hasNext()) { + final ${pt.primitive} v = vi.${pt.iteratorNext}(); + result[i] = compare(result[i-1], v) > 0 ? result[i-1] : v; + i++; + } } return result; @@ -1598,21 +1662,29 @@ public class Numeric { return null; } - if (values.size() == 0) { + if (values.isEmpty()) { return new ${pt.primitive}[0]; } final int n = values.intSize("cumsum"); ${pt.primitive}[] result = new ${pt.primitive}[n]; - result[0] = values.get(0); - for (int i = 1; i < n; i++) { - if (isNull(result[i - 1])) { - result[i] = values.get(i); - } else if (isNull(values.get(i))) { - result[i] = result[i - 1]; - } else { - result[i] = (${pt.primitive}) (result[i - 1] + values.get(i)); + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + result[0] = vi.${pt.iteratorNext}(); + int i = 1; + + while (vi.hasNext()) { + final ${pt.primitive} v = vi.${pt.iteratorNext}(); + + if (isNull(result[i - 1])) { + result[i] = v; + } else if (isNull(v)) { + result[i] = result[i - 1]; + } else { + result[i] = (${pt.primitive}) (result[i - 1] + v); + } + + i++; } } @@ -1671,21 +1743,29 @@ public class Numeric { return null; } - if (values.size() == 0) { + if (values.isEmpty()) { return new ${pt.primitive}[0]; } final int n = values.intSize("cumprod"); ${pt.primitive}[] result = new ${pt.primitive}[n]; - result[0] = values.get(0); - for (int i = 1; i < n; i++) { - if (isNull(result[i - 1])) { - result[i] = values.get(i); - } else if (isNull(values.get(i))) { - result[i] = result[i - 1]; - } else { - result[i] = (${pt.primitive}) (result[i - 1] * values.get(i)); + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + result[0] = vi.${pt.iteratorNext}(); + int i = 1; + + while (vi.hasNext()) { + final ${pt.primitive} v = vi.${pt.iteratorNext}(); + + if (isNull(result[i - 1])) { + result[i] = v; + } else if (isNull(v)) { + result[i] = result[i - 1]; + } else { + result[i] = (${pt.primitive}) (result[i - 1] * v); + } + + i++; } } @@ -2155,11 +2235,17 @@ public class Numeric { double vsum = 0; - for (int i = 0; i < n; i++) { - ${pt.primitive} c = values.get(i); - ${pt2.primitive} w = weights.get(i); - if (!isNull(c) && !isNull(w)) { - vsum += c * w; + try ( + final ${pt.vectorIterator} vi = values.iterator(); + final ${pt2.vectorIterator} wi = weights.iterator() + ) { + while (vi.hasNext()) { + final ${pt.primitive} c = vi.${pt.iteratorNext}(); + final ${pt2.primitive} w = wi.${pt2.iteratorNext}(); + + if (!isNull(c) && !isNull(w)) { + vsum += c * w; + } } } @@ -2232,14 +2318,21 @@ public class Numeric { double vsum = 0; double wsum = 0; - for (int i = 0; i < n; i++) { - ${pt.primitive} c = values.get(i); - ${pt2.primitive} w = weights.get(i); - if (!isNull(c) && !isNull(w)) { - vsum += c * w; - wsum += w; + try ( + final ${pt.vectorIterator} vi = values.iterator(); + final ${pt2.vectorIterator} wi = weights.iterator() + ) { + while (vi.hasNext()) { + final ${pt.primitive} c = vi.${pt.iteratorNext}(); + final ${pt2.primitive} w = wi.${pt2.iteratorNext}(); + + if (!isNull(c) && !isNull(w)) { + vsum += c * w; + wsum += w; + } } } + return vsum / wsum; } @@ -2404,9 +2497,14 @@ public class Numeric { static public ${pt.primitive}[] replaceIfNaN(${pt.vector} values, ${pt.primitive} replacement) { final int n = values.intSize("replaceIfNaN"); ${pt.primitive}[] result = new ${pt.primitive}[n]; + int i = 0; - for (int i = 0; i < n; i++) { - result[i] = replaceIfNaN(values.get(i), replacement); + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + while ( vi.hasNext() ) { + final ${pt.primitive} v = vi.${pt.iteratorNext}(); + result[i] = replaceIfNaN(v, replacement); + i++; + } } return result; @@ -2448,9 +2546,14 @@ public class Numeric { static public ${pt.primitive}[] replaceIfNullNaN(${pt.vector} values, ${pt.primitive} replacement) { final int n = values.intSize("replaceIfNullNaN"); ${pt.primitive}[] result = new ${pt.primitive}[n]; + int i = 0; - for (int i = 0; i < n; i++) { - result[i] = replaceIfNullNaN(values.get(i), replacement); + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + while ( vi.hasNext() ) { + final ${pt.primitive} v = vi.${pt.iteratorNext}(); + result[i] = replaceIfNullNaN(v, replacement); + i++; + } } return result; @@ -2488,9 +2591,14 @@ public class Numeric { static public ${pt.primitive}[] replaceIfNonFinite(${pt.vector} values, ${pt.primitive} replacement) { final int n = values.intSize("replaceIfNonFinite"); ${pt.primitive}[] result = new ${pt.primitive}[n]; + int i = 0; - for (int i = 0; i < n; i++) { - result[i] = replaceIfNonFinite(values.get(i), replacement); + try ( final ${pt.vectorIterator} vi = values.iterator() ) { + while ( vi.hasNext() ) { + final ${pt.primitive} v = vi.${pt.iteratorNext}(); + result[i] = replaceIfNonFinite(v, replacement); + i++; + } } return result; diff --git a/engine/function/src/templates/Sort.ftl b/engine/function/src/templates/Sort.ftl index a936db0ecf7..87b66c49db1 100644 --- a/engine/function/src/templates/Sort.ftl +++ b/engine/function/src/templates/Sort.ftl @@ -30,11 +30,11 @@ public class Sort { if (values == null) { return null; } - if (values.size() == 0) { + if (values.isEmpty()) { return values.toArray(); } - final T[] vs = values.toArray(); + final T[] vs = values.copyToArray(); Arrays.sort(vs, comparator); return vs; } @@ -93,11 +93,11 @@ public class Sort { return null; } - if (values.size() == 0) { + if (values.isEmpty()) { return values.toArray(); } - final T[] vs = values.toArray(); + final T[] vs = values.copyToArray(); Arrays.sort(vs, comparator.reversed()); return vs; } @@ -155,11 +155,11 @@ public class Sort { return null; } - if (values.size() == 0) { - return new ${pt.primitive}[0]; + if (values.isEmpty()) { + return values.toArray(); } - final ${pt.primitive}[] vs = Arrays.copyOf(values.toArray(), values.intSize("sort")); + final ${pt.primitive}[] vs = values.copyToArray(); Arrays.sort(vs); return vs; } @@ -213,11 +213,11 @@ public class Sort { return null; } - if (values.size() == 0) { - return new ${pt.primitive}[0]; + if (values.isEmpty()) { + return values.toArray(); } - final ${pt.primitive}[] vs = Arrays.copyOf(values.toArray(), values.intSize("sortDescending")); + final ${pt.primitive}[] vs = values.copyToArray(); Arrays.sort(vs); ArrayUtils.reverse(vs); diff --git a/engine/function/src/templates/TestBasic.ftl b/engine/function/src/templates/TestBasic.ftl index 9f239270dd7..9b538186bcb 100644 --- a/engine/function/src/templates/TestBasic.ftl +++ b/engine/function/src/templates/TestBasic.ftl @@ -567,8 +567,6 @@ public class TestBasic extends BaseArrayTestCase { <#list primitiveTypes as pt> - <#if !pt.valueType.isBoolean > - //////////////////////////// ${pt.primitive} //////////////////////////// @@ -843,7 +841,6 @@ public class TestBasic extends BaseArrayTestCase { assertEquals(null, forwardFill((${pt.primitive}[])null)); assertEquals(new ${pt.primitive}[]{0, 0, 1, 2, 2, 3}, forwardFill(new ${pt.primitive}[]{0, ${pt.null}, 1, 2, ${pt.null}, 3})); } - + } - diff --git a/engine/function/src/templates/TestBinSearch.ftl b/engine/function/src/templates/TestBinSearch.ftl index 6ba32fb55b4..6562732f87b 100644 --- a/engine/function/src/templates/TestBinSearch.ftl +++ b/engine/function/src/templates/TestBinSearch.ftl @@ -152,8 +152,6 @@ public class TestBinSearch extends BaseArrayTestCase { <#list primitiveTypes as pt> - <#if !pt.valueType.isBoolean > - public void test${pt.boxed}BinSearchIndex() { assertEquals(NULL_INT, binSearchIndex((${pt.primitive}[]) null, (${pt.primitive}) 0, BinSearchAlgo.BS_ANY)); @@ -309,7 +307,5 @@ public class TestBinSearch extends BaseArrayTestCase { assertEquals(28, rawBinSearchIndex(v, (${pt.primitive}) 25, BinSearchAlgo.BS_LOWEST)); } - - -} \ No newline at end of file +} diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/DateTimeSsmSourceWrapper.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/DateTimeSsmSourceWrapper.java index 49114daa776..1c5d3133249 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/DateTimeSsmSourceWrapper.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/DateTimeSsmSourceWrapper.java @@ -87,6 +87,11 @@ public DateTime[] toArray() { return underlying.toDateArray(); } + @Override + public DateTime[] copyToArray() { + return toArray(); + } + @Override public Class getComponentType() { return DateTime.class; diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/ByteSegmentedSortedMultiset.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/ByteSegmentedSortedMultiset.java index 2a88055a48f..8b16887ce24 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/ByteSegmentedSortedMultiset.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/ByteSegmentedSortedMultiset.java @@ -2317,6 +2317,11 @@ public byte[] toArray() { return keyArray(); } + @Override + public byte[] copyToArray() { + return toArray(); + } + @Override public long size() { return size; diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/CharSegmentedSortedMultiset.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/CharSegmentedSortedMultiset.java index dc77a0691e2..7a2b7fb3232 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/CharSegmentedSortedMultiset.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/CharSegmentedSortedMultiset.java @@ -2312,6 +2312,11 @@ public char[] toArray() { return keyArray(); } + @Override + public char[] copyToArray() { + return toArray(); + } + @Override public long size() { return size; diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/DoubleSegmentedSortedMultiset.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/DoubleSegmentedSortedMultiset.java index 6e7276115ab..1948e56418c 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/DoubleSegmentedSortedMultiset.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/DoubleSegmentedSortedMultiset.java @@ -2317,6 +2317,11 @@ public double[] toArray() { return keyArray(); } + @Override + public double[] copyToArray() { + return toArray(); + } + @Override public long size() { return size; diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/FloatSegmentedSortedMultiset.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/FloatSegmentedSortedMultiset.java index 45b705dbabf..c4ad7811d5b 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/FloatSegmentedSortedMultiset.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/FloatSegmentedSortedMultiset.java @@ -2317,6 +2317,11 @@ public float[] toArray() { return keyArray(); } + @Override + public float[] copyToArray() { + return toArray(); + } + @Override public long size() { return size; diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/IntSegmentedSortedMultiset.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/IntSegmentedSortedMultiset.java index 619e7aae4f5..22051132e63 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/IntSegmentedSortedMultiset.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/IntSegmentedSortedMultiset.java @@ -2317,6 +2317,11 @@ public int[] toArray() { return keyArray(); } + @Override + public int[] copyToArray() { + return toArray(); + } + @Override public long size() { return size; diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/LongSegmentedSortedMultiset.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/LongSegmentedSortedMultiset.java index fe6f2fa5007..24a34bf4278 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/LongSegmentedSortedMultiset.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/LongSegmentedSortedMultiset.java @@ -2321,6 +2321,11 @@ public long[] toArray() { return keyArray(); } + @Override + public long[] copyToArray() { + return toArray(); + } + @Override public long size() { return size; diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/ObjectSegmentedSortedMultiset.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/ObjectSegmentedSortedMultiset.java index b963d87d487..48fd143c7e4 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/ObjectSegmentedSortedMultiset.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/ObjectSegmentedSortedMultiset.java @@ -2328,6 +2328,11 @@ public Object[] toArray() { return keyArray(); } + @Override + public Object[] copyToArray() { + return toArray(); + } + @Override public long size() { return size; diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/ShortSegmentedSortedMultiset.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/ShortSegmentedSortedMultiset.java index acaa55a8b82..a818b098f37 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/ShortSegmentedSortedMultiset.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/ShortSegmentedSortedMultiset.java @@ -2317,6 +2317,11 @@ public short[] toArray() { return keyArray(); } + @Override + public short[] copyToArray() { + return toArray(); + } + @Override public long size() { return size; diff --git a/engine/vector/src/main/java/io/deephaven/vector/ByteVector.java b/engine/vector/src/main/java/io/deephaven/vector/ByteVector.java index b2c3e6ac5d7..707a961dedb 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/ByteVector.java +++ b/engine/vector/src/main/java/io/deephaven/vector/ByteVector.java @@ -48,6 +48,9 @@ static PrimitiveVectorType type() { @Override byte[] toArray(); + @Override + byte[] copyToArray(); + @Override ByteVector getDirect(); @@ -202,6 +205,11 @@ public byte[] toArray() { return result; } + @Override + public byte[] copyToArray() { + return toArray(); + } + @Override public ByteVector getDirect() { return new ByteVectorDirect(toArray()); diff --git a/engine/vector/src/main/java/io/deephaven/vector/ByteVectorDirect.java b/engine/vector/src/main/java/io/deephaven/vector/ByteVectorDirect.java index a08d37814fc..8ae1293ec4e 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/ByteVectorDirect.java +++ b/engine/vector/src/main/java/io/deephaven/vector/ByteVectorDirect.java @@ -57,6 +57,11 @@ public byte[] toArray() { return data; } + @Override + public byte[] copyToArray() { + return Arrays.copyOf(data, data.length); + } + @Override public CloseablePrimitiveIteratorOfByte iterator(final long fromIndexInclusive, final long toIndexExclusive) { if (fromIndexInclusive == 0 && toIndexExclusive == data.length) { diff --git a/engine/vector/src/main/java/io/deephaven/vector/CharVector.java b/engine/vector/src/main/java/io/deephaven/vector/CharVector.java index 07df0e4be55..281dc8317a9 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/CharVector.java +++ b/engine/vector/src/main/java/io/deephaven/vector/CharVector.java @@ -43,6 +43,9 @@ static PrimitiveVectorType type() { @Override char[] toArray(); + @Override + char[] copyToArray(); + @Override CharVector getDirect(); @@ -197,6 +200,11 @@ public char[] toArray() { return result; } + @Override + public char[] copyToArray() { + return toArray(); + } + @Override public CharVector getDirect() { return new CharVectorDirect(toArray()); diff --git a/engine/vector/src/main/java/io/deephaven/vector/CharVectorDirect.java b/engine/vector/src/main/java/io/deephaven/vector/CharVectorDirect.java index 7d6598c64e2..288586ebcd5 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/CharVectorDirect.java +++ b/engine/vector/src/main/java/io/deephaven/vector/CharVectorDirect.java @@ -52,6 +52,11 @@ public char[] toArray() { return data; } + @Override + public char[] copyToArray() { + return Arrays.copyOf(data, data.length); + } + @Override public CloseablePrimitiveIteratorOfChar iterator(final long fromIndexInclusive, final long toIndexExclusive) { if (fromIndexInclusive == 0 && toIndexExclusive == data.length) { diff --git a/engine/vector/src/main/java/io/deephaven/vector/DoubleVector.java b/engine/vector/src/main/java/io/deephaven/vector/DoubleVector.java index 0197445cf9e..778106d5bdd 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/DoubleVector.java +++ b/engine/vector/src/main/java/io/deephaven/vector/DoubleVector.java @@ -48,6 +48,9 @@ static PrimitiveVectorType type() { @Override double[] toArray(); + @Override + double[] copyToArray(); + @Override DoubleVector getDirect(); @@ -202,6 +205,11 @@ public double[] toArray() { return result; } + @Override + public double[] copyToArray() { + return toArray(); + } + @Override public DoubleVector getDirect() { return new DoubleVectorDirect(toArray()); diff --git a/engine/vector/src/main/java/io/deephaven/vector/DoubleVectorDirect.java b/engine/vector/src/main/java/io/deephaven/vector/DoubleVectorDirect.java index 5c7b1772c90..6fd1ac2fdbb 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/DoubleVectorDirect.java +++ b/engine/vector/src/main/java/io/deephaven/vector/DoubleVectorDirect.java @@ -57,6 +57,11 @@ public double[] toArray() { return data; } + @Override + public double[] copyToArray() { + return Arrays.copyOf(data, data.length); + } + @Override public CloseablePrimitiveIteratorOfDouble iterator(final long fromIndexInclusive, final long toIndexExclusive) { if (fromIndexInclusive == 0 && toIndexExclusive == data.length) { diff --git a/engine/vector/src/main/java/io/deephaven/vector/FloatVector.java b/engine/vector/src/main/java/io/deephaven/vector/FloatVector.java index 1dd2d8b68d2..b8ed0e4e4d7 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/FloatVector.java +++ b/engine/vector/src/main/java/io/deephaven/vector/FloatVector.java @@ -48,6 +48,9 @@ static PrimitiveVectorType type() { @Override float[] toArray(); + @Override + float[] copyToArray(); + @Override FloatVector getDirect(); @@ -202,6 +205,11 @@ public float[] toArray() { return result; } + @Override + public float[] copyToArray() { + return toArray(); + } + @Override public FloatVector getDirect() { return new FloatVectorDirect(toArray()); diff --git a/engine/vector/src/main/java/io/deephaven/vector/FloatVectorDirect.java b/engine/vector/src/main/java/io/deephaven/vector/FloatVectorDirect.java index aa9d4157c58..d72f6c13d07 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/FloatVectorDirect.java +++ b/engine/vector/src/main/java/io/deephaven/vector/FloatVectorDirect.java @@ -57,6 +57,11 @@ public float[] toArray() { return data; } + @Override + public float[] copyToArray() { + return Arrays.copyOf(data, data.length); + } + @Override public CloseablePrimitiveIteratorOfFloat iterator(final long fromIndexInclusive, final long toIndexExclusive) { if (fromIndexInclusive == 0 && toIndexExclusive == data.length) { diff --git a/engine/vector/src/main/java/io/deephaven/vector/IntVector.java b/engine/vector/src/main/java/io/deephaven/vector/IntVector.java index ddebb085512..3cc00051f46 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/IntVector.java +++ b/engine/vector/src/main/java/io/deephaven/vector/IntVector.java @@ -48,6 +48,9 @@ static PrimitiveVectorType type() { @Override int[] toArray(); + @Override + int[] copyToArray(); + @Override IntVector getDirect(); @@ -202,6 +205,11 @@ public int[] toArray() { return result; } + @Override + public int[] copyToArray() { + return toArray(); + } + @Override public IntVector getDirect() { return new IntVectorDirect(toArray()); diff --git a/engine/vector/src/main/java/io/deephaven/vector/IntVectorDirect.java b/engine/vector/src/main/java/io/deephaven/vector/IntVectorDirect.java index b72c61708db..5cdce435af9 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/IntVectorDirect.java +++ b/engine/vector/src/main/java/io/deephaven/vector/IntVectorDirect.java @@ -57,6 +57,11 @@ public int[] toArray() { return data; } + @Override + public int[] copyToArray() { + return Arrays.copyOf(data, data.length); + } + @Override public CloseablePrimitiveIteratorOfInt iterator(final long fromIndexInclusive, final long toIndexExclusive) { if (fromIndexInclusive == 0 && toIndexExclusive == data.length) { diff --git a/engine/vector/src/main/java/io/deephaven/vector/LongVector.java b/engine/vector/src/main/java/io/deephaven/vector/LongVector.java index 7b1c0baf5a8..9ff8617e29e 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/LongVector.java +++ b/engine/vector/src/main/java/io/deephaven/vector/LongVector.java @@ -48,6 +48,9 @@ static PrimitiveVectorType type() { @Override long[] toArray(); + @Override + long[] copyToArray(); + @Override LongVector getDirect(); @@ -202,6 +205,11 @@ public long[] toArray() { return result; } + @Override + public long[] copyToArray() { + return toArray(); + } + @Override public LongVector getDirect() { return new LongVectorDirect(toArray()); diff --git a/engine/vector/src/main/java/io/deephaven/vector/LongVectorDirect.java b/engine/vector/src/main/java/io/deephaven/vector/LongVectorDirect.java index f8abe21e749..52f1bcc60b5 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/LongVectorDirect.java +++ b/engine/vector/src/main/java/io/deephaven/vector/LongVectorDirect.java @@ -57,6 +57,11 @@ public long[] toArray() { return data; } + @Override + public long[] copyToArray() { + return Arrays.copyOf(data, data.length); + } + @Override public CloseablePrimitiveIteratorOfLong iterator(final long fromIndexInclusive, final long toIndexExclusive) { if (fromIndexInclusive == 0 && toIndexExclusive == data.length) { diff --git a/engine/vector/src/main/java/io/deephaven/vector/ObjectVector.java b/engine/vector/src/main/java/io/deephaven/vector/ObjectVector.java index 0a2a1168547..8a294cd31ac 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/ObjectVector.java +++ b/engine/vector/src/main/java/io/deephaven/vector/ObjectVector.java @@ -47,6 +47,9 @@ static GenericVectorType, T> type(GenericType genericType @Override COMPONENT_TYPE[] toArray(); + @Override + COMPONENT_TYPE[] copyToArray(); + @Override ObjectVector getDirect(); @@ -194,6 +197,11 @@ public COMPONENT_TYPE[] toArray() { return result; } + @Override + public COMPONENT_TYPE[] copyToArray() { + return toArray(); + } + @Override public ObjectVector getDirect() { if (Vector.class.isAssignableFrom(getComponentType())) { diff --git a/engine/vector/src/main/java/io/deephaven/vector/ObjectVectorDirect.java b/engine/vector/src/main/java/io/deephaven/vector/ObjectVectorDirect.java index d4314f5c259..8c5cd8b8426 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/ObjectVectorDirect.java +++ b/engine/vector/src/main/java/io/deephaven/vector/ObjectVectorDirect.java @@ -50,6 +50,11 @@ public COMPONENT_TYPE[] toArray() { return data; } + @Override + public COMPONENT_TYPE[] copyToArray() { + return Arrays.copyOf(data, data.length); + } + @Override public CloseableIterator iterator(final long fromIndexInclusive, final long toIndexExclusive) { if (fromIndexInclusive == 0 && toIndexExclusive == data.length) { diff --git a/engine/vector/src/main/java/io/deephaven/vector/ShortVector.java b/engine/vector/src/main/java/io/deephaven/vector/ShortVector.java index e51340dcbc2..f06d1470e07 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/ShortVector.java +++ b/engine/vector/src/main/java/io/deephaven/vector/ShortVector.java @@ -48,6 +48,9 @@ static PrimitiveVectorType type() { @Override short[] toArray(); + @Override + short[] copyToArray(); + @Override ShortVector getDirect(); @@ -202,6 +205,11 @@ public short[] toArray() { return result; } + @Override + public short[] copyToArray() { + return toArray(); + } + @Override public ShortVector getDirect() { return new ShortVectorDirect(toArray()); diff --git a/engine/vector/src/main/java/io/deephaven/vector/ShortVectorDirect.java b/engine/vector/src/main/java/io/deephaven/vector/ShortVectorDirect.java index 8e6e56ed7b2..27ce85809ef 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/ShortVectorDirect.java +++ b/engine/vector/src/main/java/io/deephaven/vector/ShortVectorDirect.java @@ -57,6 +57,11 @@ public short[] toArray() { return data; } + @Override + public short[] copyToArray() { + return Arrays.copyOf(data, data.length); + } + @Override public CloseablePrimitiveIteratorOfShort iterator(final long fromIndexInclusive, final long toIndexExclusive) { if (fromIndexInclusive == 0 && toIndexExclusive == data.length) { diff --git a/engine/vector/src/main/java/io/deephaven/vector/Vector.java b/engine/vector/src/main/java/io/deephaven/vector/Vector.java index ff1b169713a..100ec64abad 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/Vector.java +++ b/engine/vector/src/main/java/io/deephaven/vector/Vector.java @@ -42,10 +42,21 @@ public interface Vector> extends Seriali VECTOR_TYPE subVectorByPositions(long[] positions); /** - * @return An array representation of the elements of this Vector + * Get an array representation of the elements of this Vector. Callers must not mutate the result, as + * implementations may choose to return their backing array in some cases. + * + * @return An array representation of the elements of this Vector that must not be mutated */ Object toArray(); + /** + * Get an array representation of the elements of this Vector. Callers may freely mutate the result, as it + * is guaranteed to be freshly-allocated and belongs to the caller upon return. + * + * @return An array representation of the elements of this Vector that may be freely mutated + */ + Object copyToArray(); + /** * @return A version of this Vector that is flattened out to only reference memory */ From 02c794fefcb6107ffe3e707766c33e6aabac400f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 6 Apr 2023 13:15:24 +0000 Subject: [PATCH 27/29] Update web version 0.35.0 (#3660) Release notes https://github.com/deephaven/web-client-ui/releases/tag/v0.35.0 Co-authored-by: deephaven-internal --- web/client-ui/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/client-ui/Dockerfile b/web/client-ui/Dockerfile index d63d57b70fd..422f097d6fd 100644 --- a/web/client-ui/Dockerfile +++ b/web/client-ui/Dockerfile @@ -2,9 +2,9 @@ FROM deephaven/node:local-build WORKDIR /usr/src/app # Most of the time, these versions are the same, except in cases where a patch only affects one of the packages -ARG WEB_VERSION=0.34.0 -ARG GRID_VERSION=0.34.0 -ARG CHART_VERSION=0.34.0 +ARG WEB_VERSION=0.35.0 +ARG GRID_VERSION=0.35.0 +ARG CHART_VERSION=0.35.0 # Pull in the published code-studio package from npmjs and extract is RUN set -eux; \ From 528471e5a5eb1813a4da37c0ce150be2719332b0 Mon Sep 17 00:00:00 2001 From: Colin Alworth Date: Thu, 6 Apr 2023 09:13:10 -0500 Subject: [PATCH 28/29] Generate TypeScript definitions for JS API (#3567) This includes more specific JsInterop annotations for nullability, and introduces TypeScript-specific annotations to more clearly specific TS semantics in cases where JS doesn't need to be so precise. Fixes #2735 --- web/client-api/client-api.gradle | 3 + .../web/client/api/BigDecimalWrapper.java | 12 ++- .../web/client/api/BigIntegerWrapper.java | 13 ++- .../web/client/api/ClientLegacyNamespace.java | 14 ++++ .../io/deephaven/web/client/api/Column.java | 5 ++ .../deephaven/web/client/api/CoreClient.java | 40 +++++---- .../web/client/api/CustomColumn.java | 15 ++-- .../deephaven/web/client/api/DateWrapper.java | 8 +- .../io/deephaven/web/client/api/EventFn.java | 5 +- .../io/deephaven/web/client/api/Format.java | 12 ++- .../web/client/api/HasEventHandling.java | 70 ++++++++-------- .../web/client/api/JsColumnStatistics.java | 4 + .../web/client/api/JsLayoutHints.java | 42 +++++++--- .../deephaven/web/client/api/JsRangeSet.java | 11 ++- .../web/client/api/JsRefreshToken.java | 4 + .../io/deephaven/web/client/api/JsTable.java | 78 ++++++++++-------- .../web/client/api/JsTotalsTable.java | 22 ++++- .../web/client/api/JsTotalsTableConfig.java | 12 +-- .../web/client/api/JsWorkerHeapInfo.java | 7 ++ .../web/client/api/LocalDateWrapper.java | 4 + .../web/client/api/LocalTimeWrapper.java | 4 + .../io/deephaven/web/client/api}/LogItem.java | 6 +- .../web/client/api/LoginCredentials.java | 47 ++++++++--- .../deephaven/web/client/api/LongWrapper.java | 11 +-- .../web/client/api/QueryConnectable.java | 43 +++------- .../web/client/api/QueryInfoConstants.java | 15 ++++ .../io/deephaven/web/client/api/Sort.java | 2 + .../deephaven/web/client/api/TableData.java | 9 +++ .../api/TableMapEventLegacyNamespace.java | 9 ++- .../deephaven/web/client/api/ValueType.java | 16 ++++ .../web/client/api/WorkerConnection.java | 18 +++-- .../web/client/api/batch/RequestBatcher.java | 11 +-- .../client/api/console/JsCommandResult.java | 4 + .../client/api/console/JsVariableChanges.java | 15 ++-- .../api/console/JsVariableDefinition.java | 6 ++ .../api/console/JsVariableDescriptor.java | 19 +++++ .../client/api/console/JsVariableType.java | 18 +++++ .../web/client/api/filter/FilterValue.java | 6 +- .../web/client/api/i18n/JsDateTimeFormat.java | 10 ++- .../web/client/api/i18n/JsNumberFormat.java | 6 +- .../web/client/api/storage/JsItemDetails.java | 4 +- .../web/client/api/storage/JsItemType.java | 12 +++ .../subscription/SubscriptionTableData.java | 13 ++- .../api/subscription/TableSubscription.java | 10 ++- .../TableViewportSubscription.java | 12 ++- .../client/api/subscription/ViewportData.java | 4 + .../client/api/subscription/ViewportRow.java | 4 + .../web/client/api/tree/JsRollupConfig.java | 9 ++- .../web/client/api/tree/JsTreeTable.java | 81 ++++++++++++------- .../tree/enums/JsAggregationOperation.java | 4 +- .../web/client/api/widget/JsWidget.java | 7 +- .../api/widget/JsWidgetExportedObject.java | 7 +- .../widget/calendar/JsBusinessCalendar.java | 4 + .../api/widget/calendar/JsBusinessPeriod.java | 4 + .../client/api/widget/calendar/JsHoliday.java | 5 ++ .../widget/calendar/enums/JsDayOfWeek.java | 2 + .../web/client/api/widget/plot/ChartData.java | 7 +- .../api/widget/plot/DataUpdateEvent.java | 4 + .../api/widget/plot/DownsampleOptions.java | 2 +- .../web/client/api/widget/plot/JsAxis.java | 29 ++++--- .../api/widget/plot/JsAxisDescriptor.java | 3 + .../web/client/api/widget/plot/JsChart.java | 6 +- .../api/widget/plot/JsChartDescriptor.java | 14 ++++ .../web/client/api/widget/plot/JsFigure.java | 12 +-- .../api/widget/plot/JsFigureFactory.java | 3 +- .../client/api/widget/plot/JsMultiSeries.java | 8 +- .../web/client/api/widget/plot/JsSeries.java | 15 +++- .../api/widget/plot/JsSeriesDescriptor.java | 2 +- .../api/widget/plot/JsSourceDescriptor.java | 1 + .../web/client/api/widget/plot/OneClick.java | 11 ++- .../api/widget/plot/SeriesDataSource.java | 10 ++- .../widget/plot/enums/JsAxisFormatType.java | 5 +- .../api/widget/plot/enums/JsAxisPosition.java | 5 +- .../api/widget/plot/enums/JsAxisType.java | 5 +- .../api/widget/plot/enums/JsChartType.java | 5 +- .../widget/plot/enums/JsSeriesPlotStyle.java | 5 +- .../api/widget/plot/enums/JsSourceType.java | 6 +- .../deephaven/web/client/fu/JsIterator.java | 31 ++++++- .../web/client/ide/IdeConnection.java | 6 +- .../deephaven/web/client/ide/IdeSession.java | 19 +++-- .../io/deephaven/web/client/package-info.java | 4 + .../web/client/state/HasTableBinding.java | 2 +- .../web/client/state/TableReviver.java | 2 +- 83 files changed, 746 insertions(+), 314 deletions(-) create mode 100644 web/client-api/src/main/java/io/deephaven/web/client/api/ClientLegacyNamespace.java rename web/{shared-beans/src/main/java/io/deephaven/web/shared/data => client-api/src/main/java/io/deephaven/web/client/api}/LogItem.java (85%) create mode 100644 web/client-api/src/main/java/io/deephaven/web/client/api/QueryInfoConstants.java create mode 100644 web/client-api/src/main/java/io/deephaven/web/client/api/ValueType.java create mode 100644 web/client-api/src/main/java/io/deephaven/web/client/api/console/JsVariableDescriptor.java create mode 100644 web/client-api/src/main/java/io/deephaven/web/client/api/console/JsVariableType.java create mode 100644 web/client-api/src/main/java/io/deephaven/web/client/api/storage/JsItemType.java create mode 100644 web/client-api/src/main/java/io/deephaven/web/client/package-info.java diff --git a/web/client-api/client-api.gradle b/web/client-api/client-api.gradle index 57fa159c5bc..cecb016b07a 100644 --- a/web/client-api/client-api.gradle +++ b/web/client-api/client-api.gradle @@ -12,6 +12,9 @@ dependencies { implementation project(':web-shared-beans') implementation project(':web-client-backplane') + implementation 'com.vertispan.tsdefs:jsinterop-ts-defs-annotations:1.0.0-RC1' + annotationProcessor 'com.vertispan.tsdefs:jsinterop-ts-defs-processor:1.0.0-RC1' + implementation 'com.vertispan.nio:gwt-nio:1.0-alpha-1' js project(path: ':proto:raw-js-openapi', configuration: 'js') diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/BigDecimalWrapper.java b/web/client-api/src/main/java/io/deephaven/web/client/api/BigDecimalWrapper.java index 1955df9b5ba..fdbb5091710 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/BigDecimalWrapper.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/BigDecimalWrapper.java @@ -3,7 +3,9 @@ */ package io.deephaven.web.client.api; +import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsMethod; +import jsinterop.annotations.JsType; import javax.annotation.Nonnull; import java.math.BigDecimal; @@ -11,28 +13,32 @@ /** * Wrap BigDecimal values for use in JS. Provides text formatting for display and access to the underlying value. */ +@JsType(namespace = "dh") public class BigDecimalWrapper { + public static BigDecimalWrapper ofString(String value) { + return new BigDecimalWrapper(new BigDecimal(value)); + } + private final BigDecimal value; + @JsIgnore public BigDecimalWrapper(@Nonnull BigDecimal value) { this.value = value; } + @JsIgnore public BigDecimal getWrapped() { return value; } - @JsMethod public double asNumber() { return getWrapped().doubleValue(); } - @JsMethod public String valueOf() { return toString(); } - @JsMethod @Override public String toString() { return value.toString(); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/BigIntegerWrapper.java b/web/client-api/src/main/java/io/deephaven/web/client/api/BigIntegerWrapper.java index c68209331cb..289c9ba1b40 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/BigIntegerWrapper.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/BigIntegerWrapper.java @@ -3,7 +3,8 @@ */ package io.deephaven.web.client.api; -import jsinterop.annotations.JsMethod; +import jsinterop.annotations.JsIgnore; +import jsinterop.annotations.JsType; import javax.annotation.Nonnull; import java.math.BigInteger; @@ -11,28 +12,32 @@ /** * Wrap BigInteger values for use in JS. Provides text formatting for display and access to the underlying value. */ +@JsType(namespace = "dh") public class BigIntegerWrapper { + public static BigIntegerWrapper ofString(String str) { + return new BigIntegerWrapper(new BigInteger(str)); + } + private final BigInteger value; + @JsIgnore public BigIntegerWrapper(@Nonnull BigInteger value) { this.value = value; } + @JsIgnore public BigInteger getWrapped() { return value; } - @JsMethod public double asNumber() { return getWrapped().doubleValue(); } - @JsMethod public String valueOf() { return toString(); } - @JsMethod @Override public String toString() { return value.toString(); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/ClientLegacyNamespace.java b/web/client-api/src/main/java/io/deephaven/web/client/api/ClientLegacyNamespace.java new file mode 100644 index 00000000000..888d18cfb17 --- /dev/null +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/ClientLegacyNamespace.java @@ -0,0 +1,14 @@ +package io.deephaven.web.client.api; + +import jsinterop.annotations.JsType; + +/** + * Deprecated for use in Deephaven Core. + */ +@Deprecated +@JsType(namespace = "dh", name = "Client") +public class ClientLegacyNamespace { + public static final String EVENT_REQUEST_FAILED = "requestfailed"; + public static final String EVENT_REQUEST_STARTED = "requeststarted"; + public static final String EVENT_REQUEST_SUCCEEDED = "requestsucceeded"; +} diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/Column.java b/web/client-api/src/main/java/io/deephaven/web/client/api/Column.java index 0dceb52b17c..93f1ccd7926 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/Column.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/Column.java @@ -3,14 +3,17 @@ */ package io.deephaven.web.client.api; +import com.vertispan.tsdefs.annotations.TsName; import io.deephaven.web.client.api.filter.FilterValue; import jsinterop.annotations.JsMethod; +import jsinterop.annotations.JsNullable; import jsinterop.annotations.JsProperty; import jsinterop.base.Any; import java.util.stream.IntStream; import java.util.stream.IntStream.Builder; +@TsName(namespace = "dh") public class Column { private final int index; @@ -93,6 +96,7 @@ public String getName() { } @JsProperty + @JsNullable public String getDescription() { return description; } @@ -110,6 +114,7 @@ public IntStream getRequiredColumns() { } @JsProperty + @JsNullable public String getConstituentType() { return constituentType; } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/CoreClient.java b/web/client-api/src/main/java/io/deephaven/web/client/api/CoreClient.java index 309e06e6e2f..83a46771e3c 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/CoreClient.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/CoreClient.java @@ -1,5 +1,6 @@ package io.deephaven.web.client.api; +import com.vertispan.tsdefs.annotations.TsTypeRef; import elemental2.promise.Promise; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.config_pb.AuthenticationConstantsRequest; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.config_pb.AuthenticationConstantsResponse; @@ -16,6 +17,8 @@ import io.deephaven.web.shared.fu.JsFunction; import jsinterop.annotations.JsOptional; import jsinterop.annotations.JsType; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; import java.util.Objects; import java.util.function.Consumer; @@ -28,7 +31,10 @@ public class CoreClient extends HasEventHandling { EVENT_DISCONNECT = "disconnect", EVENT_RECONNECT = "reconnect", EVENT_RECONNECT_AUTH_FAILED = "reconnectauthfailed", - EVENT_REFRESH_TOKEN_UPDATED = "refreshtokenupdated"; + EVENT_REFRESH_TOKEN_UPDATED = "refreshtokenupdated", + EVENT_REQUEST_FAILED = "requestfailed", + EVENT_REQUEST_STARTED = "requeststarted", + EVENT_REQUEST_SUCCEEDED = "requestsucceeded"; public static final String LOGIN_TYPE_PASSWORD = "password", LOGIN_TYPE_ANONYMOUS = "anonymous"; @@ -78,22 +84,28 @@ public Promise getAuthConfigValues() { AuthenticationConstantsResponse::getConfigValuesMap); } - public Promise login(LoginCredentials credentials) { - Objects.requireNonNull(credentials.getType(), "type must be specified"); + public Promise login(@TsTypeRef(LoginCredentials.class) JsPropertyMap credentials) { + final LoginCredentials creds; + if (credentials instanceof LoginCredentials) { + creds = (LoginCredentials) credentials; + } else { + creds = new LoginCredentials(credentials); + } + Objects.requireNonNull(creds.getType(), "type must be specified"); ConnectToken token = ideConnection.getToken(); - if (LOGIN_TYPE_PASSWORD.equals(credentials.getType())) { - Objects.requireNonNull(credentials.getUsername(), "username must be specified for password login"); - Objects.requireNonNull(credentials.getToken(), "token must be specified for password login"); + if (LOGIN_TYPE_PASSWORD.equals(creds.getType())) { + Objects.requireNonNull(creds.getUsername(), "username must be specified for password login"); + Objects.requireNonNull(creds.getToken(), "token must be specified for password login"); token.setType("Basic"); - token.setValue(ConnectToken.bytesToBase64(credentials.getUsername() + ":" + credentials.getToken())); - } else if (LOGIN_TYPE_ANONYMOUS.equals(credentials.getType())) { + token.setValue(ConnectToken.bytesToBase64(creds.getUsername() + ":" + creds.getToken())); + } else if (LOGIN_TYPE_ANONYMOUS.equals(creds.getType())) { token.setType("Anonymous"); token.setValue(""); } else { - token.setType(credentials.getType()); - token.setValue(credentials.getToken()); - if (credentials.getUsername() != null) { - JsLog.warn("username ignored for login type " + credentials.getType()); + token.setType(creds.getType()); + token.setValue(creds.getToken()); + if (creds.getUsername() != null) { + JsLog.warn("username ignored for login type " + creds.getType()); } } Promise login = @@ -114,8 +126,8 @@ public Promise login(LoginCredentials credentials) { return login; } - public Promise relogin(Object token) { - return login(LoginCredentials.reconnect(JsRefreshToken.fromObject(token).getBytes())); + public Promise relogin(@TsTypeRef(JsRefreshToken.class) Object token) { + return login(Js.cast(LoginCredentials.reconnect(JsRefreshToken.fromObject(token).getBytes()))); } public Promise onConnected(@JsOptional Double timeoutInMillis) { diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/CustomColumn.java b/web/client-api/src/main/java/io/deephaven/web/client/api/CustomColumn.java index ba509c74d3e..a4fb54d4dec 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/CustomColumn.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/CustomColumn.java @@ -4,22 +4,24 @@ package io.deephaven.web.client.api; import io.deephaven.web.shared.data.CustomColumnDescriptor; +import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsMethod; import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; import jsinterop.base.JsPropertyMap; +@JsType(namespace = "dh") public class CustomColumn { - @JsProperty(namespace = "dh.CustomColumn") public static final String TYPE_FORMAT_COLOR = "FORMAT_COLOR", TYPE_FORMAT_NUMBER = "FORMAT_NUMBER", TYPE_FORMAT_DATE = "FORMAT_DATE", TYPE_NEW = "NEW"; // Copied from ColumnFormattingValues - public static final String ROW_FORMAT_NAME = "__ROW"; - public static final String TABLE_STYLE_FORMAT_SUFFIX = "__TABLE_STYLE_FORMAT"; - public static final String TABLE_NUMBER_FORMAT_SUFFIX = "__TABLE_NUMBER_FORMAT"; - public static final String TABLE_DATE_FORMAT_SUFFIX = "__TABLE_DATE_FORMAT"; + protected static final String ROW_FORMAT_NAME = "__ROW"; + private static final String TABLE_STYLE_FORMAT_SUFFIX = "__TABLE_STYLE_FORMAT"; + private static final String TABLE_NUMBER_FORMAT_SUFFIX = "__TABLE_NUMBER_FORMAT"; + private static final String TABLE_DATE_FORMAT_SUFFIX = "__TABLE_DATE_FORMAT"; /** * Get the suffix to append to the name for the provided type @@ -48,12 +50,14 @@ private static String getNameSuffix(String type) { private final String type; private final String expression; + @JsIgnore public CustomColumn(String name, String type, String expression) { this.name = name; this.type = type; this.expression = expression; } + @JsIgnore public CustomColumn(CustomColumnDescriptor descriptor) { String descriptorExpression = descriptor.getExpression(); String descriptorName = descriptor.getName(); @@ -74,6 +78,7 @@ public CustomColumn(CustomColumnDescriptor descriptor) { expression = descriptorExpression.substring(descriptorName.length() + 1); } + @JsIgnore public CustomColumn(JsPropertyMap source) { if (!source.has("name") || !source.has("type") || !source.has("expression")) { throw new IllegalArgumentException("Unrecognized CustomColumn format: " + source); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/DateWrapper.java b/web/client-api/src/main/java/io/deephaven/web/client/api/DateWrapper.java index 0fcfb845c20..2e4d6ab1864 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/DateWrapper.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/DateWrapper.java @@ -5,24 +5,26 @@ import elemental2.core.JsDate; import io.deephaven.web.client.api.i18n.JsDateTimeFormat; -import jsinterop.annotations.JsMethod; +import jsinterop.annotations.JsIgnore; +import jsinterop.annotations.JsType; +@JsType(namespace = "dh") public class DateWrapper extends LongWrapper { + @JsIgnore public DateWrapper(long valueInNanos) { super(valueInNanos); } + @JsIgnore public static DateWrapper of(long dateInNanos) { return new DateWrapper(dateInNanos); } - @JsMethod(namespace = "dh.DateWrapper") public static DateWrapper ofJsDate(JsDate date) { long valueInNanos = JsDateTimeFormat.NANOS_PER_MILLI * (long) date.getTime(); return new DateWrapper(valueInNanos); } - @JsMethod public JsDate asDate() { JsDate date = new JsDate(); date.setTime(getWrapped() / JsDateTimeFormat.NANOS_PER_MILLI); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/EventFn.java b/web/client-api/src/main/java/io/deephaven/web/client/api/EventFn.java index 277b3ba218a..8cce57c25fd 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/EventFn.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/EventFn.java @@ -3,12 +3,13 @@ */ package io.deephaven.web.client.api; +import elemental2.dom.CustomEvent; import elemental2.dom.Event; import jsinterop.annotations.JsFunction; /** */ @JsFunction -public interface EventFn { - void onEvent(Event e); +public interface EventFn { + void onEvent(CustomEvent e); } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/Format.java b/web/client-api/src/main/java/io/deephaven/web/client/api/Format.java index ffeda1ac597..bdc0e0c2a94 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/Format.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/Format.java @@ -3,10 +3,15 @@ */ package io.deephaven.web.client.api; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.JsNumber; import elemental2.core.JsString; +import jsinterop.annotations.JsNullable; import jsinterop.annotations.JsProperty; +@TsInterface +@TsName(namespace = "dh") public class Format { private final long cellColors; private final long rowColors; @@ -33,7 +38,7 @@ private static boolean isSet(int color) { return (color & 0x01000000) != 0; } - + @JsNullable @JsProperty public String getColor() { int color = getFg(cellColors); @@ -46,6 +51,7 @@ public String getColor() { return color(color); } + @JsNullable @JsProperty public String getBackgroundColor() { int color = getBg(cellColors); @@ -64,14 +70,16 @@ private String color(int color) { /** - * @deprecated Prefer {@link #getFormatString()}. + * @deprecated Prefer formatString. */ @Deprecated + @JsNullable @JsProperty public String getNumberFormat() { return numberFormat; } + @JsNullable @JsProperty public String getFormatString() { return formatString; diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/HasEventHandling.java b/web/client-api/src/main/java/io/deephaven/web/client/api/HasEventHandling.java index 47e179249ca..90641bfb9fa 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/HasEventHandling.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/HasEventHandling.java @@ -3,6 +3,8 @@ */ package io.deephaven.web.client.api; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.JsArray; import elemental2.core.JsObject; import elemental2.dom.CustomEvent; @@ -23,18 +25,12 @@ /** */ +@TsInterface +@TsName(namespace = "dh") public class HasEventHandling { - - @JsProperty(namespace = "dh.Client") - public static final String EVENT_REQUEST_FAILED = "requestfailed"; - @JsProperty(namespace = "dh.Client") - public static final String EVENT_REQUEST_STARTED = "requeststarted"; - @JsProperty(namespace = "dh.Client") - public static final String EVENT_REQUEST_SUCCEEDED = "requestsucceeded"; - public static final String INTERNAL_EVENT_RELEASED = "released-internal"; - private final JsPropertyMap> map = Js.uncheckedCast(JsObject.create(null)); + private final JsPropertyMap>> map = Js.uncheckedCast(JsObject.create(null)); private boolean suppress = false; protected String logPrefix() { @@ -42,8 +38,8 @@ protected String logPrefix() { } @JsMethod - public RemoverFn addEventListener(String name, EventFn callback) { - JsArray listeners = map.get(name); + public RemoverFn addEventListener(String name, EventFn callback) { + JsArray> listeners = map.get(name); if (listeners == null) { listeners = new JsArray<>(callback); map.set(name, listeners); @@ -58,17 +54,17 @@ public RemoverFn addEventListener(String name, EventFn callback) { return () -> removeEventListener(name, callback); } - public void addEventListenerOneShot(String name, EventFn callback) { + public void addEventListenerOneShot(String name, EventFn callback) { /* * Hack to workaround how GWT creates js functions and manages binding "this". The "self" instance is actually * _not_ the same object as "this", as it represents the JS Function instead of the Java instance - effectively, * "self" is something like this::onEvent.bind(this). */ - final class WrappedCallback implements EventFn { - private EventFn self; + final class WrappedCallback implements EventFn { + private EventFn self; @Override - public void onEvent(Event e) { + public void onEvent(CustomEvent e) { removeEventListener(name, self); callback.onEvent(e); } @@ -78,34 +74,34 @@ public void onEvent(Event e) { addEventListener(name, fn); } - public static class EventPair { + public static class EventPair { private String name; - private EventFn callback; + private EventFn callback; - public static EventPair of(String name, EventFn callback) { - final EventPair pair = new EventPair(); + public static EventPair of(String name, EventFn callback) { + final EventPair pair = new EventPair<>(); pair.name = name; pair.callback = callback; return pair; } } - public void addEventListenerOneShot(EventPair... pairs) { + public void addEventListenerOneShot(EventPair... pairs) { boolean[] seen = {false}; - for (EventPair pair : pairs) { + for (EventPair pair : pairs) { addEventListenerOneShot(pair.name, e -> { if (seen[0]) { return; } seen[0] = true; - pair.callback.onEvent(e); + pair.callback.onEvent((CustomEvent) e); }); } } @JsMethod - public Promise nextEvent(String eventName, @JsOptional Double timeoutInMillis) { - LazyPromise promise = new LazyPromise<>(); + public Promise> nextEvent(String eventName, @JsOptional Double timeoutInMillis) { + LazyPromise> promise = new LazyPromise<>(); addEventListenerOneShot(eventName, promise::succeed); @@ -117,17 +113,17 @@ public Promise nextEvent(String eventName, @JsOptional Double timeoutInMi @JsMethod public boolean hasListeners(String name) { - final JsArray listeners = map.get(name); + final JsArray> listeners = map.get(name); return listeners != null && listeners.length > 0; } - public boolean hasListener(String name, EventFn fn) { + public boolean hasListener(String name, EventFn fn) { return hasListeners(name) && map.get(name).indexOf(fn) != -1; } @JsMethod - public boolean removeEventListener(String name, EventFn callback) { - final JsArray listeners = map.get(name); + public boolean removeEventListener(String name, EventFn callback) { + final JsArray> listeners = map.get(name); if (listeners == null) { JsLog.warn(logPrefix() + "Asked to remove an event listener which wasn't present, ignoring."); return false; @@ -151,23 +147,23 @@ public void fireEvent(String type) { fireEvent(type, CustomEventInit.create()); } - public void fireEventWithDetail(String type, @DoNotAutobox Object detail) { - final CustomEventInit evt = CustomEventInit.create(); + public void fireEventWithDetail(String type, @DoNotAutobox T detail) { + final CustomEventInit evt = CustomEventInit.create(); evt.setDetail(detail); fireEvent(type, evt); } - public void fireEvent(String type, CustomEventInit init) { - fireEvent(type, new CustomEvent(type, init)); + public void fireEvent(String type, CustomEventInit init) { + fireEvent(type, new CustomEvent<>(type, init)); } - public void fireEvent(String type, Event e) { + public void fireEvent(String type, CustomEvent e) { if (suppress) { JsLog.debug("Event suppressed", type, e); return; } if (map.has(e.type)) { - final JsArray callbacks = Js.cast(JsArray.from((JsArrayLike) map.get(e.type))); + final JsArray> callbacks = Js.cast(JsArray.from((JsArrayLike>) map.get(e.type))); callbacks.forEach((item, ind, all) -> { try { item.onEvent(e); @@ -182,10 +178,10 @@ public void fireEvent(String type, Event e) { public boolean failureHandled(String failure) { if (failure != null) { - if (hasListeners(EVENT_REQUEST_FAILED)) { - final CustomEventInit event = CustomEventInit.create(); + if (hasListeners(CoreClient.EVENT_REQUEST_FAILED)) { + final CustomEventInit event = CustomEventInit.create(); event.setDetail(failure); - fireEvent(EVENT_REQUEST_FAILED, event); + fireEvent(CoreClient.EVENT_REQUEST_FAILED, event); } else { DomGlobal.console.error(logPrefix() + failure); } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/JsColumnStatistics.java b/web/client-api/src/main/java/io/deephaven/web/client/api/JsColumnStatistics.java index 7e31b3650b6..8d563f17aa0 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/JsColumnStatistics.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/JsColumnStatistics.java @@ -4,6 +4,8 @@ package io.deephaven.web.client.api; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.JsMap; import io.deephaven.web.shared.data.ColumnStatistics; import jsinterop.annotations.JsIgnore; @@ -17,6 +19,8 @@ /** * Javascript wrapper for {@link ColumnStatistics} */ +@TsInterface +@TsName(name = "ColumnStatistics", namespace = "dh") public class JsColumnStatistics { public enum StatType { diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/JsLayoutHints.java b/web/client-api/src/main/java/io/deephaven/web/client/api/JsLayoutHints.java index 983aabdba35..3fc989144bd 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/JsLayoutHints.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/JsLayoutHints.java @@ -3,25 +3,37 @@ */ package io.deephaven.web.client.api; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.JsObject; +import jsinterop.annotations.JsIgnore; +import jsinterop.annotations.JsNullable; import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; import java.util.Arrays; -import java.util.List; import java.util.Map; import java.util.stream.Collectors; +@TsInterface +@JsType(name = "LayoutHints", namespace = "dh") public class JsLayoutHints { - private class ColumnGroup { - @JsProperty - public String name; - @JsProperty - public String[] children; - @JsProperty - public String color; - + @TsInterface + @JsType(namespace = "dh") + public static class ColumnGroup { + @JsNullable + public final String name; + @JsNullable + public final String[] children; + @JsNullable + public final String color; + + @JsIgnore public ColumnGroup(String groupStr) { if (groupStr == null || groupStr.isEmpty()) { + name = null; + children = null; + color = null; return; } @@ -32,16 +44,22 @@ public ColumnGroup(String groupStr) { final String nameStr = options.get("name"); if (nameStr != null && !nameStr.isEmpty()) { name = nameStr; + } else { + name = null; } final String childrenStr = options.get("children"); if (childrenStr != null && !childrenStr.isEmpty()) { children = JsObject.freeze(childrenStr.split(",")); + } else { + children = null; } final String colorStr = options.get("color"); if (colorStr != null && !colorStr.isEmpty()) { color = colorStr; + } else { + color = null; } } } @@ -54,6 +72,7 @@ public ColumnGroup(String groupStr) { private ColumnGroup[] columnGroups; + @JsIgnore public JsLayoutHints parse(String hints) { if (hints == null || hints.isEmpty()) { return this; @@ -105,26 +124,31 @@ public boolean getAreSavedLayoutsAllowed() { return savedLayoutsAllowed; } + @JsNullable @JsProperty public String[] getFrontColumns() { return frontColumns; } + @JsNullable @JsProperty public String[] getBackColumns() { return backColumns; } + @JsNullable @JsProperty public String[] getHiddenColumns() { return hiddenColumns; } + @JsNullable @JsProperty public String[] getFrozenColumns() { return frozenColumns; } + @JsNullable @JsProperty public ColumnGroup[] getColumnGroups() { return columnGroups; diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/JsRangeSet.java b/web/client-api/src/main/java/io/deephaven/web/client/api/JsRangeSet.java index 39f04764252..3068773bd73 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/JsRangeSet.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/JsRangeSet.java @@ -6,8 +6,9 @@ import io.deephaven.web.client.fu.JsIterator; import io.deephaven.web.shared.data.Range; import io.deephaven.web.shared.data.RangeSet; -import jsinterop.annotations.JsMethod; +import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; import java.util.Arrays; import java.util.Spliterators; @@ -16,15 +17,14 @@ /** * Simple wrapper to emulate RangeSet/Index in JS, with the caveat that LongWrappers may make poor keys in plain JS. */ +@JsType(namespace = "dh", name = "RangeSet") public class JsRangeSet { private final RangeSet range; - @JsMethod(namespace = "dh.RangeSet", name = "ofRange") public static JsRangeSet ofRange(double first, double last) { return new JsRangeSet(RangeSet.ofRange((long) first, (long) last)); } - @JsMethod(namespace = "dh.RangeSet", name = "ofItems") public static JsRangeSet ofItems(double[] rows) { long[] longs = new long[rows.length]; for (int i = 0; i < rows.length; i++) { @@ -33,7 +33,6 @@ public static JsRangeSet ofItems(double[] rows) { return new JsRangeSet(RangeSet.ofItems(longs)); } - @JsMethod(namespace = "dh.RangeSet", name = "ofRanges") public static JsRangeSet ofRanges(JsRangeSet[] ranges) { RangeSet result = new RangeSet(); for (int i = 0; i < ranges.length; i++) { @@ -42,7 +41,6 @@ public static JsRangeSet ofRanges(JsRangeSet[] ranges) { return new JsRangeSet(result); } - @JsMethod(namespace = "dh.RangeSet", name = "ofSortedRanges") public static JsRangeSet ofSortedRanges(JsRangeSet[] ranges) { Range[] rangeArray = Arrays.stream(ranges).flatMap( r -> StreamSupport.stream(Spliterators.spliterator(r.range.rangeIterator(), Long.MAX_VALUE, 0), false)) @@ -51,11 +49,11 @@ public static JsRangeSet ofSortedRanges(JsRangeSet[] ranges) { return new JsRangeSet(RangeSet.fromSortedRanges(rangeArray)); } + @JsIgnore public JsRangeSet(RangeSet range) { this.range = range; } - @JsMethod public JsIterator iterator() { return new JsIterator<>( StreamSupport.longStream(Spliterators.spliterator(range.indexIterator(), Long.MAX_VALUE, 0), false) @@ -68,6 +66,7 @@ public double getSize() { return range.size(); } + @JsIgnore public RangeSet getRange() { return range; } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/JsRefreshToken.java b/web/client-api/src/main/java/io/deephaven/web/client/api/JsRefreshToken.java index 8f4efa7b4dd..d8f15af9f06 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/JsRefreshToken.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/JsRefreshToken.java @@ -1,9 +1,13 @@ package io.deephaven.web.client.api; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.JsDate; import jsinterop.annotations.JsProperty; import jsinterop.base.JsPropertyMap; +@TsInterface +@TsName(name = "RefreshToken", namespace = "dh") public class JsRefreshToken { public static JsRefreshToken fromObject(Object token) { diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/JsTable.java b/web/client-api/src/main/java/io/deephaven/web/client/api/JsTable.java index d6a1d8da9fb..f70e7687fec 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/JsTable.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/JsTable.java @@ -3,6 +3,8 @@ */ package io.deephaven.web.client.api; +import com.vertispan.tsdefs.annotations.TsName; +import com.vertispan.tsdefs.annotations.TsTypeRef; import elemental2.core.JsArray; import elemental2.dom.CustomEventInit; import elemental2.dom.DomGlobal; @@ -30,7 +32,7 @@ import io.deephaven.web.client.api.barrage.def.ColumnDefinition; import io.deephaven.web.client.api.barrage.def.TableAttributesDefinition; import io.deephaven.web.client.api.batch.RequestBatcher; -import io.deephaven.web.client.api.console.JsVariableChanges; +import io.deephaven.web.client.api.console.JsVariableType; import io.deephaven.web.client.api.filter.FilterCondition; import io.deephaven.web.client.api.input.JsInputTable; import io.deephaven.web.client.api.lifecycle.HasLifecycle; @@ -60,8 +62,10 @@ import io.deephaven.web.shared.fu.RemoverFn; import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsMethod; +import jsinterop.annotations.JsNullable; import jsinterop.annotations.JsOptional; import jsinterop.annotations.JsProperty; +import jsinterop.base.Any; import jsinterop.base.Js; import jsinterop.base.JsPropertyMap; @@ -75,6 +79,7 @@ * TODO provide hooks into the event handlers so we can see if no one is listening any more and release the table * handle/viewport. */ +@TsName(namespace = "dh", name = "Table") public class JsTable extends HasLifecycle implements HasTableBinding { @JsProperty(namespace = "dh.Table") public static final String EVENT_SIZECHANGED = "sizechanged", @@ -87,19 +92,13 @@ public class JsTable extends HasLifecycle implements HasTableBinding { EVENT_CUSTOMCOLUMNSCHANGED = "customcolumnschanged", EVENT_DISCONNECT = "disconnect", EVENT_RECONNECT = "reconnect", - EVENT_RECONNECTFAILED = "reconnectfailed"; + EVENT_RECONNECTFAILED = "reconnectfailed", + EVENT_REQUEST_FAILED = "requestfailed", + EVENT_REQUEST_SUCCEEDED = "requestsucceeded"; @JsProperty(namespace = "dh.Table") public static final double SIZE_UNCOALESCED = -2; - @JsProperty(namespace = "dh.ValueType") - public static final String STRING = "String", - NUMBER = "Number", - DOUBLE = "Double", - LONG = "Long", - DATETIME = "Datetime", - BOOLEAN = "Boolean"; - // indicates that the CTS has changed, "downstream" tables should take note public static final String INTERNAL_EVENT_STATECHANGED = "statechanged-internal", // indicates that the "size listener" has gone off, thought possibly without a change in size, indicating a @@ -171,7 +170,6 @@ public static Sort reverse() { return Sort.reverse(); } - @JsIgnore @Override public Promise refetch() { // TODO(deephaven-core#3604) consider supporting this method when new session reconnects are supported @@ -299,6 +297,7 @@ public String[] getAttributes() { } @JsMethod + @JsNullable public Object getAttribute(String attributeName) { TableAttributesDefinition attrs = lastVisibleState().getTableDef().getAttributes(); // If the value was present as something easy to serialize, return it. @@ -338,6 +337,7 @@ public JsArray getColumns() { } @JsProperty + @JsNullable public JsLayoutHints getLayoutHints() { return lastVisibleState().getLayoutHints(); } @@ -356,6 +356,7 @@ public double getSize() { } @JsProperty + @JsNullable public String getDescription() { return lastVisibleState().getTableDef().getAttributes().getDescription(); } @@ -438,6 +439,7 @@ public JsArray applyFilter(FilterCondition[] filter) { @JsMethod @SuppressWarnings("unusable-by-js") + // TODO union this public JsArray applyCustomColumns(Object[] customColumns) { String[] customColumnStrings = Arrays.stream(customColumns).map(obj -> { if (obj instanceof String || obj instanceof CustomColumn) { @@ -491,8 +493,9 @@ public TableViewportSubscription setViewport(double firstRow, double lastRow, Js } @JsMethod - public TableViewportSubscription setViewport(double firstRow, double lastRow, @JsOptional JsArray columns, - @JsOptional Double updateIntervalMs) { + public TableViewportSubscription setViewport(double firstRow, double lastRow, + @JsOptional @JsNullable JsArray columns, + @JsOptional @JsNullable Double updateIntervalMs) { Column[] columnsCopy = columns != null ? Js.uncheckedCast(columns.slice()) : null; ClientTableState currentState = state(); TableViewportSubscription activeSubscription = subscriptions.get(getHandle()); @@ -533,7 +536,7 @@ public void setInternalViewport(double firstRow, double lastRow, Column[] column public Promise getViewportData() { TableViewportSubscription subscription = subscriptions.get(getHandle()); if (subscription == null) { - return (Promise) Promise.reject("No viewport currently set"); + return Promise.reject("No viewport currently set"); } return subscription.getViewportData(); } @@ -594,6 +597,10 @@ public Promise selectDistinct(Column[] columns) { } @JsMethod + public Promise copy() { + return Promise.resolve(new JsTable(this)); + } + public Promise copy(boolean resolved) { if (resolved) { LazyPromise promise = new LazyPromise<>(); @@ -603,12 +610,13 @@ public Promise copy(boolean resolved) { return promise.asPromise(MAX_BATCH_TIME) .then(s -> Promise.resolve(new JsTable(this))); } - return Promise.resolve(new JsTable(this)); + return copy(); } // TODO: #37: Need SmartKey support for this functionality // @JsMethod - public Promise getTotalsTable(/* @JsOptional */Object config) { + public Promise getTotalsTable( + /* @JsOptional @JsNullable */ @TsTypeRef(JsTotalsTableConfig.class) Object config) { // fetch the handle and wrap it in a new jstable. listen for changes // on the parent table, and re-fetch each time. @@ -743,7 +751,8 @@ private JsTotalsTableConfig getTotalsDirectiveFromOptionalConfig(Object config) // TODO: #37: Need SmartKey support for this functionality // @JsMethod - public Promise getGrandTotalsTable(/* @JsOptional */Object config) { + public Promise getGrandTotalsTable( + /* @JsNullable @JsOptional */ @TsTypeRef(JsTotalsTableConfig.class) Object config) { // As in getTotalsTable, but this time we want to skip any filters - this could mean use the // most-derived table which has no filter, or the least-derived table which has all custom columns. // Currently, these two mean the same thing. @@ -758,7 +767,7 @@ public Promise getGrandTotalsTable(/* @JsOptional */Object config } @JsMethod - public Promise rollup(Object configObject) { + public Promise rollup(@TsTypeRef(JsRollupConfig.class) Object configObject) { Objects.requireNonNull(configObject, "Table.rollup configuration"); final JsRollupConfig config; if (configObject instanceof JsRollupConfig) { @@ -779,7 +788,7 @@ public Promise rollup(Object configObject) { JsWidget widget = new JsWidget(workerConnection, c -> { FetchObjectRequest partitionedTableRequest = new FetchObjectRequest(); partitionedTableRequest.setSourceId(new TypedTicket()); - partitionedTableRequest.getSourceId().setType(JsVariableChanges.HIERARCHICALTABLE); + partitionedTableRequest.getSourceId().setType(JsVariableType.HIERARCHICALTABLE); partitionedTableRequest.getSourceId().setTicket(rollupTicket); workerConnection.objectServiceClient().fetchObject(partitionedTableRequest, workerConnection.metadata(), (fail, success) -> { @@ -792,7 +801,7 @@ public Promise rollup(Object configObject) { } @JsMethod - public Promise treeTable(Object configObject) { + public Promise treeTable(@TsTypeRef(JsTreeTableConfig.class) Object configObject) { Objects.requireNonNull(configObject, "Table.treeTable configuration"); final JsTreeTableConfig config; if (configObject instanceof JsTreeTableConfig) { @@ -818,7 +827,7 @@ public Promise treeTable(Object configObject) { JsWidget widget = new JsWidget(workerConnection, c -> { FetchObjectRequest partitionedTableRequest = new FetchObjectRequest(); partitionedTableRequest.setSourceId(new TypedTicket()); - partitionedTableRequest.getSourceId().setType(JsVariableChanges.HIERARCHICALTABLE); + partitionedTableRequest.getSourceId().setType(JsVariableType.HIERARCHICALTABLE); partitionedTableRequest.getSourceId().setTicket(treeTicket); workerConnection.objectServiceClient().fetchObject(partitionedTableRequest, workerConnection.metadata(), (fail, success) -> { @@ -876,7 +885,7 @@ public Promise snapshot(JsTable baseTable, @JsOptional Boolean doInitia @JsMethod @Deprecated public Promise join(Object joinType, JsTable rightTable, JsArray columnsToMatch, - @JsOptional JsArray columnsToAdd, @JsOptional Object asOfMatchRule) { + @JsOptional @JsNullable JsArray columnsToAdd, @JsOptional @JsNullable Object asOfMatchRule) { if (joinType.equals("AJ") || joinType.equals("RAJ")) { return asOfJoin(rightTable, columnsToMatch, columnsToAdd, (String) asOfMatchRule); } else if (joinType.equals("CROSS_JOIN")) { @@ -892,7 +901,7 @@ public Promise join(Object joinType, JsTable rightTable, JsArray asOfJoin(JsTable rightTable, JsArray columnsToMatch, - @JsOptional JsArray columnsToAdd, @JsOptional String asOfMatchRule) { + @JsOptional @JsNullable JsArray columnsToAdd, @JsOptional @JsNullable String asOfMatchRule) { if (rightTable.workerConnection != workerConnection) { throw new IllegalStateException( "Table argument passed to join is not from the same worker as current table"); @@ -1014,7 +1023,7 @@ public Promise partitionBy(Object keys, @JsOptional Boolean new JsPartitionedTable(workerConnection, new JsWidget(workerConnection, c -> { FetchObjectRequest partitionedTableRequest = new FetchObjectRequest(); partitionedTableRequest.setSourceId(new TypedTicket()); - partitionedTableRequest.getSourceId().setType(JsVariableChanges.PARTITIONEDTABLE); + partitionedTableRequest.getSourceId().setType(JsVariableType.PARTITIONEDTABLE); partitionedTableRequest.getSourceId().setTicket(partitionedTableTicket); workerConnection.objectServiceClient().fetchObject(partitionedTableRequest, workerConnection.metadata(), (fail, success) -> { @@ -1049,19 +1058,19 @@ private Literal objectToLiteral(String valueType, Object value) { literal.setBoolValue((Boolean) value); } else { switch (valueType) { - case STRING: + case ValueType.STRING: literal.setStringValue(value.toString()); break; - case NUMBER: + case ValueType.NUMBER: literal.setDoubleValue(Double.parseDouble(value.toString())); break; - case LONG: + case ValueType.LONG: literal.setLongValue(value.toString()); break; - case DATETIME: + case ValueType.DATETIME: literal.setNanoTimeValue(value.toString()); break; - case BOOLEAN: + case ValueType.BOOLEAN: literal.setBoolValue(Boolean.parseBoolean(value.toString())); break; default: @@ -1088,11 +1097,11 @@ private Literal objectToLiteral(String valueType, Object value) { public Promise seekRow( double startingRow, Column column, - String valueType, - Object seekValue, - @JsOptional Boolean insensitive, - @JsOptional Boolean contains, - @JsOptional Boolean isBackwards) { + @TsTypeRef(ValueType.class) String valueType, + Any seekValue, + @JsOptional @JsNullable Boolean insensitive, + @JsOptional @JsNullable Boolean contains, + @JsOptional @JsNullable Boolean isBackwards) { SeekRowRequest seekRowRequest = new SeekRowRequest(); seekRowRequest.setSourceId(state().getHandle().makeTicket()); seekRowRequest.setStartingRow(String.valueOf(startingRow)); @@ -1364,6 +1373,7 @@ public boolean isUncoalesced() { } @JsProperty + @JsNullable public String getPluginName() { return lastVisibleState().getTableDef().getAttributes().getPluginName(); } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/JsTotalsTable.java b/web/client-api/src/main/java/io/deephaven/web/client/api/JsTotalsTable.java index 564f55a0f28..9bae05e74eb 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/JsTotalsTable.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/JsTotalsTable.java @@ -3,8 +3,12 @@ */ package io.deephaven.web.client.api; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.JsArray; import elemental2.core.JsString; +import elemental2.dom.CustomEvent; +import elemental2.dom.Event; import elemental2.promise.Promise; import io.deephaven.web.client.api.filter.FilterCondition; import io.deephaven.web.shared.fu.RemoverFn; @@ -22,6 +26,8 @@ * A new config is returned any time it is accessed, to prevent accidental mutation, and to allow it to be used as a * template when fetching a new totals table, or changing the totals table in use. */ +@TsInterface +@TsName(namespace = "dh", name = "TotalsTable") public class JsTotalsTable { private final JsTable wrappedTable; private final String directive; @@ -39,7 +45,7 @@ public class JsTotalsTable { * Table is wrapped to let us delegate calls to it, the directive is a serialized string, and the groupBy is copied * when passed in, as well as when it is accessed, to prevent accidental mutation of the array. */ - public JsTotalsTable(JsTable wrappedTable, String directive, JsArray groupBy) { + public JsTotalsTable(JsTable wrappedTable, String directive, JsArray groupBy) { this.wrappedTable = wrappedTable; this.directive = directive; this.groupBy = Js.uncheckedCast(groupBy.slice()); @@ -104,15 +110,25 @@ public String toString() { } @JsMethod - public RemoverFn addEventListener(String name, EventFn callback) { + public RemoverFn addEventListener(String name, EventFn callback) { return wrappedTable.addEventListener(name, callback); } @JsMethod - public boolean removeEventListener(String name, EventFn callback) { + public boolean removeEventListener(String name, EventFn callback) { return wrappedTable.removeEventListener(name, callback); } + @JsMethod + public Promise> nextEvent(String eventName, Double timeoutInMillis) { + return wrappedTable.nextEvent(eventName, timeoutInMillis); + } + + @JsMethod + public boolean hasListeners(String name) { + return wrappedTable.hasListeners(name); + } + @JsMethod public JsArray applySort(Sort[] sort) { return wrappedTable.applySort(sort); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/JsTotalsTableConfig.java b/web/client-api/src/main/java/io/deephaven/web/client/api/JsTotalsTableConfig.java index 74e641ef5e9..447288dd2f6 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/JsTotalsTableConfig.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/JsTotalsTableConfig.java @@ -3,6 +3,7 @@ */ package io.deephaven.web.client.api; +import com.vertispan.tsdefs.annotations.TsTypeRef; import elemental2.core.Global; import elemental2.core.JsArray; import elemental2.core.JsObject; @@ -49,12 +50,13 @@ public class JsTotalsTableConfig { public boolean showTotalsByDefault = false; public boolean showGrandTotalsByDefault = false; - public String defaultOperation = SUM; - public JsPropertyMap> operationMap = Js.cast(JsObject.create(null)); + @TsTypeRef(JsAggregationOperation.class) + public String defaultOperation = JsAggregationOperation.SUM; + public JsPropertyMap> operationMap = + Js.cast(JsObject.create(null)); - public JsArray groupBy = new JsArray<>(); + public JsArray groupBy = new JsArray<>(); - @JsConstructor public JsTotalsTableConfig() {} @JsIgnore @@ -123,7 +125,7 @@ public static JsTotalsTableConfig parse(String configString) { builder.operationMap.set(kv[0], new JsArray<>()); for (String op : operations) { checkOperation(op); - builder.operationMap.get(kv[0]).push(Js.cast(op)); + builder.operationMap.get(kv[0]).push(op); } } } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/JsWorkerHeapInfo.java b/web/client-api/src/main/java/io/deephaven/web/client/api/JsWorkerHeapInfo.java index df0fb41d5db..423db5f89b6 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/JsWorkerHeapInfo.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/JsWorkerHeapInfo.java @@ -1,8 +1,12 @@ package io.deephaven.web.client.api; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.GetHeapInfoResponse; import jsinterop.annotations.JsProperty; +@TsInterface +@TsName(name = "WorkerHeapInfo", namespace = "dh") public class JsWorkerHeapInfo { private long maximumHeapSize; private long freeMemory; @@ -24,6 +28,9 @@ public double getFreeMemory() { return freeMemory; } + /** + * Total heap size available for this worker. + */ @JsProperty public double getTotalHeapSize() { return totalHeapSize; diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/LocalDateWrapper.java b/web/client-api/src/main/java/io/deephaven/web/client/api/LocalDateWrapper.java index aadb6b61b9c..be7fb253735 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/LocalDateWrapper.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/LocalDateWrapper.java @@ -4,6 +4,8 @@ package io.deephaven.web.client.api; import com.google.gwt.i18n.client.NumberFormat; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import io.deephaven.web.shared.data.LocalDate; import jsinterop.annotations.JsMethod; @@ -12,6 +14,8 @@ /** * Wrap LocalDate values for use in JS. Provides text formatting for display and access to the underlying value. */ +@TsInterface +@TsName(namespace = "dh") public class LocalDateWrapper { private final static NumberFormat YEAR_FORMAT = NumberFormat.getFormat("0000"); private final static NumberFormat MONTH_DAY_FORMAT = NumberFormat.getFormat("00"); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/LocalTimeWrapper.java b/web/client-api/src/main/java/io/deephaven/web/client/api/LocalTimeWrapper.java index 668b9f8333f..9bda0549e8a 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/LocalTimeWrapper.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/LocalTimeWrapper.java @@ -4,6 +4,8 @@ package io.deephaven.web.client.api; import com.google.gwt.i18n.client.NumberFormat; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import io.deephaven.web.shared.data.LocalTime; import jsinterop.annotations.JsMethod; @@ -12,6 +14,8 @@ /** * Wrap LocalTime values for use in JS. Provides text formatting for display and access to the underlying value. */ +@TsInterface +@TsName(namespace = "dh") public class LocalTimeWrapper { private final static NumberFormat TWO_DIGIT_FORMAT = NumberFormat.getFormat("00"); private final static NumberFormat NANOS_FORMAT = NumberFormat.getFormat("000000000"); diff --git a/web/shared-beans/src/main/java/io/deephaven/web/shared/data/LogItem.java b/web/client-api/src/main/java/io/deephaven/web/client/api/LogItem.java similarity index 85% rename from web/shared-beans/src/main/java/io/deephaven/web/shared/data/LogItem.java rename to web/client-api/src/main/java/io/deephaven/web/client/api/LogItem.java index e8d50273cbc..09888b12f72 100644 --- a/web/shared-beans/src/main/java/io/deephaven/web/shared/data/LogItem.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/LogItem.java @@ -1,8 +1,10 @@ /** * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending */ -package io.deephaven.web.shared.data; +package io.deephaven.web.client.api; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import jsinterop.annotations.JsProperty; import java.io.Serializable; @@ -10,6 +12,8 @@ /** * Represents a serialized fishlib LogRecord, suitable for display on javascript clients. */ +@TsInterface +@TsName(namespace = "dh.ide") public class LogItem implements Serializable { private double micros; // not using long, as js numbers are all floating point anyway diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/LoginCredentials.java b/web/client-api/src/main/java/io/deephaven/web/client/api/LoginCredentials.java index 2a91db4ace7..730f5cd8efa 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/LoginCredentials.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/LoginCredentials.java @@ -1,13 +1,16 @@ package io.deephaven.web.client.api; -import jsinterop.annotations.JsOverlay; -import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsConstructor; +import jsinterop.annotations.JsIgnore; +import jsinterop.annotations.JsNullable; +import jsinterop.annotations.JsProperty; import jsinterop.annotations.JsType; +import jsinterop.base.JsPropertyMap; -@JsType(namespace = JsPackage.GLOBAL, name = "Object", isNative = true) +@JsType(namespace = "dh") public class LoginCredentials { - @JsOverlay + @JsIgnore public static LoginCredentials reconnect(String token) { LoginCredentials loginCredentials = new LoginCredentials(); loginCredentials.setType("Bearer"); @@ -15,34 +18,56 @@ public static LoginCredentials reconnect(String token) { return loginCredentials; } - public String username, token, type; + private String username; + private String token; + private String type; - @JsOverlay + @JsConstructor + public LoginCredentials() {} + + @JsIgnore + public LoginCredentials(JsPropertyMap source) { + this(); + if (source.has("username")) { + username = source.getAsAny("username").asString(); + } + if (source.has("token")) { + token = source.getAsAny("token").asString(); + } + if (source.has("type")) { + type = source.getAsAny("type").asString(); + } + } + + @JsProperty + @JsNullable public final String getUsername() { return username; } - @JsOverlay + @JsProperty public final void setUsername(String username) { this.username = username; } - @JsOverlay + @JsProperty + @JsNullable public final String getToken() { return token; } - @JsOverlay + @JsProperty public final void setToken(String token) { this.token = token; } - @JsOverlay + @JsProperty + @JsNullable public final String getType() { return type; } - @JsOverlay + @JsProperty public final void setType(String type) { this.type = type; } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/LongWrapper.java b/web/client-api/src/main/java/io/deephaven/web/client/api/LongWrapper.java index bbb2316e343..ebea84e6d5d 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/LongWrapper.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/LongWrapper.java @@ -3,39 +3,40 @@ */ package io.deephaven.web.client.api; -import jsinterop.annotations.JsMethod; +import jsinterop.annotations.JsIgnore; +import jsinterop.annotations.JsType; +@JsType(namespace = "dh") public class LongWrapper { private final long value; + @JsIgnore public static LongWrapper of(long value) { return new LongWrapper(value); } - @JsMethod(namespace = "dh.LongWrapper") public static LongWrapper ofString(String str) { return of(Long.parseLong(str)); } + @JsIgnore protected LongWrapper(long value) { this.value = value; } + @JsIgnore public long getWrapped() { return value; } - @JsMethod public double asNumber() { return getWrapped(); } - @JsMethod public String valueOf() { return toString(); } - @JsMethod @Override public String toString() { return String.valueOf(value); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/QueryConnectable.java b/web/client-api/src/main/java/io/deephaven/web/client/api/QueryConnectable.java index 92e30a4de4a..18aedeeaa1f 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/QueryConnectable.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/QueryConnectable.java @@ -3,6 +3,7 @@ */ package io.deephaven.web.client.api; +import com.vertispan.tsdefs.annotations.TsIgnore; import elemental2.core.JsArray; import elemental2.core.JsSet; import elemental2.dom.CustomEventInit; @@ -17,43 +18,25 @@ import io.deephaven.web.client.fu.JsLog; import io.deephaven.web.client.fu.LazyPromise; import io.deephaven.web.shared.data.ConnectToken; -import io.deephaven.web.shared.data.LogItem; import io.deephaven.web.shared.fu.JsConsumer; import io.deephaven.web.shared.fu.JsRunnable; -import io.deephaven.web.shared.fu.RemoverFn; import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsMethod; -import jsinterop.annotations.JsProperty; import jsinterop.base.JsPropertyMap; import java.util.ArrayList; import java.util.List; +import static io.deephaven.web.client.ide.IdeConnection.HACK_CONNECTION_FAILURE; import static io.deephaven.web.shared.fu.PromiseLike.CANCELLATION_MESSAGE; /** * JS-exposed supertype handling details about connecting to a deephaven query worker. Wraps the WorkerConnection * instance, which manages the connection to the API server. */ +@TsIgnore public abstract class QueryConnectable> extends HasEventHandling { - @JsProperty(namespace = "dh.QueryInfo") // "legacy" location - public static final String EVENT_TABLE_OPENED = "tableopened"; - @JsProperty(namespace = "dh.QueryInfo") - public static final String EVENT_DISCONNECT = "disconnect"; - @JsProperty(namespace = "dh.QueryInfo") - public static final String EVENT_RECONNECT = "reconnect"; - @JsProperty(namespace = "dh.QueryInfo") - public static final String EVENT_CONNECT = "connect"; - - /** - * Removed in favor of a proper disconnect/reconnect. Event listeners should switch to the "disconnect" and - * "reconnect" events instead. - */ - @JsProperty(namespace = "dh.IdeConnection") - @Deprecated - public static final String HACK_CONNECTION_FAILURE = "hack-connection-failure"; - private final List sessions = new ArrayList<>(); private final JsSet cancelled = new JsSet<>(); @@ -89,12 +72,6 @@ public void notifyConnectionError(ResponseStreamWrapper.Status status) { "The event dh.IdeConnection.HACK_CONNECTION_FAILURE is deprecated and will be removed in a later release"); } - @Override - @JsMethod - public RemoverFn addEventListener(String name, EventFn callback) { - return super.addEventListener(name, callback); - } - protected Promise onConnected() { if (connected) { return Promise.resolve((Void) null); @@ -104,8 +81,8 @@ protected Promise onConnected() { } return new Promise<>((resolve, reject) -> addEventListenerOneShot( - EventPair.of(EVENT_CONNECT, e -> resolve.onInvoke((Void) null)), - EventPair.of(EVENT_DISCONNECT, e -> reject.onInvoke("Connection disconnected")))); + EventPair.of(QueryInfoConstants.EVENT_CONNECT, e -> resolve.onInvoke((Void) null)), + EventPair.of(QueryInfoConstants.EVENT_DISCONNECT, e -> reject.onInvoke("Connection disconnected")))); } @JsIgnore @@ -228,11 +205,11 @@ public void connected() { connected = true; notifiedConnectionError = false; - fireEvent(EVENT_CONNECT); + fireEvent(QueryInfoConstants.EVENT_CONNECT); if (hasDisconnected) { - if (hasListeners(EVENT_RECONNECT)) { - fireEvent(EVENT_RECONNECT); + if (hasListeners(QueryInfoConstants.EVENT_RECONNECT)) { + fireEvent(QueryInfoConstants.EVENT_RECONNECT); } else { DomGlobal.console.log(logPrefix() + "Query reconnected (to prevent this log message, handle the EVENT_RECONNECT event)"); @@ -260,8 +237,8 @@ public void disconnected() { hasDisconnected = true; - if (hasListeners(EVENT_DISCONNECT)) { - this.fireEvent(QueryConnectable.EVENT_DISCONNECT); + if (hasListeners(QueryInfoConstants.EVENT_DISCONNECT)) { + this.fireEvent(QueryInfoConstants.EVENT_DISCONNECT); } else { DomGlobal.console.log(logPrefix() + "Query disconnected (to prevent this log message, handle the EVENT_DISCONNECT event)"); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/QueryInfoConstants.java b/web/client-api/src/main/java/io/deephaven/web/client/api/QueryInfoConstants.java new file mode 100644 index 00000000000..c3a071eb093 --- /dev/null +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/QueryInfoConstants.java @@ -0,0 +1,15 @@ +package io.deephaven.web.client.api; + +import jsinterop.annotations.JsType; + +@JsType(name = "QueryInfo", namespace = "dh") +public class QueryInfoConstants { + public static final String EVENT_TABLE_OPENED = "tableopened"; + public static final String EVENT_DISCONNECT = "disconnect"; + public static final String EVENT_RECONNECT = "reconnect"; + public static final String EVENT_CONNECT = "connect"; + + private QueryInfoConstants() { + + } +} diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/Sort.java b/web/client-api/src/main/java/io/deephaven/web/client/api/Sort.java index d3ff41937e5..89b95358421 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/Sort.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/Sort.java @@ -3,10 +3,12 @@ */ package io.deephaven.web.client.api; +import com.vertispan.tsdefs.annotations.TsName; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.SortDescriptor; import jsinterop.annotations.JsMethod; import jsinterop.annotations.JsProperty; +@TsName(namespace = "dh") public class Sort { @JsProperty(namespace = "dh.Sort") public static final String ASCENDING = "ASC", diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/TableData.java b/web/client-api/src/main/java/io/deephaven/web/client/api/TableData.java index 5f902273b66..47b8d828b83 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/TableData.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/TableData.java @@ -3,12 +3,20 @@ */ package io.deephaven.web.client.api; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.JsArray; import jsinterop.annotations.JsMethod; import jsinterop.annotations.JsProperty; import jsinterop.base.Any; import jsinterop.base.Js; +/** + * Common interface for various ways of accessing table data and formatting. + * + * Java note: this interface contains some extra overloads that aren't available in JS. Implementations are expected to + * implement only abstract methods, and default methods present in this interface will dispatch accordingly. + */ +@TsName(namespace = "dh") public interface TableData { @JsProperty JsArray getColumns(); @@ -52,6 +60,7 @@ default Format getFormat(Object index, Column column) { Format getFormat(long index, Column column); + @TsName(namespace = "dh") public interface Row { @JsProperty LongWrapper getIndex(); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/TableMapEventLegacyNamespace.java b/web/client-api/src/main/java/io/deephaven/web/client/api/TableMapEventLegacyNamespace.java index e6c8fcbfca5..8f1bbb3f073 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/TableMapEventLegacyNamespace.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/TableMapEventLegacyNamespace.java @@ -3,18 +3,21 @@ */ package io.deephaven.web.client.api; -import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; /** * Exists to keep the dh.TableMap namespace so that the web UI can remain compatible with the DHE API, which still calls * this type TableMap. */ +@Deprecated +@JsType(namespace = "dh", name = "TableMap") public class TableMapEventLegacyNamespace { - @JsProperty(namespace = "dh.TableMap") - public static final String EVENT_KEYADDED = "keyadded", EVENT_DISCONNECT = JsTable.EVENT_DISCONNECT, EVENT_RECONNECT = JsTable.EVENT_RECONNECT, EVENT_RECONNECTFAILED = JsTable.EVENT_RECONNECTFAILED; + private TableMapEventLegacyNamespace() { + + } } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/ValueType.java b/web/client-api/src/main/java/io/deephaven/web/client/api/ValueType.java new file mode 100644 index 00000000000..cc9cc2c8281 --- /dev/null +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/ValueType.java @@ -0,0 +1,16 @@ +package io.deephaven.web.client.api; + +import com.vertispan.tsdefs.annotations.TsTypeDef; +import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; + +@JsType(namespace = "dh") +@TsTypeDef(tsType = "string") +public class ValueType { + public static final String STRING = "String"; + public static final String NUMBER = "Number"; + public static final String DOUBLE = "Double"; + public static final String LONG = "Long"; + public static final String DATETIME = "Datetime"; + public static final String BOOLEAN = "Boolean"; +} diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/WorkerConnection.java b/web/client-api/src/main/java/io/deephaven/web/client/api/WorkerConnection.java index 00b7d1d6836..11aaea75e72 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/WorkerConnection.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/WorkerConnection.java @@ -3,6 +3,7 @@ */ package io.deephaven.web.client.api; +import com.vertispan.tsdefs.annotations.TsIgnore; import elemental2.core.JsArray; import elemental2.core.JsObject; import elemental2.core.JsSet; @@ -75,6 +76,7 @@ import io.deephaven.web.client.api.batch.TableConfig; import io.deephaven.web.client.api.console.JsVariableChanges; import io.deephaven.web.client.api.console.JsVariableDefinition; +import io.deephaven.web.client.api.console.JsVariableType; import io.deephaven.web.client.api.i18n.JsTimeZone; import io.deephaven.web.client.api.lifecycle.HasLifecycle; import io.deephaven.web.client.api.parse.JsDataHandler; @@ -89,7 +91,6 @@ import io.deephaven.web.client.state.HasTableBinding; import io.deephaven.web.client.state.TableReviver; import io.deephaven.web.shared.data.DeltaUpdates; -import io.deephaven.web.shared.data.LogItem; import io.deephaven.web.shared.data.RangeSet; import io.deephaven.web.shared.data.TableSnapshot; import io.deephaven.web.shared.data.TableSubscriptionRequest; @@ -139,6 +140,7 @@ * Responsible for reconnecting to the query server when required - when that server disappears, and at least one table * is left un-closed. */ +@TsIgnore public class WorkerConnection { private static final String FLIGHT_AUTH_HEADER_NAME = "authorization"; @@ -724,23 +726,23 @@ public Promise getTable(JsVariableDefinition varDef, @Nullable Boolean } public Promise getObject(JsVariableDefinition definition) { - if (JsVariableChanges.TABLE.equals(definition.getType())) { + if (JsVariableType.TABLE.equals(definition.getType())) { return getTable(definition, null); - } else if (JsVariableChanges.FIGURE.equals(definition.getType())) { + } else if (JsVariableType.FIGURE.equals(definition.getType())) { return getFigure(definition); - } else if (JsVariableChanges.PANDAS.equals(definition.getType())) { + } else if (JsVariableType.PANDAS.equals(definition.getType())) { return getWidget(definition) .then(widget -> widget.getExportedObjects()[0].fetch()); - } else if (JsVariableChanges.PARTITIONEDTABLE.equals(definition.getType())) { + } else if (JsVariableType.PARTITIONEDTABLE.equals(definition.getType())) { return getPartitionedTable(definition); - } else if (JsVariableChanges.HIERARCHICALTABLE.equals(definition.getType())) { + } else if (JsVariableType.HIERARCHICALTABLE.equals(definition.getType())) { return getHierarchicalTable(definition); } else { - if (JsVariableChanges.TABLEMAP.equals(definition.getType())) { + if (JsVariableType.TABLEMAP.equals(definition.getType())) { JsLog.warn( "TableMap is now known as PartitionedTable, fetching as a plain widget. To fetch as a PartitionedTable use that as the type."); } - if (JsVariableChanges.TREETABLE.equals(definition.getType())) { + if (JsVariableType.TREETABLE.equals(definition.getType())) { JsLog.warn( "TreeTable is now HierarchicalTable, fetching as a plain widget. To fetch as a HierarchicalTable use that as this type."); } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/batch/RequestBatcher.java b/web/client-api/src/main/java/io/deephaven/web/client/api/batch/RequestBatcher.java index dd5bf728d31..6694204d1da 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/batch/RequestBatcher.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/batch/RequestBatcher.java @@ -20,7 +20,6 @@ import io.deephaven.web.shared.data.CustomColumnDescriptor; import io.deephaven.web.shared.fu.JsConsumer; import io.deephaven.web.shared.fu.MappedIterable; -import jsinterop.annotations.JsMethod; import jsinterop.base.JsPropertyMap; import java.util.ArrayList; @@ -214,7 +213,7 @@ public Promise sendRequest() { boolean sortChanged = !prevState.getSorts().equals(active.getSorts()); boolean filterChanged = !prevState.getFilters().equals(active.getFilters()); boolean customColumnChanged = !prevState.getCustomColumns().equals(active.getCustomColumns()); - table.fireEvent(HasEventHandling.EVENT_REQUEST_SUCCEEDED); + table.fireEvent(JsTable.EVENT_REQUEST_SUCCEEDED); // TODO think more about the order of events, and what kinds of things one might bind to each if (sortChanged) { table.fireEvent(JsTable.EVENT_SORTCHANGED); @@ -312,7 +311,7 @@ public Promise sendRequest() { boolean sortChanged = !lastVisibleState.getSorts().equals(state.getSorts()); boolean filterChanged = !lastVisibleState.getFilters().equals(state.getFilters()); boolean customColumnChanged = !lastVisibleState.getCustomColumns().equals(state.getCustomColumns()); - table.fireEvent(HasEventHandling.EVENT_REQUEST_SUCCEEDED); + table.fireEvent(JsTable.EVENT_REQUEST_SUCCEEDED); // TODO think more about the order of events, and what kinds of things one might bind to each if (sortChanged) { table.fireEvent(JsTable.EVENT_SORTCHANGED); @@ -361,7 +360,7 @@ private void failTable(JsTable t, String failureMessage) { "An exception occurred trying to rollback the table. This means that there will be no ticking data until the table configuration is applied again in a way that makes sense. See IDS-5199 for more detail.", e); } - t.fireEvent(HasEventHandling.EVENT_REQUEST_FAILED, event); + t.fireEvent(CoreClient.EVENT_REQUEST_FAILED, event); } private void failed(RejectCallbackFn reject, String fail) { @@ -376,7 +375,6 @@ private void failed(RejectCallbackFn reject, String fail) { // any batches that depend on us must also be failed / cancelled... } - @JsMethod public void setSort(Sort[] newSort) { builder.setSort(Arrays.asList(newSort)); } @@ -385,7 +383,6 @@ public void sort(List newSort) { builder.setSort(newSort); } - @JsMethod public void setFilter(FilterCondition[] newFilter) { builder.setFilter(Arrays.asList(newFilter)); } @@ -394,7 +391,6 @@ public void filter(List newFilter) { builder.setFilter(newFilter); } - @JsMethod public void setCustomColumns(String[] newColumns) { builder.setCustomColumns(CustomColumnDescriptor.from(newColumns)); } @@ -403,7 +399,6 @@ public void customColumns(List newColumns) { builder.setCustomColumns(newColumns); } - @JsMethod public void setFlat(boolean isFlat) { builder.setFlat(isFlat); } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsCommandResult.java b/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsCommandResult.java index ddd2f75038e..92e8c65fca5 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsCommandResult.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsCommandResult.java @@ -3,8 +3,12 @@ */ package io.deephaven.web.client.api.console; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import jsinterop.annotations.JsProperty; +@TsInterface +@TsName(namespace = "dh.ide", name = "CommandResult") public class JsCommandResult { private JsVariableChanges changes; private String error; diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsVariableChanges.java b/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsVariableChanges.java index e578e2476fc..39219c44bf4 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsVariableChanges.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsVariableChanges.java @@ -3,6 +3,8 @@ */ package io.deephaven.web.client.api.console; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.JsArray; import elemental2.core.JsObject; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.application_pb.FieldInfo; @@ -10,17 +12,10 @@ import jsinterop.annotations.JsProperty; import jsinterop.base.Js; + +@TsInterface +@TsName(namespace = "dh.ide", name = "VariableChanges") public class JsVariableChanges { - @JsProperty(namespace = "dh.VariableType") - public static final String TABLE = "Table", - TREETABLE = "TreeTable", - HIERARCHICALTABLE = "HierarchicalTable", - TABLEMAP = "TableMap", - PARTITIONEDTABLE = "PartitionedTable", - FIGURE = "Figure", - OTHERWIDGET = "OtherWidget", - PANDAS = "pandas.DataFrame", - TREEMAP = "Treemap"; private final JsVariableDefinition[] created; private final JsVariableDefinition[] updated; diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsVariableDefinition.java b/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsVariableDefinition.java index a1e9c5851c3..1ff4dd0f1f4 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsVariableDefinition.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsVariableDefinition.java @@ -3,9 +3,14 @@ */ package io.deephaven.web.client.api.console; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; +import com.vertispan.tsdefs.annotations.TsTypeRef; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.application_pb.FieldInfo; import jsinterop.annotations.JsProperty; +@TsInterface +@TsName(namespace = "dh.ide", name = "VariableDefinition") public class JsVariableDefinition { private static final String JS_UNAVAILABLE = "js-constructed-not-available"; @@ -35,6 +40,7 @@ public JsVariableDefinition(FieldInfo field) { } @JsProperty + @TsTypeRef(JsVariableType.class) public String getType() { return type; } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsVariableDescriptor.java b/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsVariableDescriptor.java new file mode 100644 index 00000000000..982ce486d75 --- /dev/null +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsVariableDescriptor.java @@ -0,0 +1,19 @@ +package io.deephaven.web.client.api.console; + +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; +import jsinterop.annotations.JsNullable; +import jsinterop.annotations.JsType; + +/** + * Specifies a type and either id or name (but not both). + */ +@TsInterface +@JsType(namespace = "dh.ide", name = "VariableDescriptor") +public class JsVariableDescriptor { + public String type; + @JsNullable + public String id; + @JsNullable + public String name; +} diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsVariableType.java b/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsVariableType.java new file mode 100644 index 00000000000..8711d87adf8 --- /dev/null +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/console/JsVariableType.java @@ -0,0 +1,18 @@ +package io.deephaven.web.client.api.console; + +import com.vertispan.tsdefs.annotations.TsTypeDef; +import jsinterop.annotations.JsType; + +@JsType(namespace = "dh", name = "VariableType") +@TsTypeDef(tsType = "string") +public class JsVariableType { + public static final String TABLE = "Table", + TREETABLE = "TreeTable", + HIERARCHICALTABLE = "HierarchicalTable", + TABLEMAP = "TableMap", + PARTITIONEDTABLE = "PartitionedTable", + FIGURE = "Figure", + OTHERWIDGET = "OtherWidget", + PANDAS = "pandas.DataFrame", + TREEMAP = "Treemap"; +} diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/filter/FilterValue.java b/web/client-api/src/main/java/io/deephaven/web/client/api/filter/FilterValue.java index dc9d0cd7024..34c52cdc727 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/filter/FilterValue.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/filter/FilterValue.java @@ -3,6 +3,7 @@ */ package io.deephaven.web.client.api.filter; +import com.vertispan.tsdefs.annotations.TsTypeRef; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.Table_pb; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.CompareCondition; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.Condition; @@ -20,6 +21,7 @@ import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsMethod; import jsinterop.annotations.JsType; +import jsinterop.base.Any; import jsinterop.base.Js; import java.util.Arrays; @@ -30,7 +32,7 @@ public class FilterValue { protected final Value descriptor; @JsMethod(namespace = "dh.FilterValue") - public static FilterValue ofString(Object input) { + public static FilterValue ofString(@TsTypeRef(Any.class) Object input) { Objects.requireNonNull(input); final String string; if (Js.typeof(input).equals("string")) { @@ -44,7 +46,7 @@ public static FilterValue ofString(Object input) { } @JsMethod(namespace = "dh.FilterValue") - public static FilterValue ofNumber(Object input) { + public static FilterValue ofNumber(@TsTypeRef(Any.class) Object input) { Objects.requireNonNull(input); if (input instanceof DateWrapper) { Literal lit = new Literal(); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/i18n/JsDateTimeFormat.java b/web/client-api/src/main/java/io/deephaven/web/client/api/i18n/JsDateTimeFormat.java index 002e2abede8..2a69f767a8b 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/i18n/JsDateTimeFormat.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/i18n/JsDateTimeFormat.java @@ -13,6 +13,7 @@ import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsOptional; import jsinterop.annotations.JsType; +import jsinterop.base.Any; import javax.annotation.Nonnull; import java.util.*; @@ -36,7 +37,7 @@ public static JsDateTimeFormat getFormat(String pattern) { return cache.computeIfAbsent(pattern, JsDateTimeFormat::new); } - public static String format(String pattern, Object date, @JsOptional JsTimeZone timeZone) { + public static String format(String pattern, Any date, @JsOptional JsTimeZone timeZone) { return getFormat(pattern).format(date, timeZone); } @@ -112,7 +113,12 @@ public JsDateTimeFormat(String pattern) { // It may be possible to compute the offset of a given date/time from DateTimeFormat and // synthesize a gwt TimeZone with the correct offset data to get nice output in some tz // other than the browser's current or UTC+/-OFFSET - public String format(Object date, @JsOptional JsTimeZone timeZone) { + public String format(Any date, @JsOptional JsTimeZone timeZone) { + return format((Object) date, timeZone); + } + + @JsIgnore + public String format(Object date, JsTimeZone timeZone) { long nanos = longFromDate(date) .orElseThrow(() -> new IllegalStateException("Can't format non-number, non-date value " + date)); return formatAsLongNanos(nanos, timeZone); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/i18n/JsNumberFormat.java b/web/client-api/src/main/java/io/deephaven/web/client/api/i18n/JsNumberFormat.java index eba4ee20c8d..bfc67a4a91a 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/i18n/JsNumberFormat.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/i18n/JsNumberFormat.java @@ -4,11 +4,13 @@ package io.deephaven.web.client.api.i18n; import com.google.gwt.i18n.client.NumberFormat; +import com.vertispan.tsdefs.annotations.TsTypeRef; import io.deephaven.web.client.api.BigDecimalWrapper; import io.deephaven.web.client.api.BigIntegerWrapper; import io.deephaven.web.client.api.LongWrapper; import jsinterop.annotations.JsConstructor; import jsinterop.annotations.JsType; +import jsinterop.base.Any; import jsinterop.base.Js; import java.math.BigDecimal; @@ -32,7 +34,7 @@ public static double parse(String pattern, String text) { return getFormat(pattern).parse(text); } - public static String format(String pattern, Object number) { + public static String format(String pattern, Any number) { return getFormat(pattern).format(number); } @@ -49,7 +51,7 @@ public double parse(String text) { return wrapped.parse(text); } - public String format(Object number) { + public String format(@TsTypeRef(Any.class) Object number) { Objects.requireNonNull(number); if (number instanceof Double) {// aka typeof number, and non-null return wrapped.format((double) (Double) number); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/storage/JsItemDetails.java b/web/client-api/src/main/java/io/deephaven/web/client/api/storage/JsItemDetails.java index 1ab4841ff82..161fffdc0b4 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/storage/JsItemDetails.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/storage/JsItemDetails.java @@ -1,5 +1,6 @@ package io.deephaven.web.client.api.storage; +import com.vertispan.tsdefs.annotations.TsTypeRef; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.Storage_pb; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.storage_pb.ItemInfo; import jsinterop.annotations.JsIgnore; @@ -45,8 +46,9 @@ public String getDirname() { } @JsProperty + @TsTypeRef(JsItemType.class) public String getType() { - return type == Storage_pb.ItemType.getDIRECTORY() ? "directory" : "file"; + return type == Storage_pb.ItemType.getDIRECTORY() ? JsItemType.DIRECTORY : JsItemType.FILE; } @JsProperty diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/storage/JsItemType.java b/web/client-api/src/main/java/io/deephaven/web/client/api/storage/JsItemType.java new file mode 100644 index 00000000000..6aa5c401fab --- /dev/null +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/storage/JsItemType.java @@ -0,0 +1,12 @@ +package io.deephaven.web.client.api.storage; + +import com.vertispan.tsdefs.annotations.TsTypeDef; +import jsinterop.annotations.JsType; + +@JsType(namespace = "dh.storage", name = "ItemType") +@TsTypeDef(tsType = "string") +public class JsItemType { + public static final String DIRECTORY = "directory"; + + public static final String FILE = "file"; +} diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/SubscriptionTableData.java b/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/SubscriptionTableData.java index 16fa93df859..4a8f395ca69 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/SubscriptionTableData.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/SubscriptionTableData.java @@ -3,6 +3,8 @@ */ package io.deephaven.web.client.api.subscription; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.JsArray; import elemental2.dom.CustomEventInit; import io.deephaven.web.client.api.*; @@ -10,8 +12,10 @@ import io.deephaven.web.shared.data.*; import io.deephaven.web.shared.data.columns.ColumnData; import jsinterop.annotations.JsFunction; +import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsMethod; import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; import jsinterop.base.Any; import jsinterop.base.Js; import jsinterop.base.JsArrayLike; @@ -27,6 +31,7 @@ public class SubscriptionTableData { @JsFunction private interface ArrayCopy { + @SuppressWarnings("unusable-by-js") void copyTo(Object destArray, long destPos, Object srcArray, int srcPos); } @@ -449,6 +454,8 @@ private RangeSet freeRows(long required) { return created; } + @TsInterface + @TsName(namespace = "dh") public class SubscriptionRow implements TableData.Row { private final long index; public LongWrapper indexCached; @@ -458,7 +465,6 @@ public SubscriptionRow(long index) { } @Override - @JsProperty public LongWrapper getIndex() { if (indexCached == null) { indexCached = LongWrapper.of(index); @@ -467,7 +473,6 @@ public LongWrapper getIndex() { } @Override - @JsMethod public Any get(Column column) { int redirectedIndex = (int) (long) redirectedIndexes.get(this.index); JsArrayLike columnData = Js.asArrayLike(data[column.getIndex()]); @@ -475,7 +480,6 @@ public Any get(Column column) { } @Override - @JsMethod public Format getFormat(Column column) { long cellColors = 0; long rowColors = 0; @@ -507,6 +511,8 @@ public Format getFormat(Column column) { * Event data, describing the indexes that were added/removed/updated, and providing access to Rows (and thus data * in columns) either by index, or scanning the complete present index. */ + @TsInterface + @TsName(name = "SubscriptionTableData", namespace = "dh") public class UpdateEventData implements TableData { private JsRangeSet added; private JsRangeSet removed; @@ -522,7 +528,6 @@ public UpdateEventData(RangeSet added, RangeSet removed, RangeSet modified) { } @Override - @JsProperty public JsArray getRows() { if (allRows == null) { allRows = new JsArray<>(); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/TableSubscription.java b/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/TableSubscription.java index 30d22609af8..773e45b1c0c 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/TableSubscription.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/TableSubscription.java @@ -3,6 +3,7 @@ */ package io.deephaven.web.client.api.subscription; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.JsArray; import elemental2.promise.Promise; import io.deephaven.web.client.api.Column; @@ -10,8 +11,11 @@ import io.deephaven.web.client.api.JsTable; import io.deephaven.web.shared.data.DeltaUpdates; import io.deephaven.web.shared.data.TableSnapshot; +import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsMethod; import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; + import static io.deephaven.web.client.api.subscription.ViewportData.NO_ROW_FORMAT_COLUMN; /** @@ -22,9 +26,9 @@ * "private" table instance does, since the original cannot modify the subscription, and the private instance must * forward data to it. */ +@JsType(namespace = "dh") public class TableSubscription extends HasEventHandling { - @JsProperty(namespace = "dh.TableSubscription") public static final String EVENT_UPDATED = "updated"; @@ -37,6 +41,7 @@ public class TableSubscription extends HasEventHandling { private Promise copy; // copy from the initially given table so we don't need to way + @JsIgnore public TableSubscription(JsArray columns, JsTable existingTable, Double updateIntervalMs) { copy = existingTable.copy(false).then(table -> new Promise<>((resolve, reject) -> { @@ -64,10 +69,12 @@ public TableSubscription(JsArray columns, JsTable existingTable, Double // } + @JsIgnore public void handleSnapshot(TableSnapshot snapshot) { data.handleSnapshot(snapshot); } + @JsIgnore public void handleDelta(DeltaUpdates delta) { data.handleDelta(delta); } @@ -77,7 +84,6 @@ public JsArray getColumns() { return columns; } - @JsMethod public void close() { copy.then(table -> { table.close(); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/TableViewportSubscription.java b/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/TableViewportSubscription.java index 54bcb6ea423..bf4adc57036 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/TableViewportSubscription.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/TableViewportSubscription.java @@ -3,11 +3,12 @@ */ package io.deephaven.web.client.api.subscription; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.Uint8Array; import elemental2.dom.CustomEvent; import elemental2.dom.CustomEventInit; import elemental2.dom.DomGlobal; -import elemental2.dom.Event; import elemental2.promise.IThenable; import elemental2.promise.Promise; import io.deephaven.javascript.proto.dhinternal.arrow.flight.flatbuf.message_generated.org.apache.arrow.flatbuf.Message; @@ -37,6 +38,7 @@ import io.deephaven.web.client.state.ClientTableState; import io.deephaven.web.shared.data.TableSnapshot; import jsinterop.annotations.JsMethod; +import jsinterop.annotations.JsNullable; import jsinterop.annotations.JsOptional; import jsinterop.base.Js; @@ -67,6 +69,8 @@ * Note that if the caller does close an instance, this shuts down the JsTable's use of this (while the converse is not * true), providing a way to stop the server from streaming updates to the client. */ +@TsInterface +@TsName(namespace = "dh") public class TableViewportSubscription extends HasEventHandling { /** * Describes the possible lifecycle of the viewport as far as anything external cares about it @@ -166,7 +170,7 @@ public ClientTableState state() { return originalState; } - private void refire(Event e) { + private void refire(CustomEvent e) { this.fireEvent(e.type, e); if (originalActive && state() == original.state()) { // When these fail to match, it probably means that the original's state was paused, but we're still @@ -183,8 +187,8 @@ private void retainForExternalUse() { } @JsMethod - public void setViewport(double firstRow, double lastRow, @JsOptional Column[] columns, - @JsOptional Double updateIntervalMs) { + public void setViewport(double firstRow, double lastRow, @JsOptional @JsNullable Column[] columns, + @JsOptional @JsNullable Double updateIntervalMs) { retainForExternalUse(); setInternalViewport(firstRow, lastRow, columns, updateIntervalMs); } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/ViewportData.java b/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/ViewportData.java index ff47842965e..4453f234ad3 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/ViewportData.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/ViewportData.java @@ -3,6 +3,8 @@ */ package io.deephaven.web.client.api.subscription; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.JsArray; import elemental2.core.JsObject; import io.deephaven.web.client.api.*; @@ -20,6 +22,8 @@ import java.util.PrimitiveIterator.OfLong; import java.util.Set; +@TsInterface +@TsName(namespace = "dh") public class ViewportData implements TableData { private static final Any NULL_SENTINEL = Js.asAny(new JsObject()); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/ViewportRow.java b/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/ViewportRow.java index 7172a0e3bf5..81ff732c3e2 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/ViewportRow.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/subscription/ViewportRow.java @@ -3,6 +3,8 @@ */ package io.deephaven.web.client.api.subscription; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.JsArray; import io.deephaven.web.client.api.Column; import io.deephaven.web.client.api.Format; @@ -12,6 +14,8 @@ import jsinterop.base.Any; import jsinterop.base.Js; +@TsInterface +@TsName(namespace = "dh") public class ViewportRow implements TableData.Row { protected final int offsetInSnapshot; private final Object[] dataColumns; diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/tree/JsRollupConfig.java b/web/client-api/src/main/java/io/deephaven/web/client/api/tree/JsRollupConfig.java index cac53ed03e3..5fdc89a35ce 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/tree/JsRollupConfig.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/tree/JsRollupConfig.java @@ -3,6 +3,7 @@ */ package io.deephaven.web.client.api.tree; +import com.vertispan.tsdefs.annotations.TsTypeRef; import elemental2.core.JsArray; import elemental2.core.JsObject; import elemental2.core.JsString; @@ -28,6 +29,7 @@ import io.deephaven.web.client.fu.JsLog; import jsinterop.annotations.JsConstructor; import jsinterop.annotations.JsIgnore; +import jsinterop.annotations.JsNullable; import jsinterop.annotations.JsType; import jsinterop.base.Js; import jsinterop.base.JsPropertyMap; @@ -39,16 +41,17 @@ import java.util.List; import java.util.Map; import java.util.Set; -import java.util.function.Function; import java.util.stream.Collector; -import java.util.stream.Collectors; @JsType(name = "RollupConfig", namespace = "dh") public class JsRollupConfig { public JsArray groupingColumns = null; - public JsPropertyMap> aggregations = Js.cast(JsObject.create(null)); + public JsPropertyMap> aggregations = + Js.cast(JsObject.create(null)); public boolean includeConstituents = false; + // TODO optional + @JsNullable public boolean includeOriginalColumns = false; public boolean includeDescriptions = true; diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/tree/JsTreeTable.java b/web/client-api/src/main/java/io/deephaven/web/client/api/tree/JsTreeTable.java index 012bc7ce1ce..2f32030ff57 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/tree/JsTreeTable.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/tree/JsTreeTable.java @@ -3,6 +3,8 @@ */ package io.deephaven.web.client.api.tree; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.JsArray; import elemental2.core.JsObject; import elemental2.core.Uint8Array; @@ -46,9 +48,12 @@ import io.deephaven.web.client.fu.LazyPromise; import io.deephaven.web.shared.data.*; import io.deephaven.web.shared.data.columns.ColumnData; +import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsMethod; +import jsinterop.annotations.JsNullable; import jsinterop.annotations.JsOptional; import jsinterop.annotations.JsProperty; +import jsinterop.annotations.JsType; import jsinterop.base.Any; import jsinterop.base.Js; @@ -71,12 +76,13 @@ * * The table size will be -1 until a viewport has been fetched. */ +@JsType(namespace = "dh", name = "TreeTable") public class JsTreeTable extends HasLifecycle { - @JsProperty(namespace = "dh.TreeTable") public static final String EVENT_UPDATED = "updated", EVENT_DISCONNECT = "disconnect", EVENT_RECONNECT = "reconnect", - EVENT_RECONNECTFAILED = "reconnectfailed"; + EVENT_RECONNECTFAILED = "reconnectfailed", + EVENT_REQUEST_FAILED = "requestfailed"; private static final double ACTION_EXPAND = 0b001; private static final double ACTION_EXPAND_WITH_DESCENDENTS = 0b011; @@ -109,7 +115,9 @@ public void release() { } } - class TreeViewportData { + @TsInterface + @TsName(namespace = "dh") + public class TreeViewportData implements TableData { private final Boolean[] expandedColumn; private final int[] depthColumn; private final double offset; @@ -207,6 +215,36 @@ private TreeViewportData(double offset, long viewportSize, double treeSize, Colu } } + @Override + public Row get(long index) { + return getRows().getAt((int) index); + } + + @Override + public Row get(int index) { + return getRows().getAt((int) index); + } + + @Override + public Any getData(int index, Column column) { + return getRows().getAt(index).get(column); + } + + @Override + public Any getData(long index, Column column) { + return getRows().getAt((int) index).get(column); + } + + @Override + public Format getFormat(int index, Column column) { + return getRows().getAt(index).getFormat(column); + } + + @Override + public Format getFormat(long index, Column column) { + return getRows().getAt((int) index).getFormat(column); + } + @JsProperty public double getOffset() { return offset; @@ -229,7 +267,9 @@ public double getTreeSize() { /** * Row implementation that also provides additional read-only properties. */ - class TreeRow extends ViewportRow { + @TsInterface + @TsName(namespace = "dh") + public class TreeRow extends ViewportRow { public TreeRow(int offsetInSnapshot, Object[] dataColumns, Object rowStyleColumn) { super(offsetInSnapshot, dataColumns, rowStyleColumn); } @@ -317,6 +357,7 @@ private enum RebuildStep { private boolean closed = false; + @JsIgnore public JsTreeTable(WorkerConnection workerConnection, JsWidget widget) { this.connection = workerConnection; this.widget = widget; @@ -750,20 +791,15 @@ private void replaceKeyTableData(double action) { replaceKeyTable(); } - - - @JsMethod - public void expand(Object row, @JsOptional Boolean expandDescendants) { + public void expand(Any row, @JsOptional Boolean expandDescendants) { setExpanded(row, true, expandDescendants); } - @JsMethod - public void collapse(Object row) { + public void collapse(Any row) { setExpanded(row, false, false); } - @JsMethod - public void setExpanded(Object row, boolean isExpanded, @JsOptional Boolean expandDescendants) { + public void setExpanded(Any row, boolean isExpanded, @JsOptional Boolean expandDescendants) { // TODO check row number is within bounds final double action; if (!isExpanded) { @@ -775,8 +811,8 @@ public void setExpanded(Object row, boolean isExpanded, @JsOptional Boolean expa } final TreeRow r; - if (row instanceof Double) { - r = currentViewportData.rows.getAt((int) ((double) row - currentViewportData.offset)); + if ("number".equals(Js.typeof(row))) { + r = currentViewportData.rows.getAt((int) (row.asDouble() - currentViewportData.offset)); } else if (row instanceof TreeRow) { r = (TreeRow) row; } else { @@ -787,17 +823,14 @@ public void setExpanded(Object row, boolean isExpanded, @JsOptional Boolean expa replaceKeyTable(); } - @JsMethod public void expandAll() { replaceKeyTableData(ACTION_EXPAND_WITH_DESCENDENTS); } - @JsMethod public void collapseAll() { replaceKeyTableData(ACTION_EXPAND); } - @JsMethod public boolean isExpanded(Object row) { if (row instanceof Double) { row = currentViewportData.rows.getAt((int) ((double) row - currentViewportData.offset)); @@ -810,9 +843,8 @@ public boolean isExpanded(Object row) { } // JsTable-like methods - @JsMethod - public void setViewport(double firstRow, double lastRow, @JsOptional JsArray columns, - @JsOptional Double updateInterval) { + public void setViewport(double firstRow, double lastRow, @JsOptional @JsNullable JsArray columns, + @JsNullable @JsOptional Double updateInterval) { this.firstRow = firstRow; this.lastRow = lastRow; this.columns = columns != null ? Js.uncheckedCast(columns.slice()) : visibleColumns; @@ -821,7 +853,6 @@ public void setViewport(double firstRow, double lastRow, @JsOptional JsArray

getViewportData() { LazyPromise promise = new LazyPromise<>(); @@ -836,7 +867,6 @@ public Promise getViewportData() { return promise.asPromise(); } - @JsMethod public void close() { JsLog.debug("Closing tree table", this); @@ -874,7 +904,6 @@ public void close() { } } - @JsMethod @SuppressWarnings("unusable-by-js") public JsArray applySort(Sort[] sort) { for (int i = 0; i < sort.length; i++) { @@ -889,7 +918,6 @@ public JsArray applySort(Sort[] sort) { return getSort(); } - @JsMethod @SuppressWarnings("unusable-by-js") public JsArray applyFilter(FilterCondition[] filter) { nextFilters = Arrays.asList(filter); @@ -900,6 +928,7 @@ public JsArray applyFilter(FilterCondition[] filter) { } @JsProperty + @JsNullable public String getDescription() { return tableDefinition.getAttributes().getDescription(); } @@ -928,7 +957,6 @@ public JsArray getColumns() { return Js.uncheckedCast(visibleColumns); } - @JsMethod public Column findColumn(String key) { Column c = columnsByName.get(key); if (c == null) { @@ -947,7 +975,6 @@ public JsArray getGroupedColumns() { return groupedColumns; } - @JsMethod public Column[] findColumns(String[] keys) { Column[] result = new Column[keys.length]; for (int i = 0; i < keys.length; i++) { @@ -967,7 +994,6 @@ public Column[] findColumns(String[] keys) { * in the resulting table. * */ - @JsMethod public Promise selectDistinct(Column[] columns) { return sourceTable.get().then(t -> { // if this is the first time it is used, it might not be filtered correctly, so check that the filters match @@ -1085,7 +1111,6 @@ public Promise selectDistinct(Column[] columns) { // } // } - @JsMethod public Promise copy() { return connection.newState((c, state, metadata) -> { // connection.getServer().reexport(this.baseTable.getHandle(), state.getHandle(), c); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/tree/enums/JsAggregationOperation.java b/web/client-api/src/main/java/io/deephaven/web/client/api/tree/enums/JsAggregationOperation.java index 44ec4e9de3f..86fec6510c8 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/tree/enums/JsAggregationOperation.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/tree/enums/JsAggregationOperation.java @@ -3,11 +3,11 @@ */ package io.deephaven.web.client.api.tree.enums; -import io.deephaven.web.client.fu.JsLog; -import jsinterop.annotations.JsProperty; +import com.vertispan.tsdefs.annotations.TsTypeDef; import jsinterop.annotations.JsType; @JsType(name = "AggregationOperation", namespace = "dh") +@TsTypeDef(tsType = "string") public class JsAggregationOperation { public static final String COUNT = "Count", COUNT_DISTINCT = "CountDistinct", diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/JsWidget.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/JsWidget.java index 7f3524ff53f..898996b718e 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/JsWidget.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/JsWidget.java @@ -3,16 +3,19 @@ */ package io.deephaven.web.client.api.widget; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.Uint8Array; import elemental2.promise.Promise; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.object_pb.FetchObjectResponse; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.ticket_pb.Ticket; import io.deephaven.web.client.api.WorkerConnection; import jsinterop.annotations.JsFunction; -import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsMethod; import jsinterop.annotations.JsProperty; +@TsInterface +@TsName(namespace = "dh", name = "Widget") public class JsWidget { private final WorkerConnection connection; private final WidgetFetch fetch; @@ -36,7 +39,6 @@ public JsWidget(WorkerConnection connection, WidgetFetch fetch) { this.fetch = fetch; } - @JsIgnore public Promise refetch() { return new Promise<>((resolve, reject) -> { fetch.fetch((err, response, ticket) -> { @@ -51,7 +53,6 @@ public Promise refetch() { }); } - @JsIgnore public Ticket getTicket() { return ticket; } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/JsWidgetExportedObject.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/JsWidgetExportedObject.java index 4f8944dc5b6..b079e688b8b 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/JsWidgetExportedObject.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/JsWidgetExportedObject.java @@ -3,6 +3,8 @@ */ package io.deephaven.web.client.api.widget; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.promise.Promise; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.table_pb.ExportedTableCreationResponse; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.ticket_pb.TypedTicket; @@ -11,10 +13,13 @@ import io.deephaven.web.client.api.WorkerConnection; import io.deephaven.web.client.api.console.JsVariableChanges; import io.deephaven.web.client.api.console.JsVariableDefinition; +import io.deephaven.web.client.api.console.JsVariableType; import io.deephaven.web.client.state.ClientTableState; import jsinterop.annotations.JsMethod; import jsinterop.annotations.JsProperty; +@TsInterface +@TsName(namespace = "dh", name = "WidgetExportedObject") public class JsWidgetExportedObject { private final WorkerConnection connection; @@ -32,7 +37,7 @@ public String getType() { @JsMethod public Promise fetch() { - if (getType().equals(JsVariableChanges.TABLE)) { + if (getType().equals(JsVariableType.TABLE)) { return Callbacks.grpcUnaryPromise(c -> { connection.tableServiceClient().getExportedTableCreationResponse(ticket.getTicket(), connection.metadata(), diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/calendar/JsBusinessCalendar.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/calendar/JsBusinessCalendar.java index 55af3a5c628..5c9dc54ae58 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/calendar/JsBusinessCalendar.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/calendar/JsBusinessCalendar.java @@ -3,6 +3,8 @@ */ package io.deephaven.web.client.api.widget.calendar; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.JsArray; import elemental2.core.JsObject; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.figuredescriptor.BusinessCalendarDescriptor; @@ -10,6 +12,8 @@ import io.deephaven.web.client.api.widget.calendar.enums.JsDayOfWeek; import jsinterop.annotations.JsProperty; +@TsInterface +@TsName(namespace = "dh.calendar", name = "BusinessCalendar") public class JsBusinessCalendar { private final BusinessCalendarDescriptor businessCalendarDescriptor; private final JsTimeZone timeZone; diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/calendar/JsBusinessPeriod.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/calendar/JsBusinessPeriod.java index 6f47634eb0c..7f22976e4a3 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/calendar/JsBusinessPeriod.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/calendar/JsBusinessPeriod.java @@ -3,9 +3,13 @@ */ package io.deephaven.web.client.api.widget.calendar; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.figuredescriptor.businesscalendardescriptor.BusinessPeriod; import jsinterop.annotations.JsProperty; +@TsInterface +@TsName(namespace = "dh.calendar", name = "BusinessPeriod") public class JsBusinessPeriod { private final BusinessPeriod businessPeriod; diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/calendar/JsHoliday.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/calendar/JsHoliday.java index 016956bfe4b..790d0412ad7 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/calendar/JsHoliday.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/calendar/JsHoliday.java @@ -3,12 +3,17 @@ */ package io.deephaven.web.client.api.widget.calendar; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.JsArray; import elemental2.core.JsObject; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.figuredescriptor.businesscalendardescriptor.Holiday; import io.deephaven.web.client.api.LocalDateWrapper; +import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsProperty; +@TsInterface +@TsName(namespace = "dh.calendar", name = "Holiday") public class JsHoliday { private final LocalDateWrapper date; private final JsArray businessPeriods; diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/calendar/enums/JsDayOfWeek.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/calendar/enums/JsDayOfWeek.java index facfc778177..b1c4f1e4a4c 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/calendar/enums/JsDayOfWeek.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/calendar/enums/JsDayOfWeek.java @@ -3,12 +3,14 @@ */ package io.deephaven.web.client.api.widget.calendar.enums; +import com.vertispan.tsdefs.annotations.TsTypeDef; import elemental2.core.JsObject; import jsinterop.annotations.JsMethod; import jsinterop.annotations.JsType; @JsType(name = "DayOfWeek", namespace = "dh.calendar") @SuppressWarnings("unusable-by-js") +@TsTypeDef(tsType = "string", name = "DayOfWeekType") public class JsDayOfWeek { public static final String SUNDAY = "SUNDAY"; public static final String MONDAY = "MONDAY"; diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/ChartData.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/ChartData.java index 63df88cdb1e..ccad9b08cb4 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/ChartData.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/ChartData.java @@ -35,10 +35,7 @@ public ChartData(JsTable table) { this.table = table; } - public void update(Object eventDetail) { - assert eventDetail instanceof UpdateEventData : "update() can only take table subscription event instances"; - - UpdateEventData tableData = (UpdateEventData) eventDetail; + public void update(UpdateEventData tableData) { Iterator addedIterator = tableData.getAdded().getRange().rangeIterator(); Iterator removedIterator = tableData.getRemoved().getRange().rangeIterator(); Iterator modifiedIterator = tableData.getModified().getRange().rangeIterator(); @@ -127,7 +124,7 @@ public void update(Object eventDetail) { } if (JsSettings.isDevMode()) { - assert ((UpdateEventData) eventDetail).getRows().length == indexes.length; + assert tableData.getRows().length == indexes.length; assert cachedData.values().stream().flatMap(m -> m.values().stream()) .allMatch(arr -> arr.length == indexes.length); assert cachedData.values().stream().flatMap(m -> m.values().stream()).allMatch(arr -> arr diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/DataUpdateEvent.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/DataUpdateEvent.java index 218a564baee..4656a1ef632 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/DataUpdateEvent.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/DataUpdateEvent.java @@ -3,6 +3,8 @@ */ package io.deephaven.web.client.api.widget.plot; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; import elemental2.core.JsArray; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.figuredescriptor.SourceDescriptor; import io.deephaven.web.client.api.TableData; @@ -14,6 +16,8 @@ import java.util.Arrays; +@TsInterface +@TsName(name = "FigureDataUpdatedEvent", namespace = "dh.plot") public class DataUpdateEvent { public static final DataUpdateEvent empty(JsSeries... series) { diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/DownsampleOptions.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/DownsampleOptions.java index 3db1a3e5ff5..9316e528d42 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/DownsampleOptions.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/DownsampleOptions.java @@ -6,7 +6,7 @@ import jsinterop.annotations.JsType; @JsType(namespace = "dh.plot") -public final class DownsampleOptions { +public class DownsampleOptions { /** * Max number of items in the series before DEFAULT will not attempt to load the series without downsampling. Above * this size if downsample fails or is not applicable, the series won't be loaded unless DISABLE is passed to diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsAxis.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsAxis.java index 88cc281b789..b3da74909c6 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsAxis.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsAxis.java @@ -3,15 +3,22 @@ */ package io.deephaven.web.client.api.widget.plot; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; +import com.vertispan.tsdefs.annotations.TsTypeRef; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.figuredescriptor.AxisDescriptor; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.figuredescriptor.BusinessCalendarDescriptor; import io.deephaven.web.client.api.i18n.JsDateTimeFormat; import io.deephaven.web.client.api.widget.calendar.JsBusinessCalendar; +import io.deephaven.web.client.api.widget.plot.enums.JsAxisFormatType; +import io.deephaven.web.client.api.widget.plot.enums.JsAxisPosition; +import io.deephaven.web.client.api.widget.plot.enums.JsAxisType; import io.deephaven.web.client.fu.JsLog; import jsinterop.annotations.*; import jsinterop.base.Js; -@JsType +@TsInterface +@TsName(namespace = "dh.plot", name = "Axis") public class JsAxis { private final AxisDescriptor axis; private final JsFigure jsFigure; @@ -21,7 +28,6 @@ public class JsAxis { private Long min; private Long max; - @JsIgnore public JsAxis(AxisDescriptor descriptor, JsFigure jsFigure) { this.axis = descriptor; this.jsFigure = jsFigure; @@ -45,19 +51,19 @@ public String getId() { } @JsProperty - @SuppressWarnings("unusable-by-js") + @TsTypeRef(JsAxisFormatType.class) public int getFormatType() { return axis.getFormatType(); } @JsProperty - @SuppressWarnings("unusable-by-js") + @TsTypeRef(JsAxisType.class) public int getType() { return axis.getType(); } @JsProperty - @SuppressWarnings("unusable-by-js") + @TsTypeRef(JsAxisPosition.class) public int getPosition() { return axis.getPosition(); } @@ -89,6 +95,7 @@ public String getTicksFont() { // } @JsProperty + @JsNullable public String getFormatPattern() { if (axis.hasFormatPattern()) { return axis.getFormatPattern(); @@ -127,8 +134,12 @@ public int getMinorTickCount() { } @JsProperty - public double getGapBetweenMajorTicks() { - return axis.getGapBetweenMajorTicks(); + @JsNullable + public Double getGapBetweenMajorTicks() { + if (axis.hasGapBetweenMajorTicks()) { + return axis.getGapBetweenMajorTicks(); + } + return null; } @JsProperty @@ -158,7 +169,8 @@ public boolean isTimeAxis() { } @JsMethod - public void range(@JsOptional Double pixelCount, @JsOptional Object min, @JsOptional Object max) { + public void range(@JsOptional @JsNullable Double pixelCount, @JsOptional @JsNullable Object min, + @JsOptional @JsNullable Object max) { if (pixelCount == null || !Js.typeof(Js.asAny(pixelCount)).equals("number")) { if (this.pixels != null) { JsLog.warn("Turning off downsampling on a chart where it is running is not currently supported"); @@ -193,7 +205,6 @@ public void range(@JsOptional Double pixelCount, @JsOptional Object min, @JsOpti jsFigure.updateDownsampleRange(axis, this.pixels, this.min, this.max); } - @JsIgnore public AxisDescriptor getDescriptor() { return this.axis; } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsAxisDescriptor.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsAxisDescriptor.java index 5c30dfabb57..f66cad81201 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsAxisDescriptor.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsAxisDescriptor.java @@ -12,8 +12,11 @@ @JsType(name = "AxisDescriptor", namespace = "dh.plot") public class JsAxisDescriptor { + // TODO (deephaven-core#3442) change to some kind of String+int union type public String formatType; + // TODO (deephaven-core#3442) change to some kind of String+int union type public String type; + // TODO (deephaven-core#3442) change to some kind of String+int union type public String position; public boolean log = false; diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsChart.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsChart.java index 8ec888d6628..9aee786d86a 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsChart.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsChart.java @@ -3,11 +3,14 @@ */ package io.deephaven.web.client.api.widget.plot; +import com.vertispan.tsdefs.annotations.TsTypeRef; import elemental2.core.JsArray; import elemental2.core.JsObject; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.figuredescriptor.ChartDescriptor; import io.deephaven.web.client.api.HasEventHandling; +import io.deephaven.web.client.api.widget.plot.enums.JsChartType; import jsinterop.annotations.JsIgnore; +import jsinterop.annotations.JsNullable; import jsinterop.annotations.JsProperty; import jsinterop.annotations.JsType; import jsinterop.base.Js; @@ -64,12 +67,13 @@ public int getRowspan() { } @JsProperty - @SuppressWarnings("unusable-by-js") + @TsTypeRef(JsChartType.class) public int getChartType() { return descriptor.getChartType(); } @JsProperty + @JsNullable public String getTitle() { if (descriptor.hasTitle()) { return descriptor.getTitle(); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsChartDescriptor.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsChartDescriptor.java index a9569515694..4cf9b838fd0 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsChartDescriptor.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsChartDescriptor.java @@ -7,6 +7,7 @@ import io.deephaven.web.client.fu.JsData; import jsinterop.annotations.JsConstructor; import jsinterop.annotations.JsIgnore; +import jsinterop.annotations.JsNullable; import jsinterop.annotations.JsType; import jsinterop.base.Js; import jsinterop.base.JsPropertyMap; @@ -16,22 +17,35 @@ @JsType(name = "ChartDescriptor", namespace = "dh.plot") public class JsChartDescriptor { + @JsNullable public int colspan; + @JsNullable public int rowspan; + @JsNullable public JsArray series = new JsArray<>(); + @JsNullable public JsArray axes = new JsArray<>(); + // TODO (deephaven-core#3442) change to some kind of String+int union type + @JsNullable public String chartType; + @JsNullable public String title; + @JsNullable public String titleFont; + @JsNullable public String titleColor; + @JsNullable public boolean showLegend; + @JsNullable public String legendFont; + @JsNullable public String legendColor; + @JsNullable public boolean is3d; @JsConstructor diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsFigure.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsFigure.java index 0e4f8faf393..5acca9c3f26 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsFigure.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsFigure.java @@ -17,7 +17,7 @@ import io.deephaven.web.client.api.JsPartitionedTable; import io.deephaven.web.client.api.JsTable; import io.deephaven.web.client.api.WorkerConnection; -import io.deephaven.web.client.api.console.JsVariableChanges; +import io.deephaven.web.client.api.console.JsVariableType; import io.deephaven.web.client.api.lifecycle.HasLifecycle; import io.deephaven.web.client.api.widget.JsWidget; import io.deephaven.web.client.fu.JsLog; @@ -25,6 +25,7 @@ import io.deephaven.web.client.state.ClientTableState; import io.deephaven.web.shared.fu.JsBiConsumer; import jsinterop.annotations.JsIgnore; +import jsinterop.annotations.JsNullable; import jsinterop.annotations.JsOptional; import jsinterop.annotations.JsProperty; import jsinterop.annotations.JsType; @@ -86,9 +87,9 @@ public class FigureFetchError { Object error; @JsProperty - JsArray errors; + JsArray errors; - FigureFetchError(Object error, JsArray errors) { + FigureFetchError(Object error, JsArray errors) { this.error = error; this.errors = errors; } @@ -216,6 +217,7 @@ public void reconnect() { @JsProperty + @JsNullable public String getTitle() { if (descriptor.hasTitle()) { return descriptor.getTitle(); @@ -688,7 +690,7 @@ public Promise fetch(JsFigure figure, FetchObjectResponse response) { int nextPartitionedTableIndex = 0; for (int i = 0; i < response.getTypedExportIdList().length; i++) { TypedTicket ticket = response.getTypedExportIdList().getAt(i); - if (ticket.getType().equals(JsVariableChanges.TABLE)) { + if (ticket.getType().equals(JsVariableType.TABLE)) { // Note that creating a CTS like this means we can't actually refetch it, but that's okay, we can't // reconnect in this way without refetching the entire figure anyway. int tableIndex = nextTableIndex++; @@ -705,7 +707,7 @@ public Promise fetch(JsFigure figure, FetchObjectResponse response) { tables[tableIndex] = table; return Promise.resolve(table); }); - } else if (ticket.getType().equals(JsVariableChanges.PARTITIONEDTABLE)) { + } else if (ticket.getType().equals(JsVariableType.PARTITIONEDTABLE)) { int partitionedTableIndex = nextPartitionedTableIndex++; promises[i] = Callbacks.grpcUnaryPromise(c -> { FetchObjectRequest partitionedTableRequest = new FetchObjectRequest(); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsFigureFactory.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsFigureFactory.java index 906cef0ddab..3ffd54794fa 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsFigureFactory.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsFigureFactory.java @@ -3,6 +3,7 @@ */ package io.deephaven.web.client.api.widget.plot; +import com.vertispan.tsdefs.annotations.TsTypeRef; import elemental2.core.JsArray; import elemental2.dom.CustomEventInit; import elemental2.promise.Promise; @@ -22,7 +23,7 @@ public class JsFigureFactory { @JsMethod(namespace = "dh.plot.Figure", name = "create") - public static Promise create(Object config) { + public static Promise create(@TsTypeRef(JsFigureDescriptor.class) Object config) { if (config instanceof JsFigureDescriptor) { return create((JsFigureDescriptor) config); } else { diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsMultiSeries.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsMultiSeries.java index 687826b4c92..7f585b0f4a7 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsMultiSeries.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsMultiSeries.java @@ -3,16 +3,22 @@ */ package io.deephaven.web.client.api.widget.plot; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; +import com.vertispan.tsdefs.annotations.TsTypeRef; import elemental2.dom.CustomEvent; import elemental2.dom.CustomEventInit; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.figuredescriptor.*; import io.deephaven.web.client.api.JsPartitionedTable; +import io.deephaven.web.client.api.widget.plot.enums.JsSeriesPlotStyle; import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsProperty; import java.util.Collections; import java.util.Map; +@TsInterface +@TsName(name = "MultiSeries", namespace = "dh.plot") public class JsMultiSeries { private final MultiSeriesDescriptor descriptor; private final JsFigure figure; @@ -27,7 +33,6 @@ public JsMultiSeries(MultiSeriesDescriptor descriptor, JsFigure figure, Map plotHandlesToPartitionedTables) { descriptor.getDataSourcesList().asList().stream().mapToInt(MultiSeriesSourceDescriptor::getPartitionedTableId) .distinct() @@ -127,6 +132,7 @@ private double getOrDefault(String name, DoubleMapWithDefault map) { } @JsProperty + @TsTypeRef(JsSeriesPlotStyle.class) public int getPlotStyle() { return descriptor.getPlotStyle(); } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsSeries.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsSeries.java index 395ad1e925c..9d703ab3464 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsSeries.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsSeries.java @@ -3,12 +3,16 @@ */ package io.deephaven.web.client.api.widget.plot; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsTypeRef; import elemental2.core.JsObject; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.figuredescriptor.SeriesDescriptor; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.figuredescriptor.SourceDescriptor; import io.deephaven.web.client.api.JsPartitionedTable; import io.deephaven.web.client.api.JsTable; +import io.deephaven.web.client.api.widget.plot.enums.JsSeriesPlotStyle; import jsinterop.annotations.JsIgnore; +import jsinterop.annotations.JsNullable; import jsinterop.annotations.JsOptional; import jsinterop.annotations.JsProperty; import jsinterop.annotations.JsType; @@ -16,7 +20,8 @@ import java.util.Arrays; import java.util.Map; -@JsType +@TsInterface +@JsType(namespace = "dh.plot", name = "Series") public class JsSeries { private final SeriesDescriptor descriptor; @@ -103,7 +108,7 @@ public boolean isSubscribed() { } @JsProperty - @SuppressWarnings("unusable-by-js") + @TsTypeRef(JsSeriesPlotStyle.class) public int getPlotStyle() { return descriptor.getPlotStyle(); } @@ -114,6 +119,7 @@ public String getName() { } @JsProperty(name = "isLinesVisible") + @JsNullable public Boolean getLinesVisible() { if (descriptor.hasLinesVisible()) { return descriptor.getLinesVisible(); @@ -122,6 +128,7 @@ public Boolean getLinesVisible() { } @JsProperty(name = "isShapesVisible") + @JsNullable public Boolean getShapesVisible() { if (descriptor.hasShapesVisible()) { return descriptor.getShapesVisible(); @@ -146,6 +153,7 @@ public String getLineColor() { // } @JsProperty + @JsNullable public String getPointLabelFormat() { if (descriptor.hasPointLabelFormat()) { return descriptor.getPointLabelFormat(); @@ -154,6 +162,7 @@ public String getPointLabelFormat() { } @JsProperty + @JsNullable public String getXToolTipPattern() { if (descriptor.hasXToolTipPattern()) { return descriptor.getXToolTipPattern(); @@ -162,6 +171,7 @@ public String getXToolTipPattern() { } @JsProperty + @JsNullable public String getYToolTipPattern() { if (descriptor.hasYToolTipPattern()) { return descriptor.getYToolTipPattern(); @@ -175,6 +185,7 @@ public String getShapeLabel() { } @JsProperty + @JsNullable public Double getShapeSize() { if (descriptor.hasShapeSize()) { return descriptor.getShapeSize(); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsSeriesDescriptor.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsSeriesDescriptor.java index 04872f15fd8..ce082edda0d 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsSeriesDescriptor.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsSeriesDescriptor.java @@ -8,13 +8,13 @@ import jsinterop.annotations.JsConstructor; import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsType; -import jsinterop.base.Js; import jsinterop.base.JsPropertyMap; import java.util.Map; @JsType(name = "SeriesDescriptor", namespace = "dh.plot") public class JsSeriesDescriptor { + // TODO (deephaven-core#3442) change to some kind of String+int union type public String plotStyle; public String name; diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsSourceDescriptor.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsSourceDescriptor.java index 0f2b4a94a0b..bc93dea0dd5 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsSourceDescriptor.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/JsSourceDescriptor.java @@ -18,6 +18,7 @@ public class JsSourceDescriptor { public JsTable table; public String columnName; + // TODO (deephaven-core#3442) change to some kind of String+int union type public String type; @JsConstructor diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/OneClick.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/OneClick.java index 7eba52322bf..b92089ee750 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/OneClick.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/OneClick.java @@ -3,21 +3,28 @@ */ package io.deephaven.web.client.api.widget.plot; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; +import com.vertispan.tsdefs.annotations.TsTypeRef; import elemental2.core.JsArray; import elemental2.core.JsMap; import elemental2.dom.CustomEventInit; import elemental2.promise.Promise; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.figuredescriptor.OneClickDescriptor; +import io.deephaven.web.client.api.Column; import io.deephaven.web.client.api.JsPartitionedTable; import io.deephaven.web.client.api.JsTable; import io.deephaven.web.shared.fu.RemoverFn; import jsinterop.annotations.JsMethod; import jsinterop.annotations.JsProperty; import jsinterop.base.Any; +import jsinterop.base.Js; import jsinterop.base.JsPropertyMap; import java.util.Arrays; +@TsInterface +@TsName(namespace = "dh.plot") public class OneClick { private final JsFigure jsFigure; private final OneClickDescriptor oneClick; @@ -55,13 +62,13 @@ public void setPartitionedTable(JsPartitionedTable partitionedTable) { } @JsProperty - public Object getColumns() { + public Column[] getColumns() { JsPropertyMap[] fakeColumns = new JsPropertyMap[oneClick.getColumnsList().length]; for (int i = 0; i < fakeColumns.length; i++) { fakeColumns[i] = JsPropertyMap.of("name", oneClick.getColumnsList().getAt(i), "type", oneClick.getColumnTypesList().getAt(i)); } - return fakeColumns; + return Js.uncheckedCast(fakeColumns); } // @JsMethod diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/SeriesDataSource.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/SeriesDataSource.java index 2a1775921f1..772c3d87d86 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/SeriesDataSource.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/SeriesDataSource.java @@ -3,13 +3,19 @@ */ package io.deephaven.web.client.api.widget.plot; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; +import com.vertispan.tsdefs.annotations.TsTypeRef; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.figuredescriptor.SourceDescriptor; import io.deephaven.web.client.api.JsTable; +import io.deephaven.web.client.api.widget.plot.enums.JsSourceType; import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsProperty; import java.util.Map; +@TsInterface +@TsName(namespace = "dh.plot") public class SeriesDataSource { private final JsAxis axis; private final SourceDescriptor sourceDescriptor; @@ -37,7 +43,7 @@ public JsAxis getAxis() { } @JsProperty - @SuppressWarnings("unusable-by-js") + @TsTypeRef(JsSourceType.class) public int getType() { return sourceDescriptor.getType(); } @@ -47,11 +53,11 @@ public String getColumnType() { return columnType; } - @JsIgnore public SourceDescriptor getDescriptor() { return sourceDescriptor; } + @TsName(namespace = "dh.plot") public class SeriesDataSourceException extends RuntimeException { private SeriesDataSource source; diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsAxisFormatType.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsAxisFormatType.java index a9cd06b7083..fe12162e35e 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsAxisFormatType.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsAxisFormatType.java @@ -3,11 +3,12 @@ */ package io.deephaven.web.client.api.widget.plot.enums; +import com.vertispan.tsdefs.annotations.TsTypeDef; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.figuredescriptor.AxisDescriptor; import jsinterop.annotations.JsType; -@JsType(name = "AxisFormatType") -@SuppressWarnings("unusable-by-js") +@JsType(name = "AxisFormatType", namespace = "dh.plot") +@TsTypeDef(tsType = "number") public class JsAxisFormatType { public static final int CATEGORY = AxisDescriptor.AxisFormatType.getCATEGORY(); public static final int NUMBER = AxisDescriptor.AxisFormatType.getNUMBER(); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsAxisPosition.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsAxisPosition.java index cd9d70ad667..3bccb13291a 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsAxisPosition.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsAxisPosition.java @@ -3,11 +3,12 @@ */ package io.deephaven.web.client.api.widget.plot.enums; +import com.vertispan.tsdefs.annotations.TsTypeDef; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.figuredescriptor.AxisDescriptor; import jsinterop.annotations.JsType; -@JsType(name = "AxisPosition") -@SuppressWarnings("unusable-by-js") +@JsType(name = "AxisPosition", namespace = "dh.plot") +@TsTypeDef(tsType = "number") public class JsAxisPosition { public static final int TOP = AxisDescriptor.AxisPosition.getTOP(); public static final int BOTTOM = AxisDescriptor.AxisPosition.getBOTTOM(); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsAxisType.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsAxisType.java index b4b4886f427..6b4af1ac6a8 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsAxisType.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsAxisType.java @@ -3,11 +3,12 @@ */ package io.deephaven.web.client.api.widget.plot.enums; +import com.vertispan.tsdefs.annotations.TsTypeDef; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.figuredescriptor.AxisDescriptor; import jsinterop.annotations.JsType; -@JsType(name = "AxisType") -@SuppressWarnings("unusable-by-js") +@JsType(name = "AxisType", namespace = "dh.plot") +@TsTypeDef(tsType = "number") public class JsAxisType { public static final int X = AxisDescriptor.AxisType.getX(); public static final int Y = AxisDescriptor.AxisType.getY(); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsChartType.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsChartType.java index ac6302984a3..a3cef4f7738 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsChartType.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsChartType.java @@ -3,11 +3,12 @@ */ package io.deephaven.web.client.api.widget.plot.enums; +import com.vertispan.tsdefs.annotations.TsTypeDef; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.figuredescriptor.ChartDescriptor; import jsinterop.annotations.JsType; -@JsType(name = "ChartType") -@SuppressWarnings("unusable-by-js") +@JsType(name = "ChartType", namespace = "dh.plot") +@TsTypeDef(tsType = "number") public class JsChartType { public static final int XY = ChartDescriptor.ChartType.getXY(); public static final int PIE = ChartDescriptor.ChartType.getPIE(); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsSeriesPlotStyle.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsSeriesPlotStyle.java index a0f77a19a70..79afe817ea1 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsSeriesPlotStyle.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsSeriesPlotStyle.java @@ -3,11 +3,12 @@ */ package io.deephaven.web.client.api.widget.plot.enums; +import com.vertispan.tsdefs.annotations.TsTypeDef; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.FigureDescriptor; import jsinterop.annotations.JsType; -@JsType(name = "SeriesPlotStyle") -@SuppressWarnings("unusable-by-js") +@JsType(name = "SeriesPlotStyle", namespace = "dh.plot") +@TsTypeDef(tsType = "number") public class JsSeriesPlotStyle { public static final int BAR = FigureDescriptor.SeriesPlotStyle.getBAR(); public static final int STACKED_BAR = FigureDescriptor.SeriesPlotStyle.getSTACKED_BAR(); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsSourceType.java b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsSourceType.java index a551bb1c691..edb1a073397 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsSourceType.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/api/widget/plot/enums/JsSourceType.java @@ -3,11 +3,12 @@ */ package io.deephaven.web.client.api.widget.plot.enums; +import com.vertispan.tsdefs.annotations.TsTypeDef; import io.deephaven.javascript.proto.dhinternal.io.deephaven.proto.console_pb.FigureDescriptor; import jsinterop.annotations.JsType; -@JsType(name = "SourceType") -@SuppressWarnings("unusable-by-js") +@JsType(name = "SourceType", namespace = "dh.plot") +@TsTypeDef(tsType = "number") public class JsSourceType { public static final int X = FigureDescriptor.SourceType.getX(); public static final int Y = FigureDescriptor.SourceType.getY(); @@ -26,5 +27,6 @@ public class JsSourceType { public static final int LABEL = FigureDescriptor.SourceType.getLABEL(); public static final int COLOR = FigureDescriptor.SourceType.getCOLOR(); public static final int PARENT = FigureDescriptor.SourceType.getPARENT(); + public static final int TEXT = FigureDescriptor.SourceType.getTEXT(); public static final int HOVER_TEXT = FigureDescriptor.SourceType.getHOVER_TEXT(); } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/fu/JsIterator.java b/web/client-api/src/main/java/io/deephaven/web/client/fu/JsIterator.java index d3b7de19128..908473223e1 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/fu/JsIterator.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/fu/JsIterator.java @@ -3,11 +3,19 @@ */ package io.deephaven.web.client.fu; -import elemental2.core.JsIIterableResult; +import com.vertispan.tsdefs.annotations.TsInterface; +import com.vertispan.tsdefs.annotations.TsName; +import jsinterop.annotations.JsIgnore; import jsinterop.annotations.JsMethod; +import jsinterop.annotations.JsPackage; +import jsinterop.annotations.JsProperty; +import jsinterop.base.Js; +import jsinterop.base.JsPropertyMap; import java.util.Iterator; +@TsName(namespace = JsPackage.GLOBAL, name = "Iterator") +@TsInterface public class JsIterator { public JsIterator(Iterator wrapped) { @@ -32,4 +40,25 @@ public JsIIterableResult next() { return result; } + + @TsName(name = "IIterableResult", namespace = JsPackage.GLOBAL) + @TsInterface + public interface JsIIterableResult { + @JsIgnore + static JsIIterableResult create() { + return Js.uncheckedCast(JsPropertyMap.of()); + } + + @JsProperty + T getValue(); + + @JsProperty + void setValue(T value); + + @JsProperty + boolean isDone(); + + @JsProperty + void setDone(boolean done); + } } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/ide/IdeConnection.java b/web/client-api/src/main/java/io/deephaven/web/client/ide/IdeConnection.java index 8365aab668e..1a83fd08da9 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/ide/IdeConnection.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/ide/IdeConnection.java @@ -3,6 +3,7 @@ */ package io.deephaven.web.client.ide; +import com.vertispan.tsdefs.annotations.TsTypeRef; import elemental2.core.JsArray; import elemental2.dom.CustomEventInit; import elemental2.promise.Promise; @@ -15,6 +16,7 @@ import io.deephaven.web.client.api.WorkerConnection; import io.deephaven.web.client.api.barrage.stream.ResponseStreamWrapper; import io.deephaven.web.client.api.console.JsVariableChanges; +import io.deephaven.web.client.api.console.JsVariableDescriptor; import io.deephaven.web.client.fu.JsLog; import io.deephaven.web.shared.data.ConnectToken; import io.deephaven.web.shared.fu.JsConsumer; @@ -29,6 +31,8 @@ */ @JsType(namespace = "dh") public class IdeConnection extends QueryConnectable { + @Deprecated + public static final String HACK_CONNECTION_FAILURE = "hack-connection-failure"; public static final String EVENT_DISCONNECT = "disconnect"; public static final String EVENT_RECONNECT = "reconnect"; @@ -108,7 +112,7 @@ public Promise running() { } } - public Promise getObject(JsPropertyMap definitionObject) { + public Promise getObject(@TsTypeRef(JsVariableDescriptor.class) JsPropertyMap definitionObject) { WorkerConnection conn = connection.get(); return onConnected().then(e -> conn.getJsObject(definitionObject)); } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/ide/IdeSession.java b/web/client-api/src/main/java/io/deephaven/web/client/ide/IdeSession.java index 2f76126d37f..6dfd143addf 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/ide/IdeSession.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/ide/IdeSession.java @@ -4,6 +4,7 @@ package io.deephaven.web.client.ide; import com.google.gwt.user.client.Timer; +import com.vertispan.tsdefs.annotations.TsTypeRef; import elemental2.core.JsArray; import elemental2.core.JsSet; import elemental2.dom.CustomEventInit; @@ -15,12 +16,13 @@ import io.deephaven.web.client.api.barrage.stream.BiDiStream; import io.deephaven.web.client.api.console.JsCommandResult; import io.deephaven.web.client.api.console.JsVariableChanges; +import io.deephaven.web.client.api.console.JsVariableDescriptor; +import io.deephaven.web.client.api.console.JsVariableType; import io.deephaven.web.client.api.tree.JsTreeTable; import io.deephaven.web.client.api.widget.plot.JsFigure; import io.deephaven.web.client.fu.CancellablePromise; import io.deephaven.web.client.fu.JsLog; import io.deephaven.web.client.fu.LazyPromise; -import io.deephaven.web.shared.data.LogItem; import io.deephaven.web.shared.fu.JsConsumer; import io.deephaven.web.shared.fu.JsRunnable; import io.deephaven.web.shared.ide.ExecutionHandle; @@ -36,7 +38,7 @@ import java.util.Map; import java.util.function.Supplier; -import static io.deephaven.web.client.api.QueryConnectable.EVENT_TABLE_OPENED; +import static io.deephaven.web.client.api.QueryInfoConstants.EVENT_TABLE_OPENED; /** */ @@ -44,7 +46,8 @@ public class IdeSession extends HasEventHandling { private static final int AUTOCOMPLETE_STREAM_TIMEOUT = 30_000; - public static final String EVENT_COMMANDSTARTED = "commandstarted"; + public static final String EVENT_COMMANDSTARTED = "commandstarted", + EVENT_REQUEST_FAILED = "requestfailed"; private final Ticket result; @@ -92,7 +95,7 @@ public IdeSession( // TODO (deephaven-core#188): improve usage of subscriptions (w.r.t. this optional param) public Promise getTable(String name, @JsOptional Boolean applyPreviewColumns) { - return connection.getVariableDefinition(name, JsVariableChanges.TABLE).then(varDef -> { + return connection.getVariableDefinition(name, JsVariableType.TABLE).then(varDef -> { final Promise table = connection.getTable(varDef, applyPreviewColumns); final CustomEventInit event = CustomEventInit.create(); event.setDetail(table); @@ -102,20 +105,20 @@ public Promise getTable(String name, @JsOptional Boolean applyPreviewCo } public Promise getFigure(String name) { - return connection.getVariableDefinition(name, JsVariableChanges.FIGURE).then(connection::getFigure); + return connection.getVariableDefinition(name, JsVariableType.FIGURE).then(connection::getFigure); } public Promise getTreeTable(String name) { - return connection.getVariableDefinition(name, JsVariableChanges.HIERARCHICALTABLE) + return connection.getVariableDefinition(name, JsVariableType.HIERARCHICALTABLE) .then(connection::getTreeTable); } public Promise getHierarchicalTable(String name) { - return connection.getVariableDefinition(name, JsVariableChanges.HIERARCHICALTABLE) + return connection.getVariableDefinition(name, JsVariableType.HIERARCHICALTABLE) .then(connection::getTreeTable); } - public Promise getObject(JsPropertyMap definitionObject) { + public Promise getObject(@TsTypeRef(JsVariableDescriptor.class) JsPropertyMap definitionObject) { return connection.getJsObject(definitionObject); } diff --git a/web/client-api/src/main/java/io/deephaven/web/client/package-info.java b/web/client-api/src/main/java/io/deephaven/web/client/package-info.java new file mode 100644 index 00000000000..b5e164dda8f --- /dev/null +++ b/web/client-api/src/main/java/io/deephaven/web/client/package-info.java @@ -0,0 +1,4 @@ +@TsModule +package io.deephaven.web.client; + +import com.vertispan.tsdefs.annotations.TsModule; diff --git a/web/client-api/src/main/java/io/deephaven/web/client/state/HasTableBinding.java b/web/client-api/src/main/java/io/deephaven/web/client/state/HasTableBinding.java index 13be5427005..9f69f3ace0c 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/state/HasTableBinding.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/state/HasTableBinding.java @@ -26,7 +26,7 @@ public interface HasTableBinding { void fireEvent(String name); - void fireEvent(String name, CustomEventInit eventInit); + void fireEvent(String name, CustomEventInit eventInit); void setState(ClientTableState appendTo); diff --git a/web/client-api/src/main/java/io/deephaven/web/client/state/TableReviver.java b/web/client-api/src/main/java/io/deephaven/web/client/state/TableReviver.java index 15e8f7c5185..9ec559c44c1 100644 --- a/web/client-api/src/main/java/io/deephaven/web/client/state/TableReviver.java +++ b/web/client-api/src/main/java/io/deephaven/web/client/state/TableReviver.java @@ -177,7 +177,7 @@ public void fireEvent(String name) { @Override public void fireEvent(String name, CustomEventInit e) { switch (name) { - case HasEventHandling.EVENT_REQUEST_FAILED: + case JsTable.EVENT_REQUEST_FAILED: // log this failure JsLog.debug("Revivification failed", e.getDetail()); // From 16e9bda8073464c53542db6b30e0439a640500a8 Mon Sep 17 00:00:00 2001 From: Devin Smith Date: Thu, 6 Apr 2023 11:07:51 -0700 Subject: [PATCH 29/29] Bump parquet-hadoop to 1.13.0 (#3667) --- ParquetHadoop/build.gradle | 3 ++- .../parquet/base/tempfix/ParquetMetadataConverter.java | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ParquetHadoop/build.gradle b/ParquetHadoop/build.gradle index 48461b1a974..a9faf546632 100644 --- a/ParquetHadoop/build.gradle +++ b/ParquetHadoop/build.gradle @@ -18,8 +18,9 @@ tasks.withType(License) { dependencies { // TODO(deephaven-core#3148): LZ4_RAW parquet support - api('org.apache.parquet:parquet-hadoop:1.12.3') + api('org.apache.parquet:parquet-hadoop:1.13.0') + // TODO(deephaven-core#806): Remove dependency on hadoop-common api('org.apache.hadoop:hadoop-common:3.3.3') { // do not take any dependencies of this project, // we just want a few classes (Configuration, Path) for diff --git a/ParquetHadoop/src/main/java/io/deephaven/parquet/base/tempfix/ParquetMetadataConverter.java b/ParquetHadoop/src/main/java/io/deephaven/parquet/base/tempfix/ParquetMetadataConverter.java index a48b9d4434c..c800aebb1f7 100644 --- a/ParquetHadoop/src/main/java/io/deephaven/parquet/base/tempfix/ParquetMetadataConverter.java +++ b/ParquetHadoop/src/main/java/io/deephaven/parquet/base/tempfix/ParquetMetadataConverter.java @@ -19,6 +19,7 @@ package io.deephaven.parquet.base.tempfix; /* +TODO(deephaven-core#901): Remove the hacked ParquetMetadataConverter.java and the need for the ParquetHadoop module. NOTE this only exists for this line, inside addRowGroup Without it the page offset is not being saved properly if (columnMetaData.getDictionaryPageOffset() >= 0) {