cumbia-http 1.x
Qt widgets on top of the cumbia C++ library
Public Member Functions | List of all members
CuHttpSrcMan Class Reference

Http source queue and data manager. More...

#include <cuhttpsrcman.h>

Inheritance diagram for CuHttpSrcMan:
Inheritance graph
[legend]

Public Member Functions

 CuHttpSrcMan (CuHttpSrcQueueManListener *l, int src_dequeue_chunk_siz=100, QObject *parent=nullptr)
 
virtual ~CuHttpSrcMan ()
 
void setQueueManListener (CuHttpSrcQueueManListener *l)
 
void enqueueSrc (const CuHTTPSrc &httpsrc, CuDataListener *l, const std::string &method, const QString &chan, const CuVariant &w_val, const CuData &options)
 
void cancelSrc (const CuHTTPSrc &httpsrc, const std::string &method, CuDataListener *l, const QString &)
 cancel a request that may be on the way More...
 
bool queue_contains (const std::string &src, CuDataListener *l) const
 
QList< SrcDatatakeSrcs (const QString &src) const
 
int dequeueItems (QList< SrcItem > &read_i, QList< SrcItem > &write_i)
 
QMap< QString, SrcDatatakeTgts () const
 
QMap< QString, SrcDatatakeSrcs () const
 
const QMap< QString, SrcData > & targetMap () const
 
void process_queue ()
 

Detailed Description

Http source queue and data manager.

enqueued sources are dequeued in chunks periodically to split big requests into smaller ones

Constructor & Destructor Documentation

◆ CuHttpSrcMan()

CuHttpSrcMan::CuHttpSrcMan ( CuHttpSrcQueueManListener l,
int  src_dequeue_chunk_siz = 100,
QObject *  parent = nullptr 
)
explicit

References TMR_DEQUEUE_INTERVAL.

◆ ~CuHttpSrcMan()

CuHttpSrcMan::~CuHttpSrcMan ( )
virtual

Member Function Documentation

◆ cancelSrc()

void CuHttpSrcMan::cancelSrc ( const CuHTTPSrc httpsrc,
const std::string &  method,
CuDataListener *  l,
const QString &   
)

cancel a request that may be on the way

There are two possibile situations:

  • src enqueued for set source. Remove src from the queue so that the operation is canceled
  • src waiting for the http sync reply: remove src from the wait map so that the reply will not update l

References CuHTTPSrc::getName(), and CuHTTPSrc::prepare().

◆ dequeueItems()

int CuHttpSrcMan::dequeueItems ( QList< SrcItem > &  read_i,
QList< SrcItem > &  write_i 
)

◆ enqueueSrc()

void CuHttpSrcMan::enqueueSrc ( const CuHTTPSrc httpsrc,
CuDataListener *  l,
const std::string &  method,
const QString &  chan,
const CuVariant &  w_val,
const CuData &  options 
)

◆ process_queue()

void CuHttpSrcMan::process_queue ( )

◆ queue_contains()

bool CuHttpSrcMan::queue_contains ( const std::string &  src,
CuDataListener *  l 
) const

◆ setQueueManListener()

void CuHttpSrcMan::setQueueManListener ( CuHttpSrcQueueManListener l)

◆ takeSrcs() [1/2]

QMap< QString, SrcData > CuHttpSrcMan::takeSrcs ( ) const

◆ takeSrcs() [2/2]

QList< SrcData > CuHttpSrcMan::takeSrcs ( const QString &  src) const

◆ takeTgts()

QMap< QString, SrcData > CuHttpSrcMan::takeTgts ( ) const

◆ targetMap()

const QMap< QString, SrcData > & CuHttpSrcMan::targetMap ( ) const

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