http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/server/TServer.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/server/TServer.h b/lib/cpp/src/thrift/server/TServer.h index 47e0d40..f4cd7bc 100644 --- a/lib/cpp/src/thrift/server/TServer.h +++ b/lib/cpp/src/thrift/server/TServer.h @@ -25,7 +25,7 @@ #include <thrift/protocol/TBinaryProtocol.h> #include <thrift/concurrency/Thread.h> -#include <boost/shared_ptr.hpp> +#include <thrift/stdcxx.h> namespace apache { namespace thrift { @@ -58,8 +58,8 @@ public: /** * Called when a new client has connected and is about to being processing. */ - virtual void* createContext(boost::shared_ptr<TProtocol> input, - boost::shared_ptr<TProtocol> output) { + virtual void* createContext(stdcxx::shared_ptr<TProtocol> input, + stdcxx::shared_ptr<TProtocol> output) { (void)input; (void)output; return NULL; @@ -70,8 +70,8 @@ public: * context. */ virtual void deleteContext(void* serverContext, - boost::shared_ptr<TProtocol> input, - boost::shared_ptr<TProtocol> output) { + stdcxx::shared_ptr<TProtocol> input, + stdcxx::shared_ptr<TProtocol> output) { (void)serverContext; (void)input; (void)output; @@ -80,7 +80,7 @@ public: /** * Called when a client is about to call the processor. */ - virtual void processContext(void* serverContext, boost::shared_ptr<TTransport> transport) { + virtual void processContext(void* serverContext, stdcxx::shared_ptr<TTransport> transport) { (void)serverContext; (void)transport; } @@ -107,62 +107,62 @@ public: // Allows running the server as a Runnable thread virtual void run() { serve(); } - boost::shared_ptr<TProcessorFactory> getProcessorFactory() { return processorFactory_; } + stdcxx::shared_ptr<TProcessorFactory> getProcessorFactory() { return processorFactory_; } - boost::shared_ptr<TServerTransport> getServerTransport() { return serverTransport_; } + stdcxx::shared_ptr<TServerTransport> getServerTransport() { return serverTransport_; } - boost::shared_ptr<TTransportFactory> getInputTransportFactory() { return inputTransportFactory_; } + stdcxx::shared_ptr<TTransportFactory> getInputTransportFactory() { return inputTransportFactory_; } - boost::shared_ptr<TTransportFactory> getOutputTransportFactory() { + stdcxx::shared_ptr<TTransportFactory> getOutputTransportFactory() { return outputTransportFactory_; } - boost::shared_ptr<TProtocolFactory> getInputProtocolFactory() { return inputProtocolFactory_; } + stdcxx::shared_ptr<TProtocolFactory> getInputProtocolFactory() { return inputProtocolFactory_; } - boost::shared_ptr<TProtocolFactory> getOutputProtocolFactory() { return outputProtocolFactory_; } + stdcxx::shared_ptr<TProtocolFactory> getOutputProtocolFactory() { return outputProtocolFactory_; } - boost::shared_ptr<TServerEventHandler> getEventHandler() { return eventHandler_; } + stdcxx::shared_ptr<TServerEventHandler> getEventHandler() { return eventHandler_; } protected: - TServer(const boost::shared_ptr<TProcessorFactory>& processorFactory) + TServer(const stdcxx::shared_ptr<TProcessorFactory>& processorFactory) : processorFactory_(processorFactory) { - setInputTransportFactory(boost::shared_ptr<TTransportFactory>(new TTransportFactory())); - setOutputTransportFactory(boost::shared_ptr<TTransportFactory>(new TTransportFactory())); - setInputProtocolFactory(boost::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory())); - setOutputProtocolFactory(boost::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory())); + setInputTransportFactory(stdcxx::shared_ptr<TTransportFactory>(new TTransportFactory())); + setOutputTransportFactory(stdcxx::shared_ptr<TTransportFactory>(new TTransportFactory())); + setInputProtocolFactory(stdcxx::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory())); + setOutputProtocolFactory(stdcxx::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory())); } - TServer(const boost::shared_ptr<TProcessor>& processor) + TServer(const stdcxx::shared_ptr<TProcessor>& processor) : processorFactory_(new TSingletonProcessorFactory(processor)) { - setInputTransportFactory(boost::shared_ptr<TTransportFactory>(new TTransportFactory())); - setOutputTransportFactory(boost::shared_ptr<TTransportFactory>(new TTransportFactory())); - setInputProtocolFactory(boost::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory())); - setOutputProtocolFactory(boost::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory())); + setInputTransportFactory(stdcxx::shared_ptr<TTransportFactory>(new TTransportFactory())); + setOutputTransportFactory(stdcxx::shared_ptr<TTransportFactory>(new TTransportFactory())); + setInputProtocolFactory(stdcxx::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory())); + setOutputProtocolFactory(stdcxx::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory())); } - TServer(const boost::shared_ptr<TProcessorFactory>& processorFactory, - const boost::shared_ptr<TServerTransport>& serverTransport) + TServer(const stdcxx::shared_ptr<TProcessorFactory>& processorFactory, + const stdcxx::shared_ptr<TServerTransport>& serverTransport) : processorFactory_(processorFactory), serverTransport_(serverTransport) { - setInputTransportFactory(boost::shared_ptr<TTransportFactory>(new TTransportFactory())); - setOutputTransportFactory(boost::shared_ptr<TTransportFactory>(new TTransportFactory())); - setInputProtocolFactory(boost::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory())); - setOutputProtocolFactory(boost::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory())); + setInputTransportFactory(stdcxx::shared_ptr<TTransportFactory>(new TTransportFactory())); + setOutputTransportFactory(stdcxx::shared_ptr<TTransportFactory>(new TTransportFactory())); + setInputProtocolFactory(stdcxx::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory())); + setOutputProtocolFactory(stdcxx::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory())); } - TServer(const boost::shared_ptr<TProcessor>& processor, - const boost::shared_ptr<TServerTransport>& serverTransport) + TServer(const stdcxx::shared_ptr<TProcessor>& processor, + const stdcxx::shared_ptr<TServerTransport>& serverTransport) : processorFactory_(new TSingletonProcessorFactory(processor)), serverTransport_(serverTransport) { - setInputTransportFactory(boost::shared_ptr<TTransportFactory>(new TTransportFactory())); - setOutputTransportFactory(boost::shared_ptr<TTransportFactory>(new TTransportFactory())); - setInputProtocolFactory(boost::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory())); - setOutputProtocolFactory(boost::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory())); + setInputTransportFactory(stdcxx::shared_ptr<TTransportFactory>(new TTransportFactory())); + setOutputTransportFactory(stdcxx::shared_ptr<TTransportFactory>(new TTransportFactory())); + setInputProtocolFactory(stdcxx::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory())); + setOutputProtocolFactory(stdcxx::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory())); } - TServer(const boost::shared_ptr<TProcessorFactory>& processorFactory, - const boost::shared_ptr<TServerTransport>& serverTransport, - const boost::shared_ptr<TTransportFactory>& transportFactory, - const boost::shared_ptr<TProtocolFactory>& protocolFactory) + TServer(const stdcxx::shared_ptr<TProcessorFactory>& processorFactory, + const stdcxx::shared_ptr<TServerTransport>& serverTransport, + const stdcxx::shared_ptr<TTransportFactory>& transportFactory, + const stdcxx::shared_ptr<TProtocolFactory>& protocolFactory) : processorFactory_(processorFactory), serverTransport_(serverTransport), inputTransportFactory_(transportFactory), @@ -170,10 +170,10 @@ protected: inputProtocolFactory_(protocolFactory), outputProtocolFactory_(protocolFactory) {} - TServer(const boost::shared_ptr<TProcessor>& processor, - const boost::shared_ptr<TServerTransport>& serverTransport, - const boost::shared_ptr<TTransportFactory>& transportFactory, - const boost::shared_ptr<TProtocolFactory>& protocolFactory) + TServer(const stdcxx::shared_ptr<TProcessor>& processor, + const stdcxx::shared_ptr<TServerTransport>& serverTransport, + const stdcxx::shared_ptr<TTransportFactory>& transportFactory, + const stdcxx::shared_ptr<TProtocolFactory>& protocolFactory) : processorFactory_(new TSingletonProcessorFactory(processor)), serverTransport_(serverTransport), inputTransportFactory_(transportFactory), @@ -181,12 +181,12 @@ protected: inputProtocolFactory_(protocolFactory), outputProtocolFactory_(protocolFactory) {} - TServer(const boost::shared_ptr<TProcessorFactory>& processorFactory, - const boost::shared_ptr<TServerTransport>& serverTransport, - const boost::shared_ptr<TTransportFactory>& inputTransportFactory, - const boost::shared_ptr<TTransportFactory>& outputTransportFactory, - const boost::shared_ptr<TProtocolFactory>& inputProtocolFactory, - const boost::shared_ptr<TProtocolFactory>& outputProtocolFactory) + TServer(const stdcxx::shared_ptr<TProcessorFactory>& processorFactory, + const stdcxx::shared_ptr<TServerTransport>& serverTransport, + const stdcxx::shared_ptr<TTransportFactory>& inputTransportFactory, + const stdcxx::shared_ptr<TTransportFactory>& outputTransportFactory, + const stdcxx::shared_ptr<TProtocolFactory>& inputProtocolFactory, + const stdcxx::shared_ptr<TProtocolFactory>& outputProtocolFactory) : processorFactory_(processorFactory), serverTransport_(serverTransport), inputTransportFactory_(inputTransportFactory), @@ -194,12 +194,12 @@ protected: inputProtocolFactory_(inputProtocolFactory), outputProtocolFactory_(outputProtocolFactory) {} - TServer(const boost::shared_ptr<TProcessor>& processor, - const boost::shared_ptr<TServerTransport>& serverTransport, - const boost::shared_ptr<TTransportFactory>& inputTransportFactory, - const boost::shared_ptr<TTransportFactory>& outputTransportFactory, - const boost::shared_ptr<TProtocolFactory>& inputProtocolFactory, - const boost::shared_ptr<TProtocolFactory>& outputProtocolFactory) + TServer(const stdcxx::shared_ptr<TProcessor>& processor, + const stdcxx::shared_ptr<TServerTransport>& serverTransport, + const stdcxx::shared_ptr<TTransportFactory>& inputTransportFactory, + const stdcxx::shared_ptr<TTransportFactory>& outputTransportFactory, + const stdcxx::shared_ptr<TProtocolFactory>& inputProtocolFactory, + const stdcxx::shared_ptr<TProtocolFactory>& outputProtocolFactory) : processorFactory_(new TSingletonProcessorFactory(processor)), serverTransport_(serverTransport), inputTransportFactory_(inputTransportFactory), @@ -214,9 +214,9 @@ protected: * call). This allows the TProcessorFactory to return a different processor * for each connection if it desires. */ - boost::shared_ptr<TProcessor> getProcessor(boost::shared_ptr<TProtocol> inputProtocol, - boost::shared_ptr<TProtocol> outputProtocol, - boost::shared_ptr<TTransport> transport) { + stdcxx::shared_ptr<TProcessor> getProcessor(stdcxx::shared_ptr<TProtocol> inputProtocol, + stdcxx::shared_ptr<TProtocol> outputProtocol, + stdcxx::shared_ptr<TTransport> transport) { TConnectionInfo connInfo; connInfo.input = inputProtocol; connInfo.output = outputProtocol; @@ -225,35 +225,35 @@ protected: } // Class variables - boost::shared_ptr<TProcessorFactory> processorFactory_; - boost::shared_ptr<TServerTransport> serverTransport_; + stdcxx::shared_ptr<TProcessorFactory> processorFactory_; + stdcxx::shared_ptr<TServerTransport> serverTransport_; - boost::shared_ptr<TTransportFactory> inputTransportFactory_; - boost::shared_ptr<TTransportFactory> outputTransportFactory_; + stdcxx::shared_ptr<TTransportFactory> inputTransportFactory_; + stdcxx::shared_ptr<TTransportFactory> outputTransportFactory_; - boost::shared_ptr<TProtocolFactory> inputProtocolFactory_; - boost::shared_ptr<TProtocolFactory> outputProtocolFactory_; + stdcxx::shared_ptr<TProtocolFactory> inputProtocolFactory_; + stdcxx::shared_ptr<TProtocolFactory> outputProtocolFactory_; - boost::shared_ptr<TServerEventHandler> eventHandler_; + stdcxx::shared_ptr<TServerEventHandler> eventHandler_; public: - void setInputTransportFactory(boost::shared_ptr<TTransportFactory> inputTransportFactory) { + void setInputTransportFactory(stdcxx::shared_ptr<TTransportFactory> inputTransportFactory) { inputTransportFactory_ = inputTransportFactory; } - void setOutputTransportFactory(boost::shared_ptr<TTransportFactory> outputTransportFactory) { + void setOutputTransportFactory(stdcxx::shared_ptr<TTransportFactory> outputTransportFactory) { outputTransportFactory_ = outputTransportFactory; } - void setInputProtocolFactory(boost::shared_ptr<TProtocolFactory> inputProtocolFactory) { + void setInputProtocolFactory(stdcxx::shared_ptr<TProtocolFactory> inputProtocolFactory) { inputProtocolFactory_ = inputProtocolFactory; } - void setOutputProtocolFactory(boost::shared_ptr<TProtocolFactory> outputProtocolFactory) { + void setOutputProtocolFactory(stdcxx::shared_ptr<TProtocolFactory> outputProtocolFactory) { outputProtocolFactory_ = outputProtocolFactory; } - void setServerEventHandler(boost::shared_ptr<TServerEventHandler> eventHandler) { + void setServerEventHandler(stdcxx::shared_ptr<TServerEventHandler> eventHandler) { eventHandler_ = eventHandler; } };
http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/server/TServerFramework.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/server/TServerFramework.cpp b/lib/cpp/src/thrift/server/TServerFramework.cpp index b62cf40..ae38336 100644 --- a/lib/cpp/src/thrift/server/TServerFramework.cpp +++ b/lib/cpp/src/thrift/server/TServerFramework.cpp @@ -18,7 +18,6 @@ */ #include <algorithm> -#include <boost/bind.hpp> #include <stdexcept> #include <stdint.h> #include <thrift/server/TServerFramework.h> @@ -28,14 +27,14 @@ namespace thrift { namespace server { using apache::thrift::concurrency::Synchronized; +using apache::thrift::protocol::TProtocol; +using apache::thrift::protocol::TProtocolFactory; +using apache::thrift::stdcxx::bind; +using apache::thrift::stdcxx::shared_ptr; using apache::thrift::transport::TServerTransport; using apache::thrift::transport::TTransport; using apache::thrift::transport::TTransportException; using apache::thrift::transport::TTransportFactory; -using apache::thrift::protocol::TProtocol; -using apache::thrift::protocol::TProtocolFactory; -using boost::bind; -using boost::shared_ptr; using std::string; TServerFramework::TServerFramework(const shared_ptr<TProcessorFactory>& processorFactory, @@ -162,7 +161,7 @@ void TServerFramework::serve() { outputProtocol, eventHandler_, client), - bind(&TServerFramework::disposeConnectedClient, this, _1))); + bind(&TServerFramework::disposeConnectedClient, this, stdcxx::placeholders::_1))); } catch (TTransportException& ttx) { releaseOneDescriptor("inputTransport", inputTransport); @@ -221,7 +220,7 @@ void TServerFramework::stop() { serverTransport_->interrupt(); } -void TServerFramework::newlyConnectedClient(const boost::shared_ptr<TConnectedClient>& pClient) { +void TServerFramework::newlyConnectedClient(const shared_ptr<TConnectedClient>& pClient) { { Synchronized sync(mon_); ++clients_; http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/server/TServerFramework.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/server/TServerFramework.h b/lib/cpp/src/thrift/server/TServerFramework.h index 53d9bfd..706fd49 100644 --- a/lib/cpp/src/thrift/server/TServerFramework.h +++ b/lib/cpp/src/thrift/server/TServerFramework.h @@ -20,7 +20,7 @@ #ifndef _THRIFT_SERVER_TSERVERFRAMEWORK_H_ #define _THRIFT_SERVER_TSERVERFRAMEWORK_H_ 1 -#include <boost/shared_ptr.hpp> +#include <thrift/stdcxx.h> #include <stdint.h> #include <thrift/TProcessor.h> #include <thrift/concurrency/Monitor.h> @@ -48,32 +48,32 @@ namespace server { class TServerFramework : public TServer { public: TServerFramework( - const boost::shared_ptr<apache::thrift::TProcessorFactory>& processorFactory, - const boost::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& transportFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& protocolFactory); + const stdcxx::shared_ptr<apache::thrift::TProcessorFactory>& processorFactory, + const stdcxx::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& transportFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& protocolFactory); TServerFramework( - const boost::shared_ptr<apache::thrift::TProcessor>& processor, - const boost::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& transportFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& protocolFactory); + const stdcxx::shared_ptr<apache::thrift::TProcessor>& processor, + const stdcxx::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& transportFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& protocolFactory); TServerFramework( - const boost::shared_ptr<apache::thrift::TProcessorFactory>& processorFactory, - const boost::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& inputTransportFactory, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& outputTransportFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& inputProtocolFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& outputProtocolFactory); + const stdcxx::shared_ptr<apache::thrift::TProcessorFactory>& processorFactory, + const stdcxx::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& inputTransportFactory, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& outputTransportFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& inputProtocolFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& outputProtocolFactory); TServerFramework( - const boost::shared_ptr<apache::thrift::TProcessor>& processor, - const boost::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& inputTransportFactory, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& outputTransportFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& inputProtocolFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& outputProtocolFactory); + const stdcxx::shared_ptr<apache::thrift::TProcessor>& processor, + const stdcxx::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& inputTransportFactory, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& outputTransportFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& inputProtocolFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& outputProtocolFactory); virtual ~TServerFramework(); @@ -130,7 +130,7 @@ protected: * * \param[in] pClient the newly connected client */ - virtual void onClientConnected(const boost::shared_ptr<TConnectedClient>& pClient) = 0; + virtual void onClientConnected(const stdcxx::shared_ptr<TConnectedClient>& pClient) = 0; /** * A client has disconnected. @@ -149,7 +149,7 @@ private: * client rate limiting after onClientConnected returns by blocking the * serve() thread if the limit has been reached. */ - void newlyConnectedClient(const boost::shared_ptr<TConnectedClient>& pClient); + void newlyConnectedClient(const stdcxx::shared_ptr<TConnectedClient>& pClient); /** * Smart pointer client deletion. http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/server/TSimpleServer.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/server/TSimpleServer.cpp b/lib/cpp/src/thrift/server/TSimpleServer.cpp index 2f69ff4..a0afbbe 100644 --- a/lib/cpp/src/thrift/server/TSimpleServer.cpp +++ b/lib/cpp/src/thrift/server/TSimpleServer.cpp @@ -29,7 +29,7 @@ using apache::thrift::transport::TServerTransport; using apache::thrift::transport::TTransport; using apache::thrift::transport::TTransportException; using apache::thrift::transport::TTransportFactory; -using boost::shared_ptr; +using stdcxx::shared_ptr; using std::string; TSimpleServer::TSimpleServer(const shared_ptr<TProcessorFactory>& processorFactory, http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/server/TSimpleServer.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/server/TSimpleServer.h b/lib/cpp/src/thrift/server/TSimpleServer.h index 391fbec..ac4ed34 100644 --- a/lib/cpp/src/thrift/server/TSimpleServer.h +++ b/lib/cpp/src/thrift/server/TSimpleServer.h @@ -34,37 +34,37 @@ namespace server { class TSimpleServer : public TServerFramework { public: TSimpleServer( - const boost::shared_ptr<apache::thrift::TProcessorFactory>& processorFactory, - const boost::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& transportFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& protocolFactory); + const stdcxx::shared_ptr<apache::thrift::TProcessorFactory>& processorFactory, + const stdcxx::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& transportFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& protocolFactory); TSimpleServer( - const boost::shared_ptr<apache::thrift::TProcessor>& processor, - const boost::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& transportFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& protocolFactory); + const stdcxx::shared_ptr<apache::thrift::TProcessor>& processor, + const stdcxx::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& transportFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& protocolFactory); TSimpleServer( - const boost::shared_ptr<apache::thrift::TProcessorFactory>& processorFactory, - const boost::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& inputTransportFactory, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& outputTransportFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& inputProtocolFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& outputProtocolFactory); + const stdcxx::shared_ptr<apache::thrift::TProcessorFactory>& processorFactory, + const stdcxx::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& inputTransportFactory, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& outputTransportFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& inputProtocolFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& outputProtocolFactory); TSimpleServer( - const boost::shared_ptr<apache::thrift::TProcessor>& processor, - const boost::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& inputTransportFactory, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& outputTransportFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& inputProtocolFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& outputProtocolFactory); + const stdcxx::shared_ptr<apache::thrift::TProcessor>& processor, + const stdcxx::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& inputTransportFactory, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& outputTransportFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& inputProtocolFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& outputProtocolFactory); virtual ~TSimpleServer(); protected: - virtual void onClientConnected(const boost::shared_ptr<TConnectedClient>& pClient) /* override */; + virtual void onClientConnected(const stdcxx::shared_ptr<TConnectedClient>& pClient) /* override */; virtual void onClientDisconnected(TConnectedClient* pClient) /* override */; private: http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/server/TThreadPoolServer.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/server/TThreadPoolServer.cpp b/lib/cpp/src/thrift/server/TThreadPoolServer.cpp index 63af85c..f07ff84 100644 --- a/lib/cpp/src/thrift/server/TThreadPoolServer.cpp +++ b/lib/cpp/src/thrift/server/TThreadPoolServer.cpp @@ -30,7 +30,7 @@ using apache::thrift::transport::TServerTransport; using apache::thrift::transport::TTransport; using apache::thrift::transport::TTransportException; using apache::thrift::transport::TTransportFactory; -using boost::shared_ptr; +using stdcxx::shared_ptr; using std::string; TThreadPoolServer::TThreadPoolServer(const shared_ptr<TProcessorFactory>& processorFactory, @@ -115,7 +115,7 @@ void TThreadPoolServer::setTaskExpiration(int64_t value) { taskExpiration_ = value; } -boost::shared_ptr<apache::thrift::concurrency::ThreadManager> +stdcxx::shared_ptr<apache::thrift::concurrency::ThreadManager> TThreadPoolServer::getThreadManager() const { return threadManager_; } http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/server/TThreadPoolServer.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/server/TThreadPoolServer.h b/lib/cpp/src/thrift/server/TThreadPoolServer.h index c750b8c..94088d5 100644 --- a/lib/cpp/src/thrift/server/TThreadPoolServer.h +++ b/lib/cpp/src/thrift/server/TThreadPoolServer.h @@ -34,39 +34,39 @@ namespace server { class TThreadPoolServer : public TServerFramework { public: TThreadPoolServer( - const boost::shared_ptr<apache::thrift::TProcessorFactory>& processorFactory, - const boost::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& transportFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& protocolFactory, - const boost::shared_ptr<apache::thrift::concurrency::ThreadManager>& threadManager + const stdcxx::shared_ptr<apache::thrift::TProcessorFactory>& processorFactory, + const stdcxx::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& transportFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& protocolFactory, + const stdcxx::shared_ptr<apache::thrift::concurrency::ThreadManager>& threadManager = apache::thrift::concurrency::ThreadManager::newSimpleThreadManager()); TThreadPoolServer( - const boost::shared_ptr<apache::thrift::TProcessor>& processor, - const boost::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& transportFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& protocolFactory, - const boost::shared_ptr<apache::thrift::concurrency::ThreadManager>& threadManager + const stdcxx::shared_ptr<apache::thrift::TProcessor>& processor, + const stdcxx::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& transportFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& protocolFactory, + const stdcxx::shared_ptr<apache::thrift::concurrency::ThreadManager>& threadManager = apache::thrift::concurrency::ThreadManager::newSimpleThreadManager()); TThreadPoolServer( - const boost::shared_ptr<apache::thrift::TProcessorFactory>& processorFactory, - const boost::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& inputTransportFactory, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& outputTransportFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& inputProtocolFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& outputProtocolFactory, - const boost::shared_ptr<apache::thrift::concurrency::ThreadManager>& threadManager + const stdcxx::shared_ptr<apache::thrift::TProcessorFactory>& processorFactory, + const stdcxx::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& inputTransportFactory, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& outputTransportFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& inputProtocolFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& outputProtocolFactory, + const stdcxx::shared_ptr<apache::thrift::concurrency::ThreadManager>& threadManager = apache::thrift::concurrency::ThreadManager::newSimpleThreadManager()); TThreadPoolServer( - const boost::shared_ptr<apache::thrift::TProcessor>& processor, - const boost::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& inputTransportFactory, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& outputTransportFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& inputProtocolFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& outputProtocolFactory, - const boost::shared_ptr<apache::thrift::concurrency::ThreadManager>& threadManager + const stdcxx::shared_ptr<apache::thrift::TProcessor>& processor, + const stdcxx::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& inputTransportFactory, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& outputTransportFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& inputProtocolFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& outputProtocolFactory, + const stdcxx::shared_ptr<apache::thrift::concurrency::ThreadManager>& threadManager = apache::thrift::concurrency::ThreadManager::newSimpleThreadManager()); virtual ~TThreadPoolServer(); @@ -83,13 +83,13 @@ public: virtual int64_t getTaskExpiration() const; virtual void setTaskExpiration(int64_t value); - virtual boost::shared_ptr<apache::thrift::concurrency::ThreadManager> getThreadManager() const; + virtual stdcxx::shared_ptr<apache::thrift::concurrency::ThreadManager> getThreadManager() const; protected: - virtual void onClientConnected(const boost::shared_ptr<TConnectedClient>& pClient) /* override */; + virtual void onClientConnected(const stdcxx::shared_ptr<TConnectedClient>& pClient) /* override */; virtual void onClientDisconnected(TConnectedClient* pClient) /* override */; - boost::shared_ptr<apache::thrift::concurrency::ThreadManager> threadManager_; + stdcxx::shared_ptr<apache::thrift::concurrency::ThreadManager> threadManager_; boost::atomic<int64_t> timeout_; boost::atomic<int64_t> taskExpiration_; }; http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/server/TThreadedServer.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/server/TThreadedServer.cpp b/lib/cpp/src/thrift/server/TThreadedServer.cpp index c413be1..8a07db9 100644 --- a/lib/cpp/src/thrift/server/TThreadedServer.cpp +++ b/lib/cpp/src/thrift/server/TThreadedServer.cpp @@ -17,11 +17,8 @@ * under the License. */ -#include <boost/bind.hpp> -#include <boost/function.hpp> -#include <boost/make_shared.hpp> -#include <boost/shared_ptr.hpp> #include <string> +#include <thrift/stdcxx.h> #include <thrift/concurrency/PlatformThreadFactory.h> #include <thrift/server/TThreadedServer.h> @@ -35,11 +32,12 @@ using apache::thrift::concurrency::Thread; using apache::thrift::concurrency::ThreadFactory; using apache::thrift::protocol::TProtocol; using apache::thrift::protocol::TProtocolFactory; +using apache::thrift::stdcxx::make_shared; +using apache::thrift::stdcxx::shared_ptr; using apache::thrift::transport::TServerTransport; using apache::thrift::transport::TTransport; using apache::thrift::transport::TTransportException; using apache::thrift::transport::TTransportFactory; -using boost::shared_ptr; TThreadedServer::TThreadedServer(const shared_ptr<TProcessorFactory>& processorFactory, const shared_ptr<TServerTransport>& serverTransport, @@ -117,8 +115,8 @@ void TThreadedServer::drainDeadClients() { void TThreadedServer::onClientConnected(const shared_ptr<TConnectedClient>& pClient) { Synchronized sync(clientMonitor_); - boost::shared_ptr<TConnectedClientRunner> pRunnable = boost::make_shared<TConnectedClientRunner>(pClient); - boost::shared_ptr<Thread> pThread = threadFactory_->newThread(pRunnable); + shared_ptr<TConnectedClientRunner> pRunnable = make_shared<TConnectedClientRunner>(pClient); + shared_ptr<Thread> pThread = threadFactory_->newThread(pRunnable); pRunnable->thread(pThread); activeClientMap_.insert(ClientMap::value_type(pClient.get(), pThread)); pThread->start(); @@ -136,7 +134,7 @@ void TThreadedServer::onClientDisconnected(TConnectedClient* pClient) { } } -TThreadedServer::TConnectedClientRunner::TConnectedClientRunner(const boost::shared_ptr<TConnectedClient>& pClient) +TThreadedServer::TConnectedClientRunner::TConnectedClientRunner(const shared_ptr<TConnectedClient>& pClient) : pClient_(pClient) { } http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/server/TThreadedServer.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/server/TThreadedServer.h b/lib/cpp/src/thrift/server/TThreadedServer.h index 56da901..1e0a824 100644 --- a/lib/cpp/src/thrift/server/TThreadedServer.h +++ b/lib/cpp/src/thrift/server/TThreadedServer.h @@ -38,43 +38,43 @@ namespace server { class TThreadedServer : public TServerFramework { public: TThreadedServer( - const boost::shared_ptr<apache::thrift::TProcessorFactory>& processorFactory, - const boost::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& transportFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& protocolFactory, - const boost::shared_ptr<apache::thrift::concurrency::ThreadFactory>& threadFactory - = boost::shared_ptr<apache::thrift::concurrency::ThreadFactory>( + const stdcxx::shared_ptr<apache::thrift::TProcessorFactory>& processorFactory, + const stdcxx::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& transportFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& protocolFactory, + const stdcxx::shared_ptr<apache::thrift::concurrency::ThreadFactory>& threadFactory + = stdcxx::shared_ptr<apache::thrift::concurrency::ThreadFactory>( new apache::thrift::concurrency::PlatformThreadFactory(false))); TThreadedServer( - const boost::shared_ptr<apache::thrift::TProcessor>& processor, - const boost::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& transportFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& protocolFactory, - const boost::shared_ptr<apache::thrift::concurrency::ThreadFactory>& threadFactory - = boost::shared_ptr<apache::thrift::concurrency::ThreadFactory>( + const stdcxx::shared_ptr<apache::thrift::TProcessor>& processor, + const stdcxx::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& transportFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& protocolFactory, + const stdcxx::shared_ptr<apache::thrift::concurrency::ThreadFactory>& threadFactory + = stdcxx::shared_ptr<apache::thrift::concurrency::ThreadFactory>( new apache::thrift::concurrency::PlatformThreadFactory(false))); TThreadedServer( - const boost::shared_ptr<apache::thrift::TProcessorFactory>& processorFactory, - const boost::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& inputTransportFactory, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& outputTransportFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& inputProtocolFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& outputProtocolFactory, - const boost::shared_ptr<apache::thrift::concurrency::ThreadFactory>& threadFactory - = boost::shared_ptr<apache::thrift::concurrency::ThreadFactory>( + const stdcxx::shared_ptr<apache::thrift::TProcessorFactory>& processorFactory, + const stdcxx::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& inputTransportFactory, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& outputTransportFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& inputProtocolFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& outputProtocolFactory, + const stdcxx::shared_ptr<apache::thrift::concurrency::ThreadFactory>& threadFactory + = stdcxx::shared_ptr<apache::thrift::concurrency::ThreadFactory>( new apache::thrift::concurrency::PlatformThreadFactory(false))); TThreadedServer( - const boost::shared_ptr<apache::thrift::TProcessor>& processor, - const boost::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& inputTransportFactory, - const boost::shared_ptr<apache::thrift::transport::TTransportFactory>& outputTransportFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& inputProtocolFactory, - const boost::shared_ptr<apache::thrift::protocol::TProtocolFactory>& outputProtocolFactory, - const boost::shared_ptr<apache::thrift::concurrency::ThreadFactory>& threadFactory - = boost::shared_ptr<apache::thrift::concurrency::ThreadFactory>( + const stdcxx::shared_ptr<apache::thrift::TProcessor>& processor, + const stdcxx::shared_ptr<apache::thrift::transport::TServerTransport>& serverTransport, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& inputTransportFactory, + const stdcxx::shared_ptr<apache::thrift::transport::TTransportFactory>& outputTransportFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& inputProtocolFactory, + const stdcxx::shared_ptr<apache::thrift::protocol::TProtocolFactory>& outputProtocolFactory, + const stdcxx::shared_ptr<apache::thrift::concurrency::ThreadFactory>& threadFactory + = stdcxx::shared_ptr<apache::thrift::concurrency::ThreadFactory>( new apache::thrift::concurrency::PlatformThreadFactory(false))); virtual ~TThreadedServer(); @@ -95,14 +95,14 @@ protected: /** * Implementation of TServerFramework::onClientConnected */ - virtual void onClientConnected(const boost::shared_ptr<TConnectedClient>& pClient) /* override */; + virtual void onClientConnected(const stdcxx::shared_ptr<TConnectedClient>& pClient) /* override */; /** * Implementation of TServerFramework::onClientDisconnected */ virtual void onClientDisconnected(TConnectedClient *pClient) /* override */; - boost::shared_ptr<apache::thrift::concurrency::ThreadFactory> threadFactory_; + stdcxx::shared_ptr<apache::thrift::concurrency::ThreadFactory> threadFactory_; /** * A helper wrapper used to wrap the client in something we can use to maintain @@ -114,16 +114,16 @@ protected: class TConnectedClientRunner : public apache::thrift::concurrency::Runnable { public: - TConnectedClientRunner(const boost::shared_ptr<TConnectedClient>& pClient); + TConnectedClientRunner(const stdcxx::shared_ptr<TConnectedClient>& pClient); virtual ~TConnectedClientRunner(); void run() /* override */; private: - boost::shared_ptr<TConnectedClient> pClient_; + stdcxx::shared_ptr<TConnectedClient> pClient_; }; apache::thrift::concurrency::Monitor clientMonitor_; - typedef std::map<TConnectedClient *, boost::shared_ptr<apache::thrift::concurrency::Thread> > ClientMap; + typedef std::map<TConnectedClient *, stdcxx::shared_ptr<apache::thrift::concurrency::Thread> > ClientMap; /** * A map of active clients http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/stdcxx.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/stdcxx.h b/lib/cpp/src/thrift/stdcxx.h new file mode 100644 index 0000000..5113940 --- /dev/null +++ b/lib/cpp/src/thrift/stdcxx.h @@ -0,0 +1,124 @@ +/* + * 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. + */ + +#ifndef _THRIFT_STDCXX_H_ +#define _THRIFT_STDCXX_H_ 1 + +#include <boost/config.hpp> + +/////////////////////////////////////////////////////////////////// +// +// functional (function, bind) +// +/////////////////////////////////////////////////////////////////// + +#if defined(BOOST_NO_CXX11_HDR_FUNCTIONAL) || (defined(_MSC_VER) && _MSC_VER < 1800) || defined(FORCE_BOOST_FUNCTIONAL) +#include <boost/tr1/functional.hpp> +#define _THRIFT_FUNCTIONAL_TR1_ 1 +#endif + +#if _THRIFT_FUNCTIONAL_TR1_ + + namespace apache { namespace thrift { namespace stdcxx { + + using ::std::tr1::bind; + using ::std::tr1::function; + + namespace placeholders { + using ::std::tr1::placeholders::_1; + using ::std::tr1::placeholders::_2; + using ::std::tr1::placeholders::_3; + using ::std::tr1::placeholders::_4; + using ::std::tr1::placeholders::_5; + using ::std::tr1::placeholders::_6; + using ::std::tr1::placeholders::_7; + using ::std::tr1::placeholders::_8; + using ::std::tr1::placeholders::_9; + } // apache::thrift::stdcxx::placeholders + }}} // apache::thrift::stdcxx + +#else + + #include <functional> + + namespace apache { namespace thrift { namespace stdcxx { + using ::std::bind; + using ::std::function; + + namespace placeholders { + using ::std::placeholders::_1; + using ::std::placeholders::_2; + using ::std::placeholders::_3; + using ::std::placeholders::_4; + using ::std::placeholders::_5; + using ::std::placeholders::_6; + using ::std::placeholders::_7; + using ::std::placeholders::_8; + using ::std::placeholders::_9; + } // apache::thrift::stdcxx::placeholders + }}} // apache::thrift::stdcxx + +#endif + +/////////////////////////////////////////////////////////////////// +// +// Smart Pointers +// +/////////////////////////////////////////////////////////////////// + +// We can use std for memory functions only if the compiler supports template aliasing +// The macro BOOST_NO_CXX11_SMART_PTR is defined as 1 under Visual Studio 2010 and 2012 +// which do not support the feature, so we must continue to use C++98 and boost on them. +// We cannot use __cplusplus to detect this either, since Microsoft advertises an older one. + +#if defined(BOOST_NO_CXX11_SMART_PTR) || (defined(_MSC_VER) && _MSC_VER < 1800) || defined(FORCE_BOOST_SMART_PTR) +#include <boost/smart_ptr.hpp> +#else +#include <memory> +#endif + +namespace apache { namespace thrift { namespace stdcxx { + +#if defined(BOOST_NO_CXX11_SMART_PTR) || (defined(_MSC_VER) && _MSC_VER < 1800) || defined(FORCE_BOOST_SMART_PTR) + + using ::boost::const_pointer_cast; + using ::boost::dynamic_pointer_cast; + using ::boost::enable_shared_from_this; + using ::boost::make_shared; + using ::boost::scoped_ptr; + using ::boost::shared_ptr; + using ::boost::static_pointer_cast; + using ::boost::weak_ptr; + +#else + + using ::std::const_pointer_cast; + using ::std::dynamic_pointer_cast; + using ::std::enable_shared_from_this; + using ::std::make_shared; + template <typename T> using scoped_ptr = std::unique_ptr<T>; // compiler must support template aliasing + using ::std::shared_ptr; + using ::std::static_pointer_cast; + using ::std::weak_ptr; + +#endif + +}}} // apache::thrift::stdcxx + +#endif // #ifndef _THRIFT_STDCXX_H_ http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/TBufferTransports.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TBufferTransports.h b/lib/cpp/src/thrift/transport/TBufferTransports.h index e690d0c..37f4596 100644 --- a/lib/cpp/src/thrift/transport/TBufferTransports.h +++ b/lib/cpp/src/thrift/transport/TBufferTransports.h @@ -186,7 +186,7 @@ public: static const int DEFAULT_BUFFER_SIZE = 512; /// Use default buffer sizes. - TBufferedTransport(boost::shared_ptr<TTransport> transport) + TBufferedTransport(stdcxx::shared_ptr<TTransport> transport) : transport_(transport), rBufSize_(DEFAULT_BUFFER_SIZE), wBufSize_(DEFAULT_BUFFER_SIZE), @@ -196,7 +196,7 @@ public: } /// Use specified buffer sizes. - TBufferedTransport(boost::shared_ptr<TTransport> transport, uint32_t sz) + TBufferedTransport(stdcxx::shared_ptr<TTransport> transport, uint32_t sz) : transport_(transport), rBufSize_(sz), wBufSize_(sz), @@ -206,7 +206,7 @@ public: } /// Use specified read and write buffer sizes. - TBufferedTransport(boost::shared_ptr<TTransport> transport, uint32_t rsz, uint32_t wsz) + TBufferedTransport(stdcxx::shared_ptr<TTransport> transport, uint32_t rsz, uint32_t wsz) : transport_(transport), rBufSize_(rsz), wBufSize_(wsz), @@ -255,7 +255,7 @@ public: */ virtual const uint8_t* borrowSlow(uint8_t* buf, uint32_t* len); - boost::shared_ptr<TTransport> getUnderlyingTransport() { return transport_; } + stdcxx::shared_ptr<TTransport> getUnderlyingTransport() { return transport_; } /* * TVirtualTransport provides a default implementation of readAll(). @@ -270,7 +270,7 @@ protected: // Write size never changes. } - boost::shared_ptr<TTransport> transport_; + stdcxx::shared_ptr<TTransport> transport_; uint32_t rBufSize_; uint32_t wBufSize_; @@ -291,8 +291,8 @@ public: /** * Wraps the transport into a buffered one. */ - virtual boost::shared_ptr<TTransport> getTransport(boost::shared_ptr<TTransport> trans) { - return boost::shared_ptr<TTransport>(new TBufferedTransport(trans)); + virtual stdcxx::shared_ptr<TTransport> getTransport(stdcxx::shared_ptr<TTransport> trans) { + return stdcxx::shared_ptr<TTransport>(new TBufferedTransport(trans)); } }; @@ -319,7 +319,7 @@ public: initPointers(); } - TFramedTransport(boost::shared_ptr<TTransport> transport) + TFramedTransport(stdcxx::shared_ptr<TTransport> transport) : transport_(transport), rBufSize_(0), wBufSize_(DEFAULT_BUFFER_SIZE), @@ -330,7 +330,7 @@ public: initPointers(); } - TFramedTransport(boost::shared_ptr<TTransport> transport, + TFramedTransport(stdcxx::shared_ptr<TTransport> transport, uint32_t sz, uint32_t bufReclaimThresh = (std::numeric_limits<uint32_t>::max)()) : transport_(transport), @@ -366,7 +366,7 @@ public: const uint8_t* borrowSlow(uint8_t* buf, uint32_t* len); - boost::shared_ptr<TTransport> getUnderlyingTransport() { return transport_; } + stdcxx::shared_ptr<TTransport> getUnderlyingTransport() { return transport_; } /* * TVirtualTransport provides a default implementation of readAll(). @@ -407,7 +407,7 @@ protected: this->write((uint8_t*)&pad, sizeof(pad)); } - boost::shared_ptr<TTransport> transport_; + stdcxx::shared_ptr<TTransport> transport_; uint32_t rBufSize_; uint32_t wBufSize_; @@ -430,8 +430,8 @@ public: /** * Wraps the transport into a framed one. */ - virtual boost::shared_ptr<TTransport> getTransport(boost::shared_ptr<TTransport> trans) { - return boost::shared_ptr<TTransport>(new TFramedTransport(trans)); + virtual stdcxx::shared_ptr<TTransport> getTransport(stdcxx::shared_ptr<TTransport> trans) { + return stdcxx::shared_ptr<TTransport>(new TFramedTransport(trans)); } }; http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/TFDTransport.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TFDTransport.cpp b/lib/cpp/src/thrift/transport/TFDTransport.cpp index 4bce3a8..93dd100 100644 --- a/lib/cpp/src/thrift/transport/TFDTransport.cpp +++ b/lib/cpp/src/thrift/transport/TFDTransport.cpp @@ -31,7 +31,7 @@ #include <io.h> #endif -using namespace std; +using std::string; namespace apache { namespace thrift { http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/TFileTransport.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TFileTransport.cpp b/lib/cpp/src/thrift/transport/TFileTransport.cpp index e49f81c..4683f95 100644 --- a/lib/cpp/src/thrift/transport/TFileTransport.cpp +++ b/lib/cpp/src/thrift/transport/TFileTransport.cpp @@ -24,7 +24,6 @@ #include <thrift/transport/PlatformSocket.h> #include <thrift/concurrency/FunctionRunner.h> -#include <boost/scoped_ptr.hpp> #include <boost/version.hpp> #if (BOOST_VERSION >= 105700) #include <boost/move/unique_ptr.hpp> @@ -62,7 +61,7 @@ namespace apache { namespace thrift { namespace transport { -using boost::shared_ptr; +using stdcxx::shared_ptr; using std::cerr; using std::cout; using std::endl; @@ -853,7 +852,7 @@ void TFileTransport::seekToChunk(int32_t chunk) { uint32_t oldReadTimeout = getReadTimeout(); setReadTimeout(NO_TAIL_READ_TIMEOUT); // keep on reading unti the last event at point of seekChunk call - boost::scoped_ptr<eventInfo> event; + shared_ptr<eventInfo> event; while ((offset_ + readState_.bufferPtr_) < minEndOffset) { event.reset(readEvent()); if (event.get() == NULL) { http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/TFileTransport.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TFileTransport.h b/lib/cpp/src/thrift/transport/TFileTransport.h index c926c7c..1167497 100644 --- a/lib/cpp/src/thrift/transport/TFileTransport.h +++ b/lib/cpp/src/thrift/transport/TFileTransport.h @@ -28,8 +28,7 @@ #include <stdio.h> #include <boost/atomic.hpp> -#include <boost/scoped_ptr.hpp> -#include <boost/shared_ptr.hpp> +#include <thrift/stdcxx.h> #include <thrift/concurrency/Mutex.h> #include <thrift/concurrency/Monitor.h> @@ -340,7 +339,7 @@ private: // writer thread apache::thrift::concurrency::PlatformThreadFactory threadFactory_; - boost::shared_ptr<apache::thrift::concurrency::Thread> writerThread_; + stdcxx::shared_ptr<apache::thrift::concurrency::Thread> writerThread_; // buffers to hold data before it is flushed. Each element of the buffer stores a msg that // needs to be written to the file. The buffers are swapped by the writer thread. @@ -391,14 +390,14 @@ public: * @param protocolFactory protocol factory * @param inputTransport file transport */ - TFileProcessor(boost::shared_ptr<TProcessor> processor, - boost::shared_ptr<TProtocolFactory> protocolFactory, - boost::shared_ptr<TFileReaderTransport> inputTransport); + TFileProcessor(stdcxx::shared_ptr<TProcessor> processor, + stdcxx::shared_ptr<TProtocolFactory> protocolFactory, + stdcxx::shared_ptr<TFileReaderTransport> inputTransport); - TFileProcessor(boost::shared_ptr<TProcessor> processor, - boost::shared_ptr<TProtocolFactory> inputProtocolFactory, - boost::shared_ptr<TProtocolFactory> outputProtocolFactory, - boost::shared_ptr<TFileReaderTransport> inputTransport); + TFileProcessor(stdcxx::shared_ptr<TProcessor> processor, + stdcxx::shared_ptr<TProtocolFactory> inputProtocolFactory, + stdcxx::shared_ptr<TProtocolFactory> outputProtocolFactory, + stdcxx::shared_ptr<TFileReaderTransport> inputTransport); /** * Constructor @@ -408,10 +407,10 @@ public: * @param inputTransport input file transport * @param output output transport */ - TFileProcessor(boost::shared_ptr<TProcessor> processor, - boost::shared_ptr<TProtocolFactory> protocolFactory, - boost::shared_ptr<TFileReaderTransport> inputTransport, - boost::shared_ptr<TTransport> outputTransport); + TFileProcessor(stdcxx::shared_ptr<TProcessor> processor, + stdcxx::shared_ptr<TProtocolFactory> protocolFactory, + stdcxx::shared_ptr<TFileReaderTransport> inputTransport, + stdcxx::shared_ptr<TTransport> outputTransport); /** * processes events from the file @@ -428,11 +427,11 @@ public: void processChunk(); private: - boost::shared_ptr<TProcessor> processor_; - boost::shared_ptr<TProtocolFactory> inputProtocolFactory_; - boost::shared_ptr<TProtocolFactory> outputProtocolFactory_; - boost::shared_ptr<TFileReaderTransport> inputTransport_; - boost::shared_ptr<TTransport> outputTransport_; + stdcxx::shared_ptr<TProcessor> processor_; + stdcxx::shared_ptr<TProtocolFactory> inputProtocolFactory_; + stdcxx::shared_ptr<TProtocolFactory> outputProtocolFactory_; + stdcxx::shared_ptr<TFileReaderTransport> inputTransport_; + stdcxx::shared_ptr<TTransport> outputTransport_; }; } } http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/THeaderTransport.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/THeaderTransport.cpp b/lib/cpp/src/thrift/transport/THeaderTransport.cpp index f222910..1a687da 100644 --- a/lib/cpp/src/thrift/transport/THeaderTransport.cpp +++ b/lib/cpp/src/thrift/transport/THeaderTransport.cpp @@ -22,6 +22,7 @@ #include <thrift/protocol/TProtocolTypes.h> #include <thrift/protocol/TBinaryProtocol.h> #include <thrift/protocol/TCompactProtocol.h> +#include <thrift/stdcxx.h> #include <limits> #include <utility> @@ -30,12 +31,14 @@ #include <zlib.h> using std::map; -using boost::shared_ptr; using std::string; using std::vector; namespace apache { namespace thrift { + +using stdcxx::shared_ptr; + namespace transport { using namespace apache::thrift::protocol; @@ -255,7 +258,7 @@ void THeaderTransport::readHeaderFormat(uint16_t headerSize, uint32_t sz) { } // Untransform the data section. rBuf will contain result. - untransform(data, safe_numeric_cast<uint32_t>(static_cast<ptrdiff_t>(sz) - (data - rBuf_.get()))); + untransform(data, safe_numeric_cast<uint32_t>(static_cast<ptrdiff_t>(sz) - (data - rBuf_.get()))); } void THeaderTransport::untransform(uint8_t* ptr, uint32_t sz) { http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/THeaderTransport.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/THeaderTransport.h b/lib/cpp/src/thrift/transport/THeaderTransport.h index af20fe3..1a2c8e0 100644 --- a/lib/cpp/src/thrift/transport/THeaderTransport.h +++ b/lib/cpp/src/thrift/transport/THeaderTransport.h @@ -34,7 +34,7 @@ #endif #include <boost/scoped_array.hpp> -#include <boost/shared_ptr.hpp> +#include <thrift/stdcxx.h> #include <thrift/protocol/TProtocolTypes.h> #include <thrift/transport/TBufferTransports.h> @@ -75,7 +75,7 @@ public: static const int THRIFT_MAX_VARINT32_BYTES = 5; /// Use default buffer sizes. - explicit THeaderTransport(const boost::shared_ptr<TTransport>& transport) + explicit THeaderTransport(const stdcxx::shared_ptr<TTransport>& transport) : TVirtualTransport(transport), outTransport_(transport), protoId(T_COMPACT_PROTOCOL), @@ -88,8 +88,8 @@ public: initBuffers(); } - THeaderTransport(const boost::shared_ptr<TTransport> inTransport, - const boost::shared_ptr<TTransport> outTransport) + THeaderTransport(const stdcxx::shared_ptr<TTransport> inTransport, + const stdcxx::shared_ptr<TTransport> outTransport) : TVirtualTransport(inTransport), outTransport_(outTransport), protoId(T_COMPACT_PROTOCOL), @@ -186,7 +186,7 @@ protected: setWriteBuffer(wBuf_.get(), wBufSize_); } - boost::shared_ptr<TTransport> outTransport_; + stdcxx::shared_ptr<TTransport> outTransport_; // 0 and 16th bits must be 0 to differentiate from framed & unframed static const uint32_t HEADER_MAGIC = 0x0FFF0000; @@ -265,8 +265,8 @@ public: /** * Wraps the transport into a header one. */ - virtual boost::shared_ptr<TTransport> getTransport(boost::shared_ptr<TTransport> trans) { - return boost::shared_ptr<TTransport>(new THeaderTransport(trans)); + virtual stdcxx::shared_ptr<TTransport> getTransport(stdcxx::shared_ptr<TTransport> trans) { + return stdcxx::shared_ptr<TTransport>(new THeaderTransport(trans)); } }; } http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/THttpClient.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/THttpClient.cpp b/lib/cpp/src/thrift/transport/THttpClient.cpp index 732c7e4..afd02a8 100644 --- a/lib/cpp/src/thrift/transport/THttpClient.cpp +++ b/lib/cpp/src/thrift/transport/THttpClient.cpp @@ -26,20 +26,20 @@ #include <thrift/transport/THttpClient.h> #include <thrift/transport/TSocket.h> +using std::string; + namespace apache { namespace thrift { namespace transport { -using namespace std; - -THttpClient::THttpClient(boost::shared_ptr<TTransport> transport, +THttpClient::THttpClient(stdcxx::shared_ptr<TTransport> transport, std::string host, std::string path) : THttpTransport(transport), host_(host), path_(path) { } THttpClient::THttpClient(string host, int port, string path) - : THttpTransport(boost::shared_ptr<TTransport>(new TSocket(host, port))), + : THttpTransport(stdcxx::shared_ptr<TTransport>(new TSocket(host, port))), host_(host), path_(path) { } http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/THttpClient.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/THttpClient.h b/lib/cpp/src/thrift/transport/THttpClient.h index 64e7332..96fd5b8 100644 --- a/lib/cpp/src/thrift/transport/THttpClient.h +++ b/lib/cpp/src/thrift/transport/THttpClient.h @@ -28,7 +28,7 @@ namespace transport { class THttpClient : public THttpTransport { public: - THttpClient(boost::shared_ptr<TTransport> transport, std::string host, std::string path = ""); + THttpClient(stdcxx::shared_ptr<TTransport> transport, std::string host, std::string path = ""); THttpClient(std::string host, int port, std::string path = ""); http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/THttpServer.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/THttpServer.cpp b/lib/cpp/src/thrift/transport/THttpServer.cpp index ae3a171..2f48cf6 100644 --- a/lib/cpp/src/thrift/transport/THttpServer.cpp +++ b/lib/cpp/src/thrift/transport/THttpServer.cpp @@ -28,13 +28,13 @@ #include <Shlwapi.h> #endif +using std::string; + namespace apache { namespace thrift { namespace transport { -using namespace std; - -THttpServer::THttpServer(boost::shared_ptr<TTransport> transport) : THttpTransport(transport) { +THttpServer::THttpServer(stdcxx::shared_ptr<TTransport> transport) : THttpTransport(transport) { } THttpServer::~THttpServer() { http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/THttpServer.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/THttpServer.h b/lib/cpp/src/thrift/transport/THttpServer.h index a7ab944..086dd6f 100644 --- a/lib/cpp/src/thrift/transport/THttpServer.h +++ b/lib/cpp/src/thrift/transport/THttpServer.h @@ -28,7 +28,7 @@ namespace transport { class THttpServer : public THttpTransport { public: - THttpServer(boost::shared_ptr<TTransport> transport); + THttpServer(stdcxx::shared_ptr<TTransport> transport); virtual ~THttpServer(); @@ -53,8 +53,8 @@ public: /** * Wraps the transport into a buffered one. */ - virtual boost::shared_ptr<TTransport> getTransport(boost::shared_ptr<TTransport> trans) { - return boost::shared_ptr<TTransport>(new THttpServer(trans)); + virtual stdcxx::shared_ptr<TTransport> getTransport(stdcxx::shared_ptr<TTransport> trans) { + return stdcxx::shared_ptr<TTransport>(new THttpServer(trans)); } }; } http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/THttpTransport.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/THttpTransport.cpp b/lib/cpp/src/thrift/transport/THttpTransport.cpp index f93df23..c97f6d3 100644 --- a/lib/cpp/src/thrift/transport/THttpTransport.cpp +++ b/lib/cpp/src/thrift/transport/THttpTransport.cpp @@ -21,17 +21,17 @@ #include <thrift/transport/THttpTransport.h> +using std::string; + namespace apache { namespace thrift { namespace transport { -using namespace std; - // Yeah, yeah, hacky to put these here, I know. const char* THttpTransport::CRLF = "\r\n"; const int THttpTransport::CRLF_LEN = 2; -THttpTransport::THttpTransport(boost::shared_ptr<TTransport> transport) +THttpTransport::THttpTransport(stdcxx::shared_ptr<TTransport> transport) : transport_(transport), origin_(""), readHeaders_(true), http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/THttpTransport.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/THttpTransport.h b/lib/cpp/src/thrift/transport/THttpTransport.h index a9f564c..3fa80f8 100644 --- a/lib/cpp/src/thrift/transport/THttpTransport.h +++ b/lib/cpp/src/thrift/transport/THttpTransport.h @@ -36,7 +36,7 @@ namespace transport { */ class THttpTransport : public TVirtualTransport<THttpTransport> { public: - THttpTransport(boost::shared_ptr<TTransport> transport); + THttpTransport(stdcxx::shared_ptr<TTransport> transport); virtual ~THttpTransport(); @@ -59,7 +59,7 @@ public: virtual const std::string getOrigin(); protected: - boost::shared_ptr<TTransport> transport_; + stdcxx::shared_ptr<TTransport> transport_; std::string origin_; TMemoryBuffer writeBuffer_; http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/TNonblockingSSLServerSocket.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TNonblockingSSLServerSocket.cpp b/lib/cpp/src/thrift/transport/TNonblockingSSLServerSocket.cpp index 8e8b897..da83bea 100644 --- a/lib/cpp/src/thrift/transport/TNonblockingSSLServerSocket.cpp +++ b/lib/cpp/src/thrift/transport/TNonblockingSSLServerSocket.cpp @@ -27,14 +27,14 @@ namespace transport { /** * Nonblocking SSL server socket implementation. */ -TNonblockingSSLServerSocket::TNonblockingSSLServerSocket(int port, boost::shared_ptr<TSSLSocketFactory> factory) +TNonblockingSSLServerSocket::TNonblockingSSLServerSocket(int port, stdcxx::shared_ptr<TSSLSocketFactory> factory) : TNonblockingServerSocket(port), factory_(factory) { factory_->server(true); } TNonblockingSSLServerSocket::TNonblockingSSLServerSocket(const std::string& address, int port, - boost::shared_ptr<TSSLSocketFactory> factory) + stdcxx::shared_ptr<TSSLSocketFactory> factory) : TNonblockingServerSocket(address, port), factory_(factory) { factory_->server(true); } @@ -42,13 +42,13 @@ TNonblockingSSLServerSocket::TNonblockingSSLServerSocket(const std::string& addr TNonblockingSSLServerSocket::TNonblockingSSLServerSocket(int port, int sendTimeout, int recvTimeout, - boost::shared_ptr<TSSLSocketFactory> factory) + stdcxx::shared_ptr<TSSLSocketFactory> factory) : TNonblockingServerSocket(port, sendTimeout, recvTimeout), factory_(factory) { factory_->server(true); } -boost::shared_ptr<TSocket> TNonblockingSSLServerSocket::createSocket(THRIFT_SOCKET client) { - boost::shared_ptr<TSSLSocket> tSSLSocket; +stdcxx::shared_ptr<TSocket> TNonblockingSSLServerSocket::createSocket(THRIFT_SOCKET client) { + stdcxx::shared_ptr<TSSLSocket> tSSLSocket; tSSLSocket = factory_->createSocket(client); tSSLSocket->setLibeventSafe(); return tSSLSocket; http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/TNonblockingSSLServerSocket.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TNonblockingSSLServerSocket.h b/lib/cpp/src/thrift/transport/TNonblockingSSLServerSocket.h index 66a8a70..7aaff53 100644 --- a/lib/cpp/src/thrift/transport/TNonblockingSSLServerSocket.h +++ b/lib/cpp/src/thrift/transport/TNonblockingSSLServerSocket.h @@ -20,8 +20,8 @@ #ifndef _THRIFT_TRANSPORT_TNONBLOCKINGSSLSERVERSOCKET_H_ #define _THRIFT_TRANSPORT_TNONBLOCKINGSSLSERVERSOCKET_H_ 1 -#include <boost/shared_ptr.hpp> #include <thrift/transport/TNonblockingServerSocket.h> +#include <thrift/stdcxx.h> namespace apache { namespace thrift { @@ -40,7 +40,7 @@ public: * @param port Listening port * @param factory SSL socket factory implementation */ - TNonblockingSSLServerSocket(int port, boost::shared_ptr<TSSLSocketFactory> factory); + TNonblockingSSLServerSocket(int port, stdcxx::shared_ptr<TSSLSocketFactory> factory); /** * Constructor. Binds to the specified address. @@ -51,7 +51,7 @@ public: */ TNonblockingSSLServerSocket(const std::string& address, int port, - boost::shared_ptr<TSSLSocketFactory> factory); + stdcxx::shared_ptr<TSSLSocketFactory> factory); /** * Constructor. Binds to all interfaces. @@ -64,11 +64,11 @@ public: TNonblockingSSLServerSocket(int port, int sendTimeout, int recvTimeout, - boost::shared_ptr<TSSLSocketFactory> factory); + stdcxx::shared_ptr<TSSLSocketFactory> factory); protected: - boost::shared_ptr<TSocket> createSocket(THRIFT_SOCKET socket); - boost::shared_ptr<TSSLSocketFactory> factory_; + stdcxx::shared_ptr<TSocket> createSocket(THRIFT_SOCKET socket); + stdcxx::shared_ptr<TSSLSocketFactory> factory_; }; } } http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/TNonblockingServerSocket.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TNonblockingServerSocket.cpp b/lib/cpp/src/thrift/transport/TNonblockingServerSocket.cpp index 73a458b..89073e1 100644 --- a/lib/cpp/src/thrift/transport/TNonblockingServerSocket.cpp +++ b/lib/cpp/src/thrift/transport/TNonblockingServerSocket.cpp @@ -46,7 +46,6 @@ #include <thrift/transport/TSocket.h> #include <thrift/transport/TNonblockingServerSocket.h> #include <thrift/transport/PlatformSocket.h> -#include <boost/shared_ptr.hpp> #ifndef AF_LOCAL #define AF_LOCAL AF_UNIX @@ -74,8 +73,8 @@ namespace apache { namespace thrift { namespace transport { -using namespace std; -using boost::shared_ptr; +using std::string; +using stdcxx::shared_ptr; TNonblockingServerSocket::TNonblockingServerSocket(int port) : port_(port), http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/TNonblockingServerSocket.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TNonblockingServerSocket.h b/lib/cpp/src/thrift/transport/TNonblockingServerSocket.h index ff88ecb..1d33239 100644 --- a/lib/cpp/src/thrift/transport/TNonblockingServerSocket.h +++ b/lib/cpp/src/thrift/transport/TNonblockingServerSocket.h @@ -22,8 +22,7 @@ #include <thrift/transport/TNonblockingServerTransport.h> #include <thrift/transport/PlatformSocket.h> -#include <thrift/cxxfunctional.h> -#include <boost/shared_ptr.hpp> +#include <thrift/stdcxx.h> namespace apache { namespace thrift { @@ -109,8 +108,8 @@ public: void close(); protected: - boost::shared_ptr<TSocket> acceptImpl(); - virtual boost::shared_ptr<TSocket> createSocket(THRIFT_SOCKET client); + apache::thrift::stdcxx::shared_ptr<TSocket> acceptImpl(); + virtual apache::thrift::stdcxx::shared_ptr<TSocket> createSocket(THRIFT_SOCKET client); private: int port_; http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/TNonblockingServerTransport.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TNonblockingServerTransport.h b/lib/cpp/src/thrift/transport/TNonblockingServerTransport.h index 21b8262..c32a051 100644 --- a/lib/cpp/src/thrift/transport/TNonblockingServerTransport.h +++ b/lib/cpp/src/thrift/transport/TNonblockingServerTransport.h @@ -22,7 +22,7 @@ #include <thrift/transport/TSocket.h> #include <thrift/transport/TTransportException.h> -#include <boost/shared_ptr.hpp> +#include <thrift/stdcxx.h> namespace apache { namespace thrift { @@ -56,8 +56,8 @@ public: * @return A new TTransport object * @throws TTransportException if there is an error */ - boost::shared_ptr<TSocket> accept() { - boost::shared_ptr<TSocket> result = acceptImpl(); + stdcxx::shared_ptr<TSocket> accept() { + stdcxx::shared_ptr<TSocket> result = acceptImpl(); if (!result) { throw TTransportException("accept() may not return NULL"); } @@ -91,7 +91,7 @@ protected: * @return A newly allocated TTransport object * @throw TTransportException If an error occurs */ - virtual boost::shared_ptr<TSocket> acceptImpl() = 0; + virtual stdcxx::shared_ptr<TSocket> acceptImpl() = 0; }; } http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/TPipe.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TPipe.cpp b/lib/cpp/src/thrift/transport/TPipe.cpp index 0f48903..8a84457 100644 --- a/lib/cpp/src/thrift/transport/TPipe.cpp +++ b/lib/cpp/src/thrift/transport/TPipe.cpp @@ -28,8 +28,6 @@ namespace apache { namespace thrift { namespace transport { -using namespace std; - /** * TPipe implementation. */ @@ -160,7 +158,8 @@ uint32_t TWaitableNamedPipeImpl::read(uint8_t* buf, uint32_t len) { end_unread_idx_ = endAsyncRead(); } - uint32_t bytes_to_copy = (std::min)(len, end_unread_idx_ - begin_unread_idx_); + uint32_t __idxsize = end_unread_idx_ - begin_unread_idx_; + uint32_t bytes_to_copy = (len < __idxsize) ? len : __idxsize; memcpy(buf, &buffer_[begin_unread_idx_], bytes_to_copy); begin_unread_idx_ += bytes_to_copy; if (begin_unread_idx_ != end_unread_idx_) { @@ -341,7 +340,7 @@ void pipe_write(HANDLE pipe, const uint8_t* buf, uint32_t len) { // Accessors //--------------------------------------------------------- -string TPipe::getPipename() { +std::string TPipe::getPipename() { return pipename_; } http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/TPipe.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TPipe.h b/lib/cpp/src/thrift/transport/TPipe.h index 5dd8f9a..dfc5f2c 100644 --- a/lib/cpp/src/thrift/transport/TPipe.h +++ b/lib/cpp/src/thrift/transport/TPipe.h @@ -95,7 +95,7 @@ public: HANDLE getNativeWaitHandle(); private: - boost::shared_ptr<TPipeImpl> impl_; + stdcxx::shared_ptr<TPipeImpl> impl_; std::string pipename_; http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/TPipeServer.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TPipeServer.cpp b/lib/cpp/src/thrift/transport/TPipeServer.cpp index 5a07f30..3bceadf 100644 --- a/lib/cpp/src/thrift/transport/TPipeServer.cpp +++ b/lib/cpp/src/thrift/transport/TPipeServer.cpp @@ -22,7 +22,7 @@ #include <thrift/transport/TPipe.h> #include <thrift/transport/TPipeServer.h> -#include <boost/shared_ptr.hpp> +#include <thrift/stdcxx.h> #include <boost/noncopyable.hpp> #ifdef _WIN32 @@ -37,15 +37,14 @@ namespace transport { #ifdef _WIN32 -using namespace std; -using boost::shared_ptr; +using stdcxx::shared_ptr; class TPipeServerImpl : boost::noncopyable { public: TPipeServerImpl() {} virtual ~TPipeServerImpl() {} virtual void interrupt() = 0; - virtual boost::shared_ptr<TTransport> acceptImpl() = 0; + virtual stdcxx::shared_ptr<TTransport> acceptImpl() = 0; virtual HANDLE getPipeHandle() = 0; virtual HANDLE getWrtPipeHandle() = 0; @@ -76,7 +75,7 @@ public: virtual void interrupt() {} // not currently implemented - virtual boost::shared_ptr<TTransport> acceptImpl(); + virtual stdcxx::shared_ptr<TTransport> acceptImpl(); virtual HANDLE getPipeHandle() { return PipeR_.h; } virtual HANDLE getWrtPipeHandle() { return PipeW_.h; } @@ -118,7 +117,7 @@ public: } } - virtual boost::shared_ptr<TTransport> acceptImpl(); + virtual stdcxx::shared_ptr<TTransport> acceptImpl(); virtual HANDLE getPipeHandle() { return Pipe_.h; } virtual HANDLE getWrtPipeHandle() { return INVALID_HANDLE_VALUE; } @@ -142,7 +141,7 @@ private: TCriticalSection pipe_protect_; // only read or write these variables underneath a locked pipe_protect_ - boost::shared_ptr<TPipe> cached_client_; + stdcxx::shared_ptr<TPipe> cached_client_; TAutoHandle Pipe_; }; @@ -404,7 +403,7 @@ bool TAnonPipeServer::createAnonPipe() { //--------------------------------------------------------- // Accessors //--------------------------------------------------------- -string TPipeServer::getPipename() { +std::string TPipeServer::getPipename() { return pipename_; } http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/TPipeServer.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TPipeServer.h b/lib/cpp/src/thrift/transport/TPipeServer.h index 405793e..117773c 100644 --- a/lib/cpp/src/thrift/transport/TPipeServer.h +++ b/lib/cpp/src/thrift/transport/TPipeServer.h @@ -21,7 +21,7 @@ #define _THRIFT_TRANSPORT_TSERVERWINPIPES_H_ 1 #include <thrift/transport/TServerTransport.h> -#include <boost/shared_ptr.hpp> +#include <thrift/stdcxx.h> #ifndef _WIN32 #include <thrift/transport/TServerSocket.h> #endif @@ -82,10 +82,10 @@ public: HANDLE getNativeWaitHandle(); protected: - virtual boost::shared_ptr<TTransport> acceptImpl(); + virtual stdcxx::shared_ptr<TTransport> acceptImpl(); private: - boost::shared_ptr<TPipeServerImpl> impl_; + stdcxx::shared_ptr<TPipeServerImpl> impl_; std::string pipename_; uint32_t bufsize_; http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp b/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp index 89423b4..8e81ad7 100644 --- a/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp +++ b/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp @@ -27,14 +27,14 @@ namespace transport { /** * SSL server socket implementation. */ -TSSLServerSocket::TSSLServerSocket(int port, boost::shared_ptr<TSSLSocketFactory> factory) +TSSLServerSocket::TSSLServerSocket(int port, stdcxx::shared_ptr<TSSLSocketFactory> factory) : TServerSocket(port), factory_(factory) { factory_->server(true); } TSSLServerSocket::TSSLServerSocket(const std::string& address, int port, - boost::shared_ptr<TSSLSocketFactory> factory) + stdcxx::shared_ptr<TSSLSocketFactory> factory) : TServerSocket(address, port), factory_(factory) { factory_->server(true); } @@ -42,12 +42,12 @@ TSSLServerSocket::TSSLServerSocket(const std::string& address, TSSLServerSocket::TSSLServerSocket(int port, int sendTimeout, int recvTimeout, - boost::shared_ptr<TSSLSocketFactory> factory) + stdcxx::shared_ptr<TSSLSocketFactory> factory) : TServerSocket(port, sendTimeout, recvTimeout), factory_(factory) { factory_->server(true); } -boost::shared_ptr<TSocket> TSSLServerSocket::createSocket(THRIFT_SOCKET client) { +stdcxx::shared_ptr<TSocket> TSSLServerSocket::createSocket(THRIFT_SOCKET client) { if (interruptableChildren_) { return factory_->createSocket(client, pChildInterruptSockReader_); http://git-wip-us.apache.org/repos/asf/thrift/blob/82ae9575/lib/cpp/src/thrift/transport/TSSLServerSocket.h ---------------------------------------------------------------------- diff --git a/lib/cpp/src/thrift/transport/TSSLServerSocket.h b/lib/cpp/src/thrift/transport/TSSLServerSocket.h index dfdbde8..dda9af4 100644 --- a/lib/cpp/src/thrift/transport/TSSLServerSocket.h +++ b/lib/cpp/src/thrift/transport/TSSLServerSocket.h @@ -20,7 +20,7 @@ #ifndef _THRIFT_TRANSPORT_TSSLSERVERSOCKET_H_ #define _THRIFT_TRANSPORT_TSSLSERVERSOCKET_H_ 1 -#include <boost/shared_ptr.hpp> +#include <thrift/stdcxx.h> #include <thrift/transport/TServerSocket.h> namespace apache { @@ -40,7 +40,7 @@ public: * @param port Listening port * @param factory SSL socket factory implementation */ - TSSLServerSocket(int port, boost::shared_ptr<TSSLSocketFactory> factory); + TSSLServerSocket(int port, stdcxx::shared_ptr<TSSLSocketFactory> factory); /** * Constructor. Binds to the specified address. @@ -51,7 +51,7 @@ public: */ TSSLServerSocket(const std::string& address, int port, - boost::shared_ptr<TSSLSocketFactory> factory); + stdcxx::shared_ptr<TSSLSocketFactory> factory); /** * Constructor. Binds to all interfaces. @@ -64,11 +64,11 @@ public: TSSLServerSocket(int port, int sendTimeout, int recvTimeout, - boost::shared_ptr<TSSLSocketFactory> factory); + stdcxx::shared_ptr<TSSLSocketFactory> factory); protected: - boost::shared_ptr<TSocket> createSocket(THRIFT_SOCKET socket); - boost::shared_ptr<TSSLSocketFactory> factory_; + stdcxx::shared_ptr<TSocket> createSocket(THRIFT_SOCKET socket); + stdcxx::shared_ptr<TSSLSocketFactory> factory_; }; } }