Rev 30 | Blame | Compare with Previous | Last modification | View Log | RSS feed
## 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.#class TType:STOP = 0VOID = 1BOOL = 2BYTE = 3I08 = 3DOUBLE = 4I16 = 6I32 = 8I64 = 10STRING = 11UTF7 = 11STRUCT = 12MAP = 13SET = 14LIST = 15UTF8 = 16UTF16 = 17class TMessageType:CALL = 1REPLY = 2EXCEPTION = 3ONEWAY = 4class TProcessor:"""Base class for procsessor, which works on two streams."""def process(iprot, oprot):passclass TException(Exception):"""Base class for all thrift exceptions."""def __init__(self, message=None):Exception.__init__(self, message)self.message = messageclass TApplicationException(TException):"""Application level thrift exceptions."""UNKNOWN = 0UNKNOWN_METHOD = 1INVALID_MESSAGE_TYPE = 2WRONG_METHOD_NAME = 3BAD_SEQUENCE_ID = 4MISSING_RESULT = 5def __init__(self, type=UNKNOWN, message=None):TException.__init__(self, message)self.type = typedef __str__(self):if self.message:return self.messageelif self.type == UNKNOWN_METHOD:return 'Unknown method'elif self.type == INVALID_MESSAGE_TYPE:return 'Invalid message type'elif self.type == WRONG_METHOD_NAME:return 'Wrong method name'elif self.type == BAD_SEQUENCE_ID:return 'Bad sequence ID'elif self.type == MISSING_RESULT:return 'Missing result'else:return 'Default (unknown) TApplicationException'def read(self, iprot):iprot.readStructBegin()while True:(fname, ftype, fid) = iprot.readFieldBegin()if ftype == TType.STOP:breakif fid == 1:if ftype == TType.STRING:self.message = iprot.readString();else:iprot.skip(ftype)elif fid == 2:if ftype == TType.I32:self.type = iprot.readI32();else:iprot.skip(ftype)else:iprot.skip(ftype)iprot.readFieldEnd()iprot.readStructEnd()def write(self, oprot):oprot.writeStructBegin('TApplicationException')if self.message != None:oprot.writeFieldBegin('message', TType.STRING, 1)oprot.writeString(self.message)oprot.writeFieldEnd()if self.type != None:oprot.writeFieldBegin('type', TType.I32, 2)oprot.writeI32(self.type)oprot.writeFieldEnd()oprot.writeFieldStop()oprot.writeStructEnd()