24 template <
typename Pipeline,
typename Req,
typename Resp = Req>
34 }
catch (
const std::invalid_argument& e) {
42 pipeline->template remove<ClientDispatcherBase>();
43 }
catch (
const std::invalid_argument& e) {
68 template <
typename Pipeline,
typename Req,
typename Resp = Req>
74 void read(Context*, Resp in)
override {
85 auto f = p_->getFuture();
99 template <
typename Pipeline,
typename Req,
typename Resp = Req>
106 void read(Context*, Resp in)
override {
107 DCHECK(p_.size() >= 1);
124 std::deque<folly::Promise<Resp>>
p_;
void read(Context *, Resp in) override
constexpr detail::Map< Move > move
folly::Optional< folly::Promise< Resp > > p_
HandlerContext< Resp, Req > * getContext()
std::enable_if<!std::is_same< T, folly::Unit >::value, folly::Future< folly::Unit > >::type write(W msg)
HandlerAdapter< Resp, Req >::Context Context
void setPipeline(Pipeline *pipeline)
HandlerAdapter< Resp, Req >::Context Context
PipelineBase & addBack(std::shared_ptr< H > handler)
virtual folly::Future< folly::Unit > close(Context *ctx)
~ClientDispatcherBase() override
PipelineBase & remove(H *handler)
folly::Future< folly::Unit > close() override
folly::Future< Resp > operator()(Req arg) override
folly::Future< folly::Unit > close(Context *ctx) override
folly::Future< Resp > operator()(Req arg) override
void read(Context *, Resp in) override
virtual void finalize()=0
std::deque< folly::Promise< Resp > > p_
HandlerAdapter< Resp, Req >::Context Context