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 {