26 template <
class Context>
48 template <
class Rin,
class Rout = Rin,
class Win = Rout,
class Wout = Rin>
60 virtual void read(Context* ctx, Rin msg) = 0;
109 template <
class Rin,
class Rout = Rin>
121 virtual void read(Context* ctx, Rin msg) = 0;
136 template <
class Win,
class Wout = Win>
158 template <
class R,
class W = R>
163 void read(Context* ctx, R msg)
override {
164 ctx->
fireRead(std::forward<R>(msg));
168 return ctx->
fireWrite(std::forward<W>(msg));
virtual void fireTransportInactive()=0
virtual void fireTransportActive()=0
virtual folly::Future< folly::Unit > fireWriteException(folly::exception_wrapper e)=0
virtual void transportInactive(Context *ctx)
void write(const T &in, folly::io::Appender &appender)
virtual folly::Future< folly::Unit > writeException(Context *ctx, folly::exception_wrapper e)
virtual folly::Future< folly::Unit > close(Context *ctx)
virtual void fireTransportActive()=0
InboundHandlerContext< Rout > Context
virtual void fireReadEOF()=0
virtual folly::Future< folly::Unit > fireWrite(Out msg)=0
constexpr detail::Map< Move > move
virtual void transportInactive(Context *ctx)
HandlerAdapter< folly::IOBufQueue &, std::unique_ptr< folly::IOBuf > > BytesToBytesHandler
OutboundHandlerContext< Wout > Context
folly::Future< folly::Unit > write(Context *ctx, W msg) override
virtual void readEOF(Context *ctx)
virtual folly::Future< folly::Unit > fireClose()=0
virtual void transportActive(Context *ctx)
virtual void attachPipeline(Context *)
size_t read(T &out, folly::io::Cursor &cursor)
virtual void fireTransportInactive()=0
virtual void detachPipeline(Context *)
void read(Context *ctx, R msg) override
virtual void fireReadEOF()=0
virtual ~HandlerBase()=default
InboundHandler< folly::IOBufQueue &, std::unique_ptr< folly::IOBuf > > InboundBytesToBytesHandler
virtual folly::Future< folly::Unit > close(Context *ctx)
virtual void fireRead(In msg)=0
virtual folly::Future< folly::Unit > writeException(Context *ctx, folly::exception_wrapper e)
virtual folly::Future< folly::Unit > fireClose()=0
virtual void fireReadException(folly::exception_wrapper e)=0
Handler< R, R, W, W >::Context Context
virtual void fireReadException(folly::exception_wrapper e)=0
virtual void readException(Context *ctx, folly::exception_wrapper e)
virtual folly::Future< folly::Unit > fireWriteException(folly::exception_wrapper e)=0
OutboundHandler< std::unique_ptr< folly::IOBuf > > OutboundBytesToBytesHandler
virtual void readException(Context *ctx, folly::exception_wrapper e)
virtual void transportActive(Context *ctx)
HandlerContext< Rout, Wout > Context
virtual void readEOF(Context *ctx)