12#ifndef ROOT_THttpLongPollEngine 
   13#define ROOT_THttpLongPollEngine 
   32   std::shared_ptr<THttpCallArg> 
fPoll; 
 
   50   void Send(
const void *buf, 
int len) 
override;
 
   58   void PostProcess(std::shared_ptr<THttpCallArg> &arg) 
override;
 
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
 
Emulation of websocket with long poll requests.
 
std::string fBufHeader
!< buffered data
 
std::string MakeBuffer(const void *buf, int len, const char *hdr=nullptr)
!< default reply on the longpoll request
 
std::shared_ptr< THttpCallArg > fPoll
!< protect polling request to use it from different threads
 
void Send(const void *buf, int len) override
Send binary data via connection.
 
void SendHeader(const char *hdr, const void *buf, int len) override
Send binary data with text header via connection.
 
std::mutex fMutex
!< if true, only content can be used for data transfer
 
virtual Bool_t CanSendDirectly() override
Indicate that polling requests is there or buffer empty and can be immediately invoked.
 
THttpLongPollEngine(bool raw=false)
constructor
 
static const std::string gLongPollNope
!< buffered header
 
void ClearHandle(Bool_t) override
Clear request.
 
void SendCharStar(const char *buf) override
Send const char data.
 
Bool_t PreProcess(std::shared_ptr< THttpCallArg > &arg) override
Preview data for given socket.
 
EBufKind fBufKind
!< hold polling request, which can be immediately used for the next sending
 
UInt_t GetId() const override
Returns ID of the engine, created from this pointer.
 
void PostProcess(std::shared_ptr< THttpCallArg > &arg) override
Post process http request.
 
std::string fBuf
!< if buffered data available
 
virtual ~THttpLongPollEngine()=default
 
Online http server for arbitrary ROOT application.
 
Internal instance used to exchange WS functionality between THttpServer and THttpWSHandler.