proxygen
SimpleObservingPipelineFactory Class Reference
Inheritance diagram for SimpleObservingPipelineFactory:
wangle::ObservingPipelineFactory< std::string, std::string > wangle::RoutingDataPipelineFactory< ObservingPipeline< std::string >, std::string >

Public Member Functions

 SimpleObservingPipelineFactory (std::shared_ptr< SimpleServerPool > serverPool, std::shared_ptr< SimpleBroadcastPipelineFactory > broadcastPipelineFactory)
 
SimpleObservingPipeline::Ptr newPipeline (std::shared_ptr< AsyncTransportWrapper > socket, const std::string &routingData, RoutingDataHandler< std::string > *, std::shared_ptr< TransportInfo > transportInfo) override
 
- Public Member Functions inherited from wangle::ObservingPipelineFactory< std::string, std::string >
 ObservingPipelineFactory (std::shared_ptr< ServerPool< std::string, DefaultPipeline >> serverPool, std::shared_ptr< BroadcastPipelineFactory< std::string, std::string >> broadcastPipelineFactory)
 
ObservingPipeline< std::string >::Ptr newPipeline (std::shared_ptr< folly::AsyncTransportWrapper > socket, const std::string &routingData, RoutingDataHandler< std::string > *, std::shared_ptr< TransportInfo > transportInfo) override
 
virtual BroadcastPool< std::string, std::string, DefaultPipeline > * broadcastPool (std::shared_ptr< BaseClientBootstrapFactory<>> clientFactory=nullptr)
 
- Public Member Functions inherited from wangle::RoutingDataPipelineFactory< ObservingPipeline< std::string >, std::string >
virtual ~RoutingDataPipelineFactory ()
 

Additional Inherited Members

- Protected Attributes inherited from wangle::ObservingPipelineFactory< std::string, std::string >
std::shared_ptr< ServerPool< std::string, DefaultPipeline > > serverPool_
 
std::shared_ptr< BroadcastPipelineFactory< std::string, std::string > > broadcastPipelineFactory_
 
folly::ThreadLocalPtr< BroadcastPool< std::string, std::string, DefaultPipeline > > broadcastPool_
 

Detailed Description

An ObservingPipeline that maintains the client socket connection and subscribes to the BroadcastPipeline to receive messages sent by the upstream server. A new ObservingPipeline is created for each client connection.

Definition at line 184 of file BroadcastProxy.cpp.

Constructor & Destructor Documentation

SimpleObservingPipelineFactory::SimpleObservingPipelineFactory ( std::shared_ptr< SimpleServerPool serverPool,
std::shared_ptr< SimpleBroadcastPipelineFactory broadcastPipelineFactory 
)
inline

Definition at line 187 of file BroadcastProxy.cpp.

Member Function Documentation

SimpleObservingPipeline::Ptr SimpleObservingPipelineFactory::newPipeline ( std::shared_ptr< AsyncTransportWrapper socket,
const std::string routingData,
RoutingDataHandler< std::string > *  ,
std::shared_ptr< TransportInfo transportInfo 
)
inlineoverridevirtual

Implements wangle::RoutingDataPipelineFactory< ObservingPipeline< std::string >, std::string >.

Definition at line 193 of file BroadcastProxy.cpp.

References wangle::Pipeline< R, W >::create(), and folly::INFO.

197  {
198  LOG(INFO) << "Creating a new ObservingPipeline for client "
199  << *(transportInfo->remoteAddr);
200 
201  auto pipeline = SimpleObservingPipeline::create();
202  pipeline->addBack(AsyncSocketHandler(socket));
203  pipeline->addBack(StringToByteEncoder());
204  pipeline->addBack(
206  routingData, broadcastPool()));
207  pipeline->finalize();
208  return pipeline;
209  }
NetworkSocket socket(int af, int type, int protocol)
Definition: NetOps.cpp:412
static Ptr create()
Definition: Pipeline.h:174
virtual BroadcastPool< std::string, std::string, DefaultPipeline > * broadcastPool(std::shared_ptr< BaseClientBootstrapFactory<>> clientFactory=nullptr)

The documentation for this class was generated from the following file: