]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/jaegertracing/thrift/lib/as3/src/org/apache/thrift/protocol/TProtocolUtil.as
import quincy beta 17.1.0
[ceph.git] / ceph / src / jaegertracing / thrift / lib / as3 / src / org / apache / thrift / protocol / TProtocolUtil.as
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 (file)
index 22877b7..0000000
+++ /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");
-      }
-    }
-  }
-}