proxygen
|
#include <Pipeline.h>
Public Types | |
using | Ptr = std::shared_ptr< Pipeline > |
Public Member Functions | |
~Pipeline () override | |
template<class T = R> | |
std::enable_if<!std::is_same< T, folly::Unit >::value >::type | read (R msg) |
template<class T = R> | |
std::enable_if<!std::is_same< T, folly::Unit >::value >::type | readEOF () |
template<class T = R> | |
std::enable_if<!std::is_same< T, folly::Unit >::value >::type | readException (folly::exception_wrapper e) |
template<class T = R> | |
std::enable_if<!std::is_same< T, folly::Unit >::value >::type | transportActive () |
template<class T = R> | |
std::enable_if<!std::is_same< T, folly::Unit >::value >::type | transportInactive () |
template<class T = W> | |
std::enable_if<!std::is_same< T, folly::Unit >::value, folly::Future< folly::Unit > >::type | write (W msg) |
template<class T = W> | |
std::enable_if<!std::is_same< T, folly::Unit >::value, folly::Future< folly::Unit > >::type | writeException (folly::exception_wrapper e) |
template<class T = W> | |
std::enable_if<!std::is_same< T, folly::Unit >::value, folly::Future< folly::Unit > >::type | close () |
void | finalize () override |
Public Member Functions inherited from wangle::PipelineBase | |
virtual | ~PipelineBase ()=default |
void | setPipelineManager (PipelineManager *manager) |
PipelineManager * | getPipelineManager () |
void | deletePipeline () |
void | setTransport (std::shared_ptr< folly::AsyncTransport > transport) |
std::shared_ptr< folly::AsyncTransport > | getTransport () |
void | setWriteFlags (folly::WriteFlags flags) |
folly::WriteFlags | getWriteFlags () |
void | setReadBufferSettings (uint64_t minAvailable, uint64_t allocationSize) |
std::pair< uint64_t, uint64_t > | getReadBufferSettings () |
void | setTransportInfo (std::shared_ptr< TransportInfo > tInfo) |
std::shared_ptr< TransportInfo > | getTransportInfo () |
template<class H > | |
PipelineBase & | addBack (std::shared_ptr< H > handler) |
template<class H > | |
PipelineBase & | addBack (H &&handler) |
template<class H > | |
PipelineBase & | addBack (H *handler) |
template<class H > | |
PipelineBase & | addFront (std::shared_ptr< H > handler) |
template<class H > | |
PipelineBase & | addFront (H &&handler) |
template<class H > | |
PipelineBase & | addFront (H *handler) |
template<class H > | |
PipelineBase & | remove (H *handler) |
template<class H > | |
PipelineBase & | remove () |
PipelineBase & | removeFront () |
PipelineBase & | removeBack () |
template<class H > | |
H * | getHandler (int i) |
template<class H > | |
H * | getHandler () |
template<class H > | |
ContextType< H >::type * | getContext (int i) |
template<class H > | |
ContextType< H >::type * | getContext () |
template<class H > | |
bool | setOwner (H *handler) |
size_t | numHandlers () const |
Static Public Member Functions | |
static Ptr | create () |
Protected Member Functions | |
Pipeline () | |
Pipeline (bool isStatic) | |
Protected Member Functions inherited from wangle::PipelineBase | |
template<class Context > | |
void | addContextFront (Context *ctx) |
void | detachHandlers () |
Private Attributes | |
bool | isStatic_ {false} |
InboundLink< R > * | front_ {nullptr} |
OutboundLink< W > * | back_ {nullptr} |
Additional Inherited Members | |
Protected Attributes inherited from wangle::PipelineBase | |
std::vector< std::shared_ptr< PipelineContext > > | ctxs_ |
std::vector< PipelineContext * > | inCtxs_ |
std::vector< PipelineContext * > | outCtxs_ |
Definition at line 170 of file Pipeline.h.
using wangle::Pipeline< R, W >::Ptr = std::shared_ptr<Pipeline> |
Definition at line 172 of file Pipeline.h.
|
override |
Definition at line 32 of file Pipeline-inl.h.
References wangle::PipelineBase::detachHandlers(), and wangle::Pipeline< R, W >::isStatic_.
|
protected |
Definition at line 24 of file Pipeline-inl.h.
|
explicitprotected |
std::enable_if<!std::is_same< T, folly::Unit >::value, folly::Future< folly::Unit > >::type wangle::Pipeline< R, W >::close | ( | ) |
Definition at line 258 of file Pipeline-inl.h.
References wangle::Pipeline< R, W >::back_, and wangle::OutboundLink< Out >::close().
Referenced by AcceptRoutingHandlerTest::clientConnectAndCleanClose().
|
inlinestatic |
Definition at line 174 of file Pipeline.h.
Referenced by TestClientPipelineFactory::newPipeline(), RpcPipelineFactory::newPipeline(), EchoPipelineFactory::newPipeline(), TelnetPipelineFactory::newPipeline(), TestPipelineFactory::newPipeline(), wangle::ServerPipelineFactory< Req, Resp >::newPipeline(), CustomPipelineFactory::newPipeline(), wangle::ClientPipelineFactory< Req, Resp >::newPipeline(), FileServerPipelineFactory::newPipeline(), wangle::ObservingPipelineFactory< std::string, std::string >::newPipeline(), wangle::AcceptRoutingPipelineFactory< Pipeline, R >::newPipeline(), wangle::MockDownstreamPipelineFactory::newPipeline(), wangle::MockBroadcastPipelineFactory::newPipeline(), wangle::MockObservingPipelineFactory::newPipeline(), SimpleObservingPipelineFactory::newPipeline(), TestHandlerPipelineFactory< HandlerPipeline >::newPipeline(), wangle::DefaultAcceptPipelineFactory::newPipeline(), wangle::AcceptRoutingHandler< DefaultPipeline, char >::newRoutingPipeline(), ObservingHandlerTest::SetUp(), and BroadcastHandlerTest::SetUp().
|
overridevirtual |
Implements wangle::PipelineBase.
Definition at line 267 of file Pipeline-inl.h.
References wangle::Pipeline< R, W >::back_, wangle::PipelineBase::ctxs_, wangle::Pipeline< R, W >::front_, i, wangle::PipelineBase::inCtxs_, and wangle::PipelineBase::outCtxs_.
Referenced by wangle::StaticPipeline< R, W >::initialize(), and wangle::ClientDispatcherBase< wangle::Pipeline, folly::Req, Resp >::setPipeline().
std::enable_if<!std::is_same< T, folly::Unit >::value >::type wangle::Pipeline< R, W >::read | ( | R | msg | ) |
Definition at line 185 of file Pipeline-inl.h.
References wangle::Pipeline< R, W >::front_, wangle::InboundLink< In >::read(), type, and value.
std::enable_if<!std::is_same< T, folly::Unit >::value >::type wangle::Pipeline< R, W >::readEOF | ( | ) |
Definition at line 195 of file Pipeline-inl.h.
References wangle::Pipeline< R, W >::front_, wangle::InboundLink< In >::readEOF(), type, and value.
Referenced by TEST_F().
std::enable_if<!std::is_same< T, folly::Unit >::value >::type wangle::Pipeline< R, W >::readException | ( | folly::exception_wrapper | e | ) |
Definition at line 223 of file Pipeline-inl.h.
References wangle::Pipeline< R, W >::front_, folly::gen::move, wangle::InboundLink< In >::readException(), type, and value.
Referenced by TEST_F().
std::enable_if<!std::is_same< T, folly::Unit >::value >::type wangle::Pipeline< R, W >::transportActive | ( | ) |
Definition at line 205 of file Pipeline-inl.h.
References wangle::Pipeline< R, W >::front_, wangle::InboundLink< In >::transportActive(), type, and value.
Referenced by wangle::ClientBootstrap< Pipeline >::ConnectCallback::connectSuccess(), and ProxyFrontendHandler::transportActive().
std::enable_if<!std::is_same< T, folly::Unit >::value >::type wangle::Pipeline< R, W >::transportInactive | ( | ) |
Definition at line 214 of file Pipeline-inl.h.
References wangle::Pipeline< R, W >::front_, wangle::InboundLink< In >::transportInactive(), type, and value.
Referenced by ProxyFrontendHandler::transportActive().
std::enable_if<!std::is_same< T, folly::Unit >::value, folly::Future< folly::Unit > >::type wangle::Pipeline< R, W >::write | ( | W | msg | ) |
Definition at line 235 of file Pipeline-inl.h.
References wangle::Pipeline< R, W >::back_, type, value, and wangle::OutboundLink< Out >::write().
Referenced by AcceptRoutingHandlerTest::clientConnectAndWrite(), wangle::SerialClientDispatcher< wangle::Pipeline, folly::Req, Resp >::operator()(), and wangle::PipelinedClientDispatcher< Pipeline, Req, Resp >::operator()().
std::enable_if<!std::is_same< T, folly::Unit >::value, folly::Future< folly::Unit > >::type wangle::Pipeline< R, W >::writeException | ( | folly::exception_wrapper | e | ) |
Definition at line 246 of file Pipeline-inl.h.
References wangle::Pipeline< R, W >::back_, folly::gen::move, type, value, and wangle::OutboundLink< Out >::writeException().
Referenced by AcceptRoutingHandlerTest::sendClientException(), and TEST_F().
|
private |
Definition at line 225 of file Pipeline.h.
Referenced by wangle::Pipeline< R, W >::close(), wangle::Pipeline< R, W >::finalize(), wangle::Pipeline< R, W >::write(), and wangle::Pipeline< R, W >::writeException().
|
private |
Definition at line 224 of file Pipeline.h.
Referenced by wangle::Pipeline< R, W >::finalize(), wangle::Pipeline< R, W >::read(), wangle::Pipeline< R, W >::readEOF(), wangle::Pipeline< R, W >::readException(), wangle::Pipeline< R, W >::transportActive(), and wangle::Pipeline< R, W >::transportInactive().
|
private |
Definition at line 222 of file Pipeline.h.
Referenced by wangle::Pipeline< R, W >::Pipeline(), and wangle::Pipeline< R, W >::~Pipeline().