proxygen
proxygen::PushHandler Class Reference

#include <PushHandler.h>

Inheritance diagram for proxygen::PushHandler:
proxygen::RequestHandler

Classes

class  InnerPushHandler
 

Public Member Functions

 PushHandler ()
 
void requestComplete () noexceptoverride
 
void onError (ProxygenError) noexceptoverride
 
HTTPPushTransactionHandlergetHandler ()
 
- Public Member Functions inherited from proxygen::RequestHandler
virtual void setResponseHandler (ResponseHandler *handler) noexcept
 
virtual void onEgressPaused () noexcept
 
virtual void onEgressResumed () noexcept
 
virtual bool canHandleExpect () noexcept
 
virtual ExMessageHandlergetExHandler () noexcept
 
virtual ResponseHandlergetDownstream () noexcept
 
virtual ~RequestHandler ()
 

Private Member Functions

void onRequest (std::unique_ptr< HTTPMessage >) noexceptoverride
 
void onBody (std::unique_ptr< folly::IOBuf >) noexceptoverride
 
void onUpgrade (proxygen::UpgradeProtocol) noexceptoverride
 
void onEOM () noexceptoverride
 

Private Attributes

InnerPushHandler innerHandler_
 

Additional Inherited Members

- Protected Attributes inherited from proxygen::RequestHandler
ResponseHandlerdownstream_ {nullptr}
 

Detailed Description

Definition at line 17 of file PushHandler.h.

Constructor & Destructor Documentation

proxygen::PushHandler::PushHandler ( )
inline

Definition at line 19 of file PushHandler.h.

20  : innerHandler_(*this) {}
InnerPushHandler innerHandler_
Definition: PushHandler.h:68

Member Function Documentation

HTTPPushTransactionHandler* proxygen::PushHandler::getHandler ( )
inline

Definition at line 26 of file PushHandler.h.

References innerHandler_.

26  {
27  return &innerHandler_;
28  }
InnerPushHandler innerHandler_
Definition: PushHandler.h:68
void proxygen::PushHandler::onBody ( std::unique_ptr< folly::IOBuf body)
inlineoverrideprivatevirtualnoexcept

Invoked when we get part of body for the request.

Implements proxygen::RequestHandler.

Definition at line 56 of file PushHandler.h.

56  {
57  LOG(FATAL) << "Unreachable";
58  }
void proxygen::PushHandler::onEOM ( )
inlineoverrideprivatevirtualnoexcept

Invoked when we finish receiving the body.

Implements proxygen::RequestHandler.

Definition at line 64 of file PushHandler.h.

64  {
65  LOG(FATAL) << "Unreachable";
66  }
void proxygen::PushHandler::onError ( ProxygenError  err)
inlineoverridevirtualnoexcept

Request failed. Maybe because of read/write error on socket or client not being able to send request in time.

NOTE: Can be invoked at any time (except for before onRequest).

No more callbacks will be invoked after this. You should clean up after yourself.

Implements proxygen::RequestHandler.

Definition at line 24 of file PushHandler.h.

Referenced by proxygen::PushHandler::InnerPushHandler::onError().

24 { delete this; }
void proxygen::PushHandler::onRequest ( std::unique_ptr< HTTPMessage headers)
inlineoverrideprivatevirtualnoexcept

Invoked when we have successfully fetched headers from client. This will always be the first callback invoked on your handler.

Implements proxygen::RequestHandler.

Definition at line 52 of file PushHandler.h.

52  {
53  LOG(FATAL) << "Unreachable";
54  }
void proxygen::PushHandler::onUpgrade ( proxygen::UpgradeProtocol  prot)
inlineoverrideprivatevirtualnoexcept

Invoked when the session has been upgraded to a different protocol

Implements proxygen::RequestHandler.

Definition at line 60 of file PushHandler.h.

60  {
61  LOG(FATAL) << "Unreachable";
62  }
void proxygen::PushHandler::requestComplete ( )
inlineoverridevirtualnoexcept

Invoked when request processing has been completed and nothing more needs to be done. This may be a good place to log some stats and clean up resources. This is distinct from onEOM() because it is invoked after the response is fully sent. Once this callback has been received, downstream_ should be considered invalid.

Implements proxygen::RequestHandler.

Definition at line 23 of file PushHandler.h.

Referenced by proxygen::PushHandler::InnerPushHandler::detachTransaction().

23 { delete this; }

Member Data Documentation

InnerPushHandler proxygen::PushHandler::innerHandler_
private

Definition at line 68 of file PushHandler.h.

Referenced by getHandler().


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