dnl "JAVA" are set to the appropriate commands.
 dnl
 dnl @category Java
-dnl @author David Reiss <dreiss@facebook.com>
 dnl @version 2009-02-09
 dnl @license AllPermissive
 dnl
 
 dnl
 dnl @category InstalledPackages
 dnl @category C
-dnl @author David Reiss <dreiss@facebook.com>
 dnl @version 2007-09-12
 dnl @license AllPermissive
 
 
 dnl
 dnl @category InstalledPackages
 dnl @category C
-dnl @author David Reiss <dreiss@facebook.com>
 dnl @version 2007-09-12
 dnl @license AllPermissive
 
 
 dnl These macros have poor error handling and are poorly documented.
 dnl They are intended only for internal use by the Thrift compiler.
 dnl
-dnl @author David Reiss <dreiss@facebook.com>
 dnl @version 2008-02-20
 dnl @license AllPermissive
 
 
 /**
  * Objective-C code generator.
  *
- * @author Andrew McGeachie <geechorama@gmail.com>, although it was
  * mostly copy/pasting/tweaking from mcslee's work.
  */
 class t_cocoa_generator : public t_oop_generator {
 
 /**
  * C++ code generator. This is legitimacy incarnate.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_cpp_generator : public t_oop_generator {
  public:
 
 /**
  * Erlang code generator.
  *
- * @author
  */
 class t_erl_generator : public t_generator {
  public:
 
  * program to perform the correct actions.
  *
  * @param program The thrift program to compile into C++ source
- * @author Mark Slee <mcslee@facebook.com>
  */
 void t_generator::generate_program() {
   // Initialize the generator
 
  * routines for code generation and contains the top level method that
  * dispatches code generation across various components.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_generator {
  public:
 
 /**
  * Haskell code generator.
  *
- * @author Iain Proctor <iproctor@facebook.com>
  */
 class t_hs_generator : public t_oop_generator {
  public:
 
 /**
  * HTML code generator
  *
- * @author Dave Engberg, although it was
  * mostly copy/pasting/tweaking from mcslee's work.
  */
 class t_html_generator : public t_generator {
 
 /**
  * Java code generator.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_java_generator : public t_oop_generator {
  public:
 
 /**
  * OCaml code generator.
  *
- * @author Iain Proctor <iproctor@facebook.com>
  */
 class t_ocaml_generator : public t_oop_generator {
  public:
 
  * Class with utility methods shared across common object oriented languages.
  * Specifically, most of this stuff is for C++/Java.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_oop_generator : public t_generator {
  public:
 
 /**
  * PERL code generator.
  *
- * @author Jake Luciani <jakers@gmail.com>
  */
 class t_perl_generator : public t_oop_generator {
  public:
 
 /**
  * PHP code generator.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_php_generator : public t_oop_generator {
  public:
 
 /**
  * Python code generator.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_py_generator : public t_generator {
  public:
 
 /**
  * Ruby code generator.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_rb_generator : public t_oop_generator {
  public:
 
 /**
  * Smalltalk code generator.
  *
- * @author Patrick Collison <patrick@collison.ie>
  */
 class t_st_generator : public t_oop_generator {
  public:
 
 /**
  * XSD generator, creates an XSD for the base types etc.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_xsd_generator : public t_generator {
  public:
 
  * global variables such that the parser does the right thing and puts entries
  * into the right containers, etc.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 /**
 
  * code for each language lives in a file by the language name under the
  * generate/ folder, and all parse structures live in parse/
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 #include <cassert>
 
  * A thrift base type, which must be one of the defined enumerated types inside
  * this definition.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_base_type : public t_type {
  public:
 
  * of the value object, since that is not determined until after parsing the
  * whole thing out.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_const : public t_doc {
  public:
 
  * A const value is something parsed that could be a map, set, list, struct
  * or whatever.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_const_value {
  public:
 
 /**
  * Documentation stubs
  *
- * @author Charlie Cheever <charlie@facebook.com>
  */
 class t_doc {
 
 
 /**
  * An enumerated type. A list of constant objects with a name for the type.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_enum : public t_type {
  public:
 
  * symbol identifiers that may or may not have an explicit value associated
  * with them.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_enum_value : public t_doc {
  public:
 
  * Class to represent a field in a thrift structure. A field has a data type,
  * a symbolic name, and a numeric identifier.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_field : public t_doc {
  public:
 
  * optional modifiers, and an argument list, which is implemented as a thrift
  * struct.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_function : public t_doc {
  public:
 
 /**
  * A list is a lightweight container type that just wraps another data type.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_list : public t_container {
  public:
 
  * A map is a lightweight container type that just wraps another two data
  * types.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_map : public t_container {
  public:
 
  *
  * The program module also contains the definitions of the base types.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_program : public t_doc {
  public:
 
  * used to determine code generation, but rather to resolve identifiers at
  * parse time.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_scope {
  public:
 
 /**
  * A service consists of a set of functions.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_service : public t_type {
  public:
 
 /**
  * A set is a lightweight container type that just wraps another data type.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_set : public t_container {
  public:
 
  * A struct is a container for a set of member fields that has a name. Structs
  * are also used to implement exception types.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_struct : public t_type {
  public:
 
  * used by the code generator to branch based upon different handling for the
  * various types.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_type : public t_doc {
  public:
 
  * ignore typedefs and just use the underlying type directly, though in C++
  * the symbolic naming can be quite useful for code clarity.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class t_typedef : public t_type {
  public:
 
  * Thrift scanner.
  *
  * Tokenizes a thrift definition file.
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 %{
 
  *
  * This parser is used on a thrift definition file.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 #define __STDC_LIMIT_MACROS
 
 /**
  * Base Facebook service implementation in C++.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class FacebookBase : virtual public FacebookServiceIf {
  protected:
 
  * @param const ServiceMethod &serviceMethod A reference to the ServiceMethod
  *                                           object instantiated at the start
  *                                           of the service method.
- * @author Karl Voskuil
  */
 void
 ServiceTracker::startService(const ServiceMethod &serviceMethod)
  *                                           of the service method.
  * @return int64_t Elapsed units (see stopwatchUnit_) since ServiceMethod
  *                 instantiation.
- * @author Karl Voskuil
  */
 int64_t
 ServiceTracker::stepService(const ServiceMethod &serviceMethod,
  * @param const ServiceMethod &serviceMethod A reference to the ServiceMethod
  *                                           object instantiated at the start
  *                                           of the service method.
- * @author Karl Voskuil
  */
 void
 ServiceTracker::finishService(const ServiceMethod &serviceMethod)
  * uses of the object variables (and calls to this method) with a
  * mutex.
  *
- * @author Karl Voskuil
  */
 void
 ServiceTracker::reportCheckpoint()
  * activity.
  *
  * @param shared_ptr<ThreadManager> threadManager The server's thread manager.
- * @author Karl Voskuil
  */
 void
 ServiceTracker::setThreadManager(boost::shared_ptr<ThreadManager>
  * Creates a Stopwatch, which can report the time elapsed since its
  * creation.
  *
- * @author Karl Voskuil
  */
 Stopwatch::Stopwatch()
 {
  *                           of service method parameters).
  * @param const string &signature A signature uniquely identifying the method
  *                                invocation (usually name plus parameters).
- * @author Karl Voskuil
  */
 ServiceMethod::ServiceMethod(ServiceTracker *tracker,
                              const string &name,
 
  * provided in the base implementation, and in other cases they simply define
  * methods that inheriting applications should implement (i.e. status report)
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 namespace java com.facebook.fb303
 
  * http://developers.facebook.com/thrift/
  *
  * @package thrift
- * @author Aditya Agarwal <aditya@facebook.com>
  */
 
 /**
 
 /**
  * Contains utility macros for debugging and logging.
  *
- * @author Aditya Agarwal
  */
 
 #ifndef HAVE_CLOCK_GETTIME
 
  * though the typical case is for some sort of server that either generates
  * responses to an input stream or forwards data from one pipe onto another.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TProcessor {
  public:
 
  * and generation of this particular representation of Thrift types.
  * (It is called local because it cannot be serialized by Thrift).
  *
- * @author David Reiss <dreiss@facebook.com>
  */
 
 namespace apache { namespace thrift { namespace reflection { namespace local {
 
  *  thread->start();
  *
  *
- * @author mrabkin
  */
 
 class FunctionRunner : public Runnable {
 
 /**
  * Monitor implementation using the POSIX pthread library
  *
- * @author marc
  * @version $Id:$
  */
 class Monitor::Impl {
 
  * bit constness.  This allows const methods to call monitor methods without
  * needing to cast away constness or change to non-const signatures.
  *
- * @author marc
  * @version $Id:$
  */
 class Monitor {
 
 /**
  * Implementation of Mutex class using POSIX mutex
  *
- * @author marc
  * @version $Id:$
  */
 class Mutex::impl {
 /**
  * Implementation of ReadWriteMutex class using POSIX rw lock
  *
- * @author boz
  * @version $Id:$
  */
 class ReadWriteMutex::impl {
 
 /**
  * A simple mutex class
  *
- * @author marc
  * @version $Id:$
  */
 class Mutex {
 
 /**
  * The POSIX thread class.
  *
- * @author marc
  * @version $Id:$
  */
 class PthreadThread: public Thread {
 
 /**
  * A thread factory to create posix threads
  *
- * @author marc
  * @version $Id:$
  */
 class PosixThreadFactory : public ThreadFactory {
 
 /**
  * Minimal runnable class.  More or less analogous to java.lang.Runnable.
  *
- * @author marc
  * @version $Id:$
  */
 class Runnable {
 
  * it maintains statistics on number of idle threads, number of active threads,
  * task backlog, and average wait and service times.
  *
- * @author marc
  * @version $Id:$
  */
 class ThreadManager::Impl : public ThreadManager  {
 
 /**
  * Thread Pool Manager and related classes
  *
- * @author marc
  * @version $Id:$
  */
 class ThreadManager;
 
 /**
  * TimerManager class
  *
- * @author marc
  * @version $Id:$
  */
 class TimerManager::Task : public Runnable {
 
  *
  * This class dispatches timer tasks when they fall due.
  *
- * @author marc
  * @version $Id:$
  */
 class TimerManager {
 
  * platform dependent crap.  Rather it should be inluded directly in
  * concurrency library implementation source.
  *
- * @author marc
  * @version $Id:$
  */
 class Util {
 
 /**
  * ThreadManagerTests class
  *
- * @author marc
  * @version $Id:$
  */
 class ThreadFactoryTests {
 
 /**
  * ThreadManagerTests class
  *
- * @author marc
  * @version $Id:$
  */
 class ThreadManagerTests {
 
 /**
  * ThreadManagerTests class
  *
- * @author marc
  * @version $Id:$
  */
 class TimerManagerTests {
 
  * Class for peeking at the raw data that is being processed by another processor
  * and gives the derived class a chance to change behavior accordingly
  *
- * @author James Wang <jwang@facebook.com>
  */
 class PeekProcessor : public apache::thrift::TProcessor {
 
 
 /*
  * Class for keeping track of function call statistics and printing them if desired
  *
- * @author James Wang <jwang@facebook.com>
  */
 class StatsProcessor : public apache::thrift::TProcessor {
 public:
 
  * The default binary protocol for thrift. Writes all data in a very basic
  * binary format, essentially just spitting out the raw bytes.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TBinaryProtocol : public TProtocol {
  protected:
 
  * Protocol that prints the payload in a nice human-readable format.
  * Reading from this protocol is not supported.
  *
- * @author David Reiss <dreiss@facebook.com>
  */
 class TDebugProtocol : public TWriteOnlyProtocol {
  private:
 
  * We inherit so that we can can explicitly call TBPs's primitive-writing
  * methods within our versions.
  *
- * @author David Reiss <dreiss@facebook.com>
  */
 class TDenseProtocol : public TBinaryProtocol {
  protected:
 
  * client, this would mean that infinities get converted to not-a-number in
  * transmission. I don't know of any work-around for this issue.
  *
- * @author Chad Walters <chad@powerset.com>
  */
 class TJSONProtocol : public TProtocol {
  public:
 
  * Abstract class for implementing a protocol that can only be written,
  * not read.
  *
- * @author David Reiss <dreiss@facebook.com>
  */
 class TWriteOnlyProtocol : public TProtocol {
  public:
  * Abstract class for implementing a protocol that can only be read,
  * not written.
  *
- * @author David Reiss <dreiss@facebook.com>
  */
 class TReadOnlyProtocol : public TProtocol {
  public:
 
  * when parsing an input XML stream, reading should be batched rather than
  * looking ahead character by character for a close tag).
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TProtocol {
  public:
 
  * base of error handling to be used for various types of protocols, i.e.
  * pipes etc.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TProtocolException : public apache::thrift::TException {
  public:
 
  * through to an enclosed protocol object, but also mirrored as write to a
  * second protocol object.
  *
- * @author David Reiss <dreiss@facebook.com>
  */
 class TProtocolTap : public TReadOnlyProtocol {
  public:
 
  * It does not use the TServerTransport framework, but rather has socket
  * operations hardcoded for use with select.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TNonblockingServer : public TServer {
  private:
 
 /**
  * Thrift server.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TServer : public concurrency::Runnable {
  public:
 
 /**
  * A simple single-threaded application server. Perfect for unit tests!
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 void TSimpleServer::serve() {
 
 
  * that connection until it closes, and then repeating. It is a good example
  * of how to extend the TServer interface.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TSimpleServer : public TServer {
  public:
 
  * class.  Subclasses are expected to define the "slow path" operations
  * that have to be done when the buffers are full or empty.
  *
- * @author David Reiss <dreiss@facebook.com>
  */
 class TBufferBase : public TTransport {
 
  * and will serve future data out of a local buffer. For writes, data is
  * stored to an in memory buffer before being written out.
  *
- * @author Mark Slee <mcslee@facebook.com>
- * @author David Reiss <dreiss@facebook.com>
  */
 class TBufferedTransport : public TUnderlyingTransport {
  public:
 /**
  * Wraps a transport into a buffered one.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TBufferedTransportFactory : public TTransportFactory {
  public:
  * binary chunk followed by the data payload. This allows the receiver on the
  * other end to always do fixed-length reads.
  *
- * @author Mark Slee <mcslee@facebook.com>
- * @author David Reiss <dreiss@facebook.com>
  */
 class TFramedTransport : public TUnderlyingTransport {
  public:
 /**
  * Wraps a transport into a framed one.
  *
- * @author Dave Simpson <dave@powerset.com>
  */
 class TFramedTransportFactory : public TTransportFactory {
  public:
  * The buffers are allocated using C constructs malloc,realloc, and the size
  * doubles as necessary.  We've considered using scoped
  *
- * @author Mark Slee <mcslee@facebook.com>
- * @author David Reiss <dreiss@facebook.com>
  */
 class TMemoryBuffer : public TBufferBase {
  private:
 
 /**
  * Dead-simple wrapper around a file descriptor.
  *
- * @author David Reiss <dreiss@facebook.com>
  */
 class TFDTransport : public TTransport {
  public:
 
 /**
  * Fake clock_gettime for systems like darwin
  *
- * @author Paul Querna <pquerna@apache.org>
  */
 #define CLOCK_REALTIME 0
 static int clock_gettime(int clk_id /*ignored*/, struct timespec *tp) {
 
  * Note: The above rules are enforced mainly for debugging its sole client TFileTransport
  *       which uses the buffer in this way.
  *
- * @author James Wang <jwang@facebook.com>
  */
 class TFileTransportBuffer {
   public:
  * File implementation of a transport. Reads and writes are done to a
  * file on disk.
  *
- * @author Aditya Agarwal <aditya@facebook.com>
  */
 class TFileTransport : public TFileReaderTransport,
                        public TFileWriterTransport {
 
 /**
  * Http client implementation.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 // Yeah, yeah, hacky to put these here, I know.
 
  * here is a VERY basic HTTP/1.1 client which supports HTTP 100 Continue,
  * chunked transfer encoding, keepalive, etc. Tested against Apache.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class THttpClient : public TTransport {
  public:
 
  * Server socket implementation of TServerTransport. Wrapper around a unix
  * socket listen and accept calls.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TServerSocket : public TServerTransport {
  public:
 
  * Server transport framework. A server needs to have some facility for
  * creating base transports to read/write from.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TServerTransport {
  public:
 
  * Calls to read are passed through with some probability.  Otherwise,
  * the read amount is randomly reduced before being passed through.
  *
- * @author David Reiss <dreiss@facebook.com>
  */
 class TShortReadTransport : public TTransport {
  public:
 
 /**
  * TSocket implementation.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 TSocket::TSocket(string host, int port) :
 
 /**
  * TCP Socket implementation of the TTransport interface.
  *
- * @author Mark Slee <mcslee@facebook.com>
- * @author Aditya Agarwal <aditya@facebook.com>
  */
 class TSocket : public TTransport {
   /**
 
 /**
  * TSocketPoolServer implementation
  *
- * @author Akhil Wable <akhil@facebook.com>
  */
 TSocketPoolServer::TSocketPoolServer()
   : host_(""),
 /**
  * TSocketPool implementation.
  *
- * @author Jason Sobel <jsobel@facebook.com>
  */
 
 TSocketPool::TSocketPool() : TSocket(),
 
  /**
   * Class to hold server information for TSocketPool
   *
-  * @author Akhil Wable <akhil@facebook.com>
   */
 class TSocketPoolServer {
 
 /**
  * TCP Socket implementation of the TTransport interface.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TSocketPool : public TSocket {
 
 
  * Generic interface for a method of transporting data. A TTransport may be
  * capable of either reading or writing, but not necessarily both.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TTransport {
  public:
  * source transport. Commonly used inside servers to make input and output
  * streams out of raw clients.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TTransportFactory {
  public:
 
  * base of error handling to be used for various types of transports, i.e.
  * pipes etc.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TTransportException : public apache::thrift::TException {
  public:
 
  * and it will let you write anything you want to it, though it won't actually
  * go anywhere.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TNullTransport : public TTransport {
  public:
  * The underlying buffer expands to a keep a copy of the entire
  * request/response.
  *
- * @author Aditya Agarwal <aditya@facebook.com>
  */
 class TPipedTransport : virtual public TTransport {
  public:
 /**
  * Wraps a transport into a pipedTransport instance.
  *
- * @author Aditya Agarwal <aditya@facebook.com>
  */
 class TPipedTransportFactory : public TTransportFactory {
  public:
  * it is a templatized class, so that clients who rely on a specific
  * TTransport can still access the original transport.
  *
- * @author James Wang <jwang@facebook.com>
  */
 class TPipedFileReaderTransport : public TPipedTransport,
                                   public TFileReaderTransport {
 /**
  * Creates a TPipedFileReaderTransport from a filepath and a destination transport
  *
- * @author James Wang <jwang@facebook.com>
  */
 class TPipedFileReaderTransportFactory : public TPipedTransportFactory {
  public:
 
  * TODO(dreiss): Don't do an extra copy of the compressed data if
  *               the underlying transport is TBuffered or TMemory.
  *
- * @author David Reiss <dreiss@facebook.com>
  */
 class TZlibTransport : public TTransport {
  public:
 
 /**
  * Application level exception
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TApplicationException extends TException {
 
 
 /**
  * Generic base interface for generated Thrift objects.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public interface TBase extends Cloneable {
 
 
  * Class that allows access to the underlying buf without doing deep
  * copies on it.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TByteArrayOutputStream extends ByteArrayOutputStream {
   public TByteArrayOutputStream(int size) {
 
  * Generic utility for easily deserializing objects from a byte array or Java
  * String.
  *
- * @author David Reiss <dreiss@facebook.com>
  */
 public class TDeserializer {
   private final TProtocolFactory protocolFactory_;
 
 /**
  * Generic exception class for Thrift.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TException extends Exception {
 
 
  * A processor is a generic object which operates upon an input stream and
  * writes to some output stream.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public interface TProcessor {
   public boolean process(TProtocol in, TProtocol out)
 
  * Generic utility for easily serializing objects into a byte array or Java
  * String.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TSerializer {
 
 
  * results in bad decoded data -- this is not in compliance with the RFC but is
  * done in the interest of performance.
  *
- * @author Chad Walters <chad@powerset.com>
  */
 class TBase64Utils {
 
 
 /**
  * Binary protocol implementation for thrift.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TBinaryProtocol extends TProtocol {
   private static final TStruct ANONYMOUS_STRUCT = new TStruct();
 
 /**
  * Helper class that encapsulates field metadata.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TField {
   public TField() {
 
  * Please see the C++ class header for a detailed description of the
  * protocol's wire format.
  *
- * @author Chad Walters <chad@powerset.com>
  */
 public class TJSONProtocol extends TProtocol {
 
 
 /**
  * Helper class that encapsulates list metadata.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public final class TList {
   public TList() {
 
 /**
  * Helper class that encapsulates map metadata.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public final class TMap {
   public TMap() {
 
 /**
  * Helper class that encapsulates struct metadata.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public final class TMessage {
   public TMessage() {
 
 /**
  * Message type constants in the Thrift protocol.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public final class TMessageType {
   public static final byte CALL  = 1;
 
 /**
  * Protocol interface definition.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public abstract class TProtocol {
 
 
 /**
  * Protocol exceptions.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TProtocolException extends TException {
 
 
 /**
  * Factory interface for constructing protocol instances.
  *
- * @author Mark Slee <mcslee@facebook.com>
- * @author Aditya Agarwal <aditya@facebook.com>
  */
 public interface TProtocolFactory {
   public TProtocol getProtocol(TTransport trans);
 
  * Utility class with static methods for interacting with protocol data
  * streams.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TProtocolUtil {
 
 
 /**
  * Helper class that encapsulates set metadata.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public final class TSet {
   public TSet() {
 
  * suitable for parsing by scripting languages.  It should not be
  * confused with the full-featured TJSONProtocol.
  *
- * @author Joydeep Sen Sarma <jssarma@facebook.com>
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TSimpleJSONProtocol extends TProtocol {
 
 
 /**
  * Helper class that encapsulates struct metadata.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public final class TStruct {
   public TStruct() {
 
 /**
  * Type constants in the Thrift protocol.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public final class TType {
   public static final byte STOP   = 0;
 
 /**
  * Generic interface for a Thrift server.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public abstract class TServer {
 
 
 /**
  * Simple singlethreaded server for testing.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TSimpleServer extends TServer {
 
 
  * Server which uses Java's built in ThreadPool management to spawn off
  * a worker pool that
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TThreadPoolServer extends TServer {
 
 
 /**
  * Socket implementation of the TTransport interface. To be commented soon!
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TFramedTransport extends TTransport {
 
 
  * HTTP implementation of the TTransport interface. Used for working with a
  * Thrift web services implementation.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class THttpClient extends TTransport {
 
 
  * This allows for compatibility with all the nice constructs Java already
  * has to provide a variety of types of streams.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TIOStreamTransport extends TTransport {
 
 
 /**
  * Memory buffer-based implementation of the TTransport interface.
  *
- * @author Chad Walters <chad@powerset.com>
  */
 public class TMemoryBuffer extends TTransport {
 
 
 /**
  * Wrapper around ServerSocket for Thrift.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TServerSocket extends TServerTransport {
 
 
 /**
  * Server transport. Object which provides client transports.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public abstract class TServerTransport {
 
 
 /**
  * Socket implementation of the TTransport interface. To be commented soon!
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TSocket extends TIOStreamTransport {
 
 
  * Generic class that encapsulates the I/O layer. This is basically a thin
  * wrapper around the combined functionality of Java input/output streams.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public abstract class TTransport {
 
 
 /**
  * Transport exceptions.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TTransportException extends TException {
 
 
  * a ServerTransport and then may want to mutate them (i.e. create
  * a BufferedTransport from the underlying base transport)
  *
- * @author Mark Slee <mcslee@facebook.com>
- * @author Aditya Agarwal <aditya@facebook.com>
  */
 public class TTransportFactory {
 
 
 import thrift.test.*;
 
 /'''r'''**
- * @author David Reiss <dreiss@facebook.com>
  *'''r'''/
 public class EqualityTest {
   public static void main(String[] args) throws Exception {
 import thrift.test.*;
 
 /**
- * @author David Reiss <dreiss@facebook.com>
  */
 public class EqualityTest {
   public static void main(String[] args) throws Exception {
 
 
 /**
  *
- * @author David Reiss <dreiss@facebook.com>
  */
 public class IdentityTest {
   public static Object deepCopy(Object oldObj) throws Exception {
 
 /**
  * Tests for the Java implementation of TJSONProtocol. Mirrors the C++ version
  *
- * @author Chad Walters <chad@powerset.com>
  */
 public class JSONProtoTest {
 
 
  * this makes a variety of requests to enable testing for both performance and
  * correctness of the output.
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 public class TestClient {
   public static void main(String [] args) {
 
 import thrift.test.*;
 
 /**
- * @author David Reiss <dreiss@facebook.com>
  */
 public class ToStringTest {
   public static void main(String[] args) throws Exception {
 
 # their length.
 #
 # @package thrift.transport
-# @author Mark Slee <mcslee@facebook.com>
 #
 package Thrift::FramedTransport;
 
 
 /**
  * Example of how to build a Thrift server in Apache/PHP
  *
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 $GLOBALS['THRIFT_ROOT'] = '/your/thrift/root';
 
  * http://developers.facebook.com/thrift/
  *
  * @package thrift
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 /**
 
  * http://developers.facebook.com/thrift/
  *
  * @package thrift
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 /**
 
  * http://developers.facebook.com/thrift/
  *
  * @package thrift.protocol
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 /**
  * Binary implementation of the Thrift protocol.
  *
- * @author Mark Slee <mcslee@facebook.com>
- * @author Marc Kwiatkowski <marc@facebook.com>
  */
 class TBinaryProtocol extends TProtocol {
 
 
  * http://developers.facebook.com/thrift/
  *
  * @package thrift.protocol
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 /**
  * a protocol encoder/decoder.
  *
  * @package thrift.protocol
- * @author Mark Slee <mcslee@facebook.com>
- * @author Aditya Agarwal <aditya@facebook.com>
  */
 
 /**
 
  * http://developers.facebook.com/thrift/
  *
  * @package thrift.transport
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 /**
  * read and then serve data out of the internal buffer.
  *
  * @package thrift.transport
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TBufferedTransport extends TTransport {
 
 
  * http://developers.facebook.com/thrift/
  *
  * @package thrift.transport
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 /**
  * their length.
  *
  * @package thrift.transport
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TFramedTransport extends TTransport {
 
 
  * http://developers.facebook.com/thrift/
  *
  * @package thrift.transport
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 /**
  * HTTP client for Thrift
  *
  * @package thrift.transport
- * @author Mark Slee <mcslee@facebook.com>
  */
 class THttpClient extends TTransport {
 
 
  * http://developers.facebook.com/thrift/
  *
  * @package thrift.transport
- * @author Levy Klots <lklots@facebook.com>
  */
 
 /**
  * buffer.
  *
  * @package thrift.transport
- * @author Levy Klots <lklots@facebook.com>
  */
 class TMemoryBuffer extends TTransport {
 
 
  * http://developers.facebook.com/thrift/
  *
  * @package thrift.transport
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 /**
  * This is useful for measuring the serialized size of structures.
  *
  * @package thrift.transport
- * @author David Reiss <dreiss@facebook.com>
  */
 class TNullTransport extends TTransport {
 
 
  * http://developers.facebook.com/thrift/
  *
  * @package thrift.transport
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 /**
  * php://input and php://output
  *
  * @package thrift.transport
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TPhpStream extends TTransport {
 
 
  * http://developers.facebook.com/thrift/
  *
  * @package thrift.transport
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 /**
  * Sockets implementation of the TTransport interface.
  *
  * @package thrift.transport
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TSocket extends TTransport {
 
 
  * http://developers.facebook.com/thrift/
  *
  * @package thrift.transport
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 /** Inherits from Socket */
  * to a pool of servers.
  *
  * @package thrift.transport
- * @author Mark Slee <mcslee@facebook.com>
  */
 class TSocketPool extends TSocket {
 
 
  * http://developers.facebook.com/thrift/
  *
  * @package thrift.transport
- * @author Mark Slee <mcslee@facebook.com>
  */
 
 /**
  * Base interface for a transport agent.
  *
  * @package thrift.transport
- * @author Mark Slee <mcslee@facebook.com>
  */
 abstract class TTransport {