X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ceph%2Fsrc%2Fjaegertracing%2Fthrift%2Flib%2Fas3%2Fsrc%2Forg%2Fapache%2Fthrift%2Fprotocol%2FTProtocolUtil.as;fp=ceph%2Fsrc%2Fjaegertracing%2Fthrift%2Flib%2Fas3%2Fsrc%2Forg%2Fapache%2Fthrift%2Fprotocol%2FTProtocolUtil.as;h=0000000000000000000000000000000000000000;hb=20effc670b57271cb089376d6d0800990e5218d5;hp=22877b75b2bd455327354450933c23d62d1d150c;hpb=a71831dadd1e1f3e0fa70405511f65cc33db0498;p=ceph.git diff --git a/ceph/src/jaegertracing/thrift/lib/as3/src/org/apache/thrift/protocol/TProtocolUtil.as b/ceph/src/jaegertracing/thrift/lib/as3/src/org/apache/thrift/protocol/TProtocolUtil.as deleted file mode 100644 index 22877b75b..000000000 --- a/ceph/src/jaegertracing/thrift/lib/as3/src/org/apache/thrift/protocol/TProtocolUtil.as +++ /dev/null @@ -1,148 +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 org.apache.thrift.protocol { - - import org.apache.thrift.TError; - - /** - * Utility class with static methods for interacting with protocol data - * streams. - * - */ - public class TProtocolUtil { - - /** - * The maximum recursive depth the skip() function will traverse before - * throwing a TException. - */ - private static var maxSkipDepth:int = int.MAX_VALUE; - - /** - * Specifies the maximum recursive depth that the skip function will - * traverse before throwing a TException. This is a global setting, so - * any call to skip in this JVM will enforce this value. - * - * @param depth the maximum recursive depth. A value of 2 would allow - * the skip function to skip a structure or collection with basic children, - * but it would not permit skipping a struct that had a field containing - * a child struct. A value of 1 would only allow skipping of simple - * types and empty structs/collections. - */ - public function setMaxSkipDepth(depth:int):void { - maxSkipDepth = depth; - } - - /** - * Skips over the next data element from the provided input TProtocol object. - * - * @param prot the protocol object to read from - * @param type the next value will be intepreted as this TType value. - */ - public static function skip(prot:TProtocol, type:int):void { - skipMaxDepth(prot, type, maxSkipDepth); - } - - /** - * Skips over the next data element from the provided input TProtocol object. - * - * @param prot the protocol object to read from - * @param type the next value will be intepreted as this TType value. - * @param maxDepth this function will only skip complex objects to this - * recursive depth, to prevent Java stack overflow. - */ - public static function skipMaxDepth(prot:TProtocol, type:int, maxDepth:int):void { - if (maxDepth <= 0) { - throw new TError("Maximum skip depth exceeded"); - } - switch (type) { - case TType.BOOL: { - prot.readBool(); - break; - } - case TType.BYTE: { - prot.readByte(); - break; - } - case TType.I16: { - prot.readI16(); - break; - } - case TType.I32: { - prot.readI32(); - break; - } - /* - case TType.I64: { - prot.readI64(); - break; - } - */ - case TType.DOUBLE: { - prot.readDouble(); - break; - } - case TType.STRING: { - prot.readBinary(); - break; - } - case TType.STRUCT: { - prot.readStructBegin(); - while (true) { - var field:TField = prot.readFieldBegin(); - if (field.type == TType.STOP) { - break; - } - skipMaxDepth(prot, field.type, maxDepth - 1); - prot.readFieldEnd(); - } - prot.readStructEnd(); - break; - } - case TType.MAP: { - var map:TMap = prot.readMapBegin(); - for (var i:int = 0; i < map.size; i++) { - skipMaxDepth(prot, map.keyType, maxDepth - 1); - skipMaxDepth(prot, map.valueType, maxDepth - 1); - } - prot.readMapEnd(); - break; - } - case TType.SET: { - var set:TSet = prot.readSetBegin(); - for (var j:int = 0; j < set.size; j++) { - skipMaxDepth(prot, set.elemType, maxDepth - 1); - } - prot.readSetEnd(); - break; - } - case TType.LIST: { - var list:TList = prot.readListBegin(); - for (var k:int = 0; k < list.size; k++) { - skipMaxDepth(prot, list.elemType, maxDepth - 1); - } - prot.readListEnd(); - break; - } - default: - throw new TProtocolError(TProtocolError.INVALID_DATA, "invalid data"); - } - } - } -}