#
# Copyright 2019 GridGain Systems, Inc. and Contributors.
#
# Licensed under the GridGain Community Edition License (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.gridgain.com/products/software/community-edition/gridgain-community-edition-license
#
# 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.
#
"""
Named constants that represents request operation codes. These are the way
of telling GridGain server what one want to do in their request.
"""

OP_SUCCESS = 0

OP_RESOURCE_CLOSE = 0

OP_CACHE_GET = 1000
OP_CACHE_PUT = 1001
OP_CACHE_PUT_IF_ABSENT = 1002
OP_CACHE_GET_ALL = 1003
OP_CACHE_PUT_ALL = 1004
OP_CACHE_GET_AND_PUT = 1005
OP_CACHE_GET_AND_REPLACE = 1006
OP_CACHE_GET_AND_REMOVE = 1007
OP_CACHE_GET_AND_PUT_IF_ABSENT = 1008
OP_CACHE_REPLACE = 1009
OP_CACHE_REPLACE_IF_EQUALS = 1010
OP_CACHE_CONTAINS_KEY = 1011
OP_CACHE_CONTAINS_KEYS = 1012
OP_CACHE_CLEAR = 1013
OP_CACHE_CLEAR_KEY = 1014
OP_CACHE_CLEAR_KEYS = 1015
OP_CACHE_REMOVE_KEY = 1016
OP_CACHE_REMOVE_IF_EQUALS = 1017
OP_CACHE_REMOVE_KEYS = 1018
OP_CACHE_REMOVE_ALL = 1019
OP_CACHE_GET_SIZE = 1020
OP_CACHE_LOCAL_PEEK = 1021

OP_CACHE_GET_NAMES = 1050
OP_CACHE_CREATE_WITH_NAME = 1051
OP_CACHE_GET_OR_CREATE_WITH_NAME = 1052
OP_CACHE_CREATE_WITH_CONFIGURATION = 1053
OP_CACHE_GET_OR_CREATE_WITH_CONFIGURATION = 1054
OP_CACHE_GET_CONFIGURATION = 1055
OP_CACHE_DESTROY = 1056
OP_CACHE_PARTITIONS = 1101

OP_QUERY_SCAN = 2000
OP_QUERY_SCAN_CURSOR_GET_PAGE = 2001
OP_QUERY_SQL = 2002
OP_QUERY_SQL_CURSOR_GET_PAGE = 2003
OP_QUERY_SQL_FIELDS = 2004
OP_QUERY_SQL_FIELDS_CURSOR_GET_PAGE = 2005

P_GET_BINARY_TYPE_NAME = 3000
OP_REGISTER_BINARY_TYPE_NAME = 3001
OP_GET_BINARY_TYPE = 3002
OP_PUT_BINARY_TYPE = 3003
