Overview

Packages

  • None
  • thrift
    • transport

Classes

  • Argument
  • ContainerType
  • FacebookBase
  • FacebookService_aliveSince_args
  • FacebookService_aliveSince_result
  • FacebookService_getCounter_args
  • FacebookService_getCounter_result
  • FacebookService_getCounters_args
  • FacebookService_getCounters_result
  • FacebookService_getCpuProfile_args
  • FacebookService_getCpuProfile_result
  • FacebookService_getLimitedReflection_args
  • FacebookService_getLimitedReflection_result
  • FacebookService_getName_args
  • FacebookService_getName_result
  • FacebookService_getOption_args
  • FacebookService_getOption_result
  • FacebookService_getOptions_args
  • FacebookService_getOptions_result
  • FacebookService_getStatus_args
  • FacebookService_getStatus_result
  • FacebookService_getStatusDetails_args
  • FacebookService_getStatusDetails_result
  • FacebookService_getVersion_args
  • FacebookService_getVersion_result
  • FacebookService_reinitialize_args
  • FacebookService_setOption_args
  • FacebookService_setOption_result
  • FacebookService_shutdown_args
  • FacebookServiceClient
  • FacebookServiceProcessor
  • fb_status
  • Method
  • Service
  • SimpleType
  • TBase
  • TBinaryProtocol
  • TBinaryProtocolAccelerated
  • TBinaryProtocolFactory
  • ThriftType
  • TMessageType
  • TProtocol
  • TType
  • TTypeTag

Interfaces

  • FacebookServiceIf
  • Horde_Thrift
  • TProtocolFactory

Exceptions

  • TApplicationException
  • TException
  • TProtocolException
  • TTransportException

Functions

  • apc_fetch
  • apc_store
  • Overview
  • Package
  • Class
  • Tree
  1: <?php
  2: 
  3: /**
  4:  * Copyright (c) 2006- Facebook
  5:  * Distributed under the Thrift Software License
  6:  *
  7:  * See accompanying file LICENSE or visit the Thrift site at:
  8:  * http://developers.facebook.com/thrift/
  9:  *
 10:  * @package thrift.transport
 11:  * @author Mark Slee <mcslee@facebook.com>
 12:  */
 13: 
 14: /**
 15:  * Transport exceptions
 16:  */
 17: class TTransportException extends TException {
 18: 
 19:   const UNKNOWN = 0;
 20:   const NOT_OPEN = 1;
 21:   const ALREADY_OPEN = 2;
 22:   const TIMED_OUT = 3;
 23:   const END_OF_FILE = 4;
 24: 
 25:   function __construct($message=null, $code=0) {
 26:     parent::__construct($message, $code);
 27:   }
 28: }
 29: 
 30: /**
 31:  * Base interface for a transport agent.
 32:  *
 33:  * @package thrift.transport
 34:  * @author Mark Slee <mcslee@facebook.com>
 35:  */
 36: abstract class TTransport {
 37: 
 38:   /**
 39:    * Whether this transport is open.
 40:    *
 41:    * @return boolean true if open
 42:    */
 43:   public abstract function isOpen();
 44: 
 45:   /**
 46:    * Open the transport for reading/writing
 47:    *
 48:    * @throws TTransportException if cannot open
 49:    */
 50:   public abstract function open();
 51: 
 52:   /**
 53:    * Close the transport.
 54:    */
 55:   public abstract function close();
 56: 
 57:   /**
 58:    * Read some data into the array.
 59:    *
 60:    * @param int    $len How much to read
 61:    * @return string The data that has been read
 62:    * @throws TTransportException if cannot read any more data
 63:    */
 64:   public abstract function read($len);
 65: 
 66:   /**
 67:    * Guarantees that the full amount of data is read.
 68:    *
 69:    * @return string The data, of exact length
 70:    * @throws TTransportException if cannot read data
 71:    */
 72:   public function readAll($len) {
 73:     // return $this->read($len);
 74: 
 75:     $data = '';
 76:     $got = 0;
 77:     while (($got = strlen($data)) < $len) {
 78:       $data .= $this->read($len - $got);
 79:     }
 80:     return $data;
 81:   }
 82: 
 83:   /**
 84:    * Writes the given data out.
 85:    *
 86:    * @param string $buf  The data to write
 87:    * @throws TTransportException if writing fails
 88:    */
 89:   public abstract function write($buf);
 90: 
 91:   /**
 92:    * Flushes any pending data out of a buffer
 93:    *
 94:    * @throws TTransportException if a writing error occurs
 95:    */
 96:   public function flush() {}
 97: }
 98: 
 99: ?>
100: 
API documentation generated by ApiGen