[ 
https://issues.apache.org/jira/browse/THRIFT-1316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13095411#comment-13095411
 ] 

Bryan Duxbury commented on THRIFT-1316:
---------------------------------------

This patch doesn't apply cleanly to trunk.

>  thrift: update server classes to accept

> -----------------------------------------
>
>                 Key: THRIFT-1316
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1316
>             Project: Thrift
>          Issue Type: Improvement
>          Components: C++ - Library
>            Reporter: Dave Watson
>            Priority: Minor
>         Attachments: 
> 0027-thrift-update-server-classes-to-accept-TProcessorFac.patch
>
>
> From d645a23c026536598f7a922d2ebaeb599f4dcfdc Mon Sep 17 00:00:00 2001
> From: Adam Simpkins <simpk...@fb.com>
> Date: Mon, 19 Apr 2010 19:09:25 +0000
> Subject: [PATCH 27/33] thrift: update server classes to accept
>  TProcessorFactory objects
> Summary:
> Update TSimpleServer, TThreadedServer, TThreadPoolServer, and
> TNonblockingServer constructors to accept either a TProcessorFactory or
> a TProcessor.
> Unfortunately, using boost::shared_ptr makes this somewhat more
> annoying, since shared_ptr's are no help for overload resolution:
> each shared_ptr type defines a template constructor that accepts any
> other arbitrary pointer type.  (The constructor is defined, it is just
> an error to actually try an instantiate it with an inconvertible pointer
> type.  However, because it is defined, it is still treated as valid for
> overload resolution.)  Therefore we define a THRIFT_OVERLOAD_IF helper
> macro to force overload resolution to occur properly.
> Test Plan:
> Ran the test code from [fb unittest], although that only tests singleton
> factories.  I also have an example program that demonstrates using real
> processor factories.  I'll check that in separately.
> Revert Plan:
> OK
> Conflicts:
>       lib/cpp/src/Thrift.h
> ---
>  lib/cpp/src/Thrift.h                     |   25 ++++++++
>  lib/cpp/src/server/TNonblockingServer.h  |   66 +++++++++++++++++++--
>  lib/cpp/src/server/TServer.h             |   92 +++++++++++++++++++++++++----
>  lib/cpp/src/server/TSimpleServer.h       |   51 +++++++++++++---
>  lib/cpp/src/server/TThreadPoolServer.cpp |   22 -------
>  lib/cpp/src/server/TThreadPoolServer.h   |   73 +++++++++++++++++++----
>  lib/cpp/src/server/TThreadedServer.cpp   |   22 ++------
>  lib/cpp/src/server/TThreadedServer.h     |   91 ++++++++++++++++++++++++++---
>  8 files changed, 351 insertions(+), 91 deletions(-)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to