1/* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 20package thrift 21 22// Type constants in the Thrift protocol 23type TType byte 24 25const ( 26 STOP = 0 27 VOID = 1 28 BOOL = 2 29 BYTE = 3 30 I08 = 3 31 DOUBLE = 4 32 I16 = 6 33 I32 = 8 34 I64 = 10 35 STRING = 11 36 UTF7 = 11 37 STRUCT = 12 38 MAP = 13 39 SET = 14 40 LIST = 15 41 UUID = 16 42) 43 44var typeNames = map[int]string{ 45 STOP: "STOP", 46 VOID: "VOID", 47 BOOL: "BOOL", 48 BYTE: "BYTE", 49 DOUBLE: "DOUBLE", 50 I16: "I16", 51 I32: "I32", 52 I64: "I64", 53 STRING: "STRING", 54 STRUCT: "STRUCT", 55 MAP: "MAP", 56 SET: "SET", 57 LIST: "LIST", 58 UUID: "UUID", 59} 60 61func (p TType) String() string { 62 if s, ok := typeNames[int(p)]; ok { 63 return s 64 } 65 return "Unknown" 66} 67