summaryrefslogtreecommitdiff
path: root/vendor/packaged/thrift/src/Protocol/TProtocolDecorator.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/packaged/thrift/src/Protocol/TProtocolDecorator.php')
-rw-r--r--vendor/packaged/thrift/src/Protocol/TProtocolDecorator.php285
1 files changed, 285 insertions, 0 deletions
diff --git a/vendor/packaged/thrift/src/Protocol/TProtocolDecorator.php b/vendor/packaged/thrift/src/Protocol/TProtocolDecorator.php
new file mode 100644
index 000000000..a85e0b8e5
--- /dev/null
+++ b/vendor/packaged/thrift/src/Protocol/TProtocolDecorator.php
@@ -0,0 +1,285 @@
+<?php
+/*
+ * 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 thrift.protocol
+ */
+
+namespace Thrift\Protocol;
+
+use Thrift\Exception\TException;
+
+/**
+ * <code>TProtocolDecorator</code> forwards all requests to an enclosed
+ * <code>TProtocol</code> instance, providing a way to author concise
+ * concrete decorator subclasses. While it has no abstract methods, it
+ * is marked abstract as a reminder that by itself, it does not modify
+ * the behaviour of the enclosed <code>TProtocol</code>.
+ *
+ * @package Thrift\Protocol
+ */
+abstract class TProtocolDecorator extends TProtocol
+{
+ /**
+ * Instance of protocol, to which all operations will be forwarded.
+ *
+ * @var TProtocol
+ */
+ private $concreteProtocol_;
+
+ /**
+ * Constructor of <code>TProtocolDecorator</code> class.
+ * Encloses the specified protocol.
+ *
+ * @param TProtocol $protocol All operations will be forward to this instance. Must be non-null.
+ */
+ protected function __construct(TProtocol $protocol)
+ {
+ parent::__construct($protocol->getTransport());
+ $this->concreteProtocol_ = $protocol;
+ }
+
+ /**
+ * Writes the message header.
+ *
+ * @param string $name Function name
+ * @param int $type message type TMessageType::CALL or TMessageType::REPLY
+ * @param int $seqid The sequence id of this message
+ */
+ public function writeMessageBegin($name, $type, $seqid)
+ {
+ return $this->concreteProtocol_->writeMessageBegin($name, $type, $seqid);
+ }
+
+ /**
+ * Closes the message.
+ */
+ public function writeMessageEnd()
+ {
+ return $this->concreteProtocol_->writeMessageEnd();
+ }
+
+ /**
+ * Writes a struct header.
+ *
+ * @param string $name Struct name
+ *
+ * @throws TException on write error
+ * @return int How many bytes written
+ */
+ public function writeStructBegin($name)
+ {
+ return $this->concreteProtocol_->writeStructBegin($name);
+ }
+
+ /**
+ * Close a struct.
+ *
+ * @throws TException on write error
+ * @return int How many bytes written
+ */
+ public function writeStructEnd()
+ {
+ return $this->concreteProtocol_->writeStructEnd();
+ }
+
+ public function writeFieldBegin($fieldName, $fieldType, $fieldId)
+ {
+ return $this->concreteProtocol_->writeFieldBegin($fieldName, $fieldType, $fieldId);
+ }
+
+ public function writeFieldEnd()
+ {
+ return $this->concreteProtocol_->writeFieldEnd();
+ }
+
+ public function writeFieldStop()
+ {
+ return $this->concreteProtocol_->writeFieldStop();
+ }
+
+ public function writeMapBegin($keyType, $valType, $size)
+ {
+ return $this->concreteProtocol_->writeMapBegin($keyType, $valType, $size);
+ }
+
+ public function writeMapEnd()
+ {
+ return $this->concreteProtocol_->writeMapEnd();
+ }
+
+ public function writeListBegin($elemType, $size)
+ {
+ return $this->concreteProtocol_->writeListBegin($elemType, $size);
+ }
+
+ public function writeListEnd()
+ {
+ return $this->concreteProtocol_->writeListEnd();
+ }
+
+ public function writeSetBegin($elemType, $size)
+ {
+ return $this->concreteProtocol_->writeSetBegin($elemType, $size);
+ }
+
+ public function writeSetEnd()
+ {
+ return $this->concreteProtocol_->writeSetEnd();
+ }
+
+ public function writeBool($bool)
+ {
+ return $this->concreteProtocol_->writeBool($bool);
+ }
+
+ public function writeByte($byte)
+ {
+ return $this->concreteProtocol_->writeByte($byte);
+ }
+
+ public function writeI16($i16)
+ {
+ return $this->concreteProtocol_->writeI16($i16);
+ }
+
+ public function writeI32($i32)
+ {
+ return $this->concreteProtocol_->writeI32($i32);
+ }
+
+ public function writeI64($i64)
+ {
+ return $this->concreteProtocol_->writeI64($i64);
+ }
+
+ public function writeDouble($dub)
+ {
+ return $this->concreteProtocol_->writeDouble($dub);
+ }
+
+ public function writeString($str)
+ {
+ return $this->concreteProtocol_->writeString($str);
+ }
+
+ /**
+ * Reads the message header
+ *
+ * @param string $name Function name
+ * @param int $type message type TMessageType::CALL or TMessageType::REPLY
+ * @param int $seqid The sequence id of this message
+ */
+ public function readMessageBegin(&$name, &$type, &$seqid)
+ {
+ return $this->concreteProtocol_->readMessageBegin($name, $type, $seqid);
+ }
+
+ /**
+ * Read the close of message
+ */
+ public function readMessageEnd()
+ {
+ return $this->concreteProtocol_->readMessageEnd();
+ }
+
+ public function readStructBegin(&$name)
+ {
+ return $this->concreteProtocol_->readStructBegin($name);
+ }
+
+ public function readStructEnd()
+ {
+ return $this->concreteProtocol_->readStructEnd();
+ }
+
+ public function readFieldBegin(&$name, &$fieldType, &$fieldId)
+ {
+ return $this->concreteProtocol_->readFieldBegin($name, $fieldType, $fieldId);
+ }
+
+ public function readFieldEnd()
+ {
+ return $this->concreteProtocol_->readFieldEnd();
+ }
+
+ public function readMapBegin(&$keyType, &$valType, &$size)
+ {
+ $this->concreteProtocol_->readMapBegin($keyType, $valType, $size);
+ }
+
+ public function readMapEnd()
+ {
+ return $this->concreteProtocol_->readMapEnd();
+ }
+
+ public function readListBegin(&$elemType, &$size)
+ {
+ $this->concreteProtocol_->readListBegin($elemType, $size);
+ }
+
+ public function readListEnd()
+ {
+ return $this->concreteProtocol_->readListEnd();
+ }
+
+ public function readSetBegin(&$elemType, &$size)
+ {
+ return $this->concreteProtocol_->readSetBegin($elemType, $size);
+ }
+
+ public function readSetEnd()
+ {
+ return $this->concreteProtocol_->readSetEnd();
+ }
+
+ public function readBool(&$bool)
+ {
+ return $this->concreteProtocol_->readBool($bool);
+ }
+
+ public function readByte(&$byte)
+ {
+ return $this->concreteProtocol_->readByte($byte);
+ }
+
+ public function readI16(&$i16)
+ {
+ return $this->concreteProtocol_->readI16($i16);
+ }
+
+ public function readI32(&$i32)
+ {
+ return $this->concreteProtocol_->readI32($i32);
+ }
+
+ public function readI64(&$i64)
+ {
+ return $this->concreteProtocol_->readI64($i64);
+ }
+
+ public function readDouble(&$dub)
+ {
+ return $this->concreteProtocol_->readDouble($dub);
+ }
+
+ public function readString(&$str)
+ {
+ return $this->concreteProtocol_->readString($str);
+ }
+}