Barracuda Application Server C/C++ Reference
Native APIs, integration guides, and platform interfaces
HttpAsynchReq.h File Reference
#include <HttpAsynchResp.h>
Include dependency graph for HttpAsynchReq.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  HttpAsynchReq
 Asynchronously receive data in a resource such as HttpDir or HttpPage. More...
 
struct  HttpAsynchReqResp
 Simultaneously receive and send a stream of data. More...
 

Macros

#define HttpAsynchReq_getPacketSizeLeft(o)   (o)->packetSizeLeft
 
#define HttpAsynchReq_getBuffer(o)   (o)->buffer
 
#define HttpAsynchReq_getBufferSize(o)   (o)->bufferSize
 
#define HttpAsynchReq_isChunkEncoding(o)   (o)->chunkEncoding
 
#define HttpAsynchReq_getServer(o)    HttpConnection_getServer((HttpConnection*)(o))
 
#define HttpAsynchReqResp_destructor(o)
 Close the response and destroy receive state; free neither object nor buffers. More...
 
#define HttpAsynchReqResp_getPacketSizeLeft(o)    HttpAsynchReq_getPacketSizeLeft((HttpAsynchReq*)o)
 
#define HttpAsynchReqResp_getBuffer(o)    HttpAsynchReq_getBuffer((HttpAsynchReq*)o)
 
#define HttpAsynchReqResp_getBufferSize(o)    HttpAsynchReq_getBufferSize((HttpAsynchReq*)o)
 
#define HttpAsynchReqResp_isChunkEncoding(o)    HttpAsynchReq_isChunkEncoding((HttpAsynchReq*)o)
 
#define HttpAsynchReqResp_calcPacketSize(req)    HttpAsynchReq_calcPacketSize(req)
 Inspect the request's body framing without consuming it. More...
 
#define HttpAsynchReqResp_getCon(o)   ((o))->resp.con
 
#define HttpAsynchReqResp_getMutex(o)
 
#define HttpAsynchReqResp_getServer(o)    HttpConnection_getServer(HttpAsynchReqResp_getCon(o))
 
#define HttpAsynchReqResp_getResponse(o)   (&(o)->resp)
 

Typedefs

typedef void(* HttpAsynchReq_OnData) (struct HttpAsynchReq *super, void *data, S32 size)
 Receive data, completion, or an error. More...
 
typedef struct HttpAsynchReq HttpAsynchReq
 Asynchronously receive data in a resource such as HttpDir or HttpPage. More...
 
typedef HttpAsynchReqResp HttpAsynchReqResp
 Simultaneously receive and send a stream of data. More...
 

Functions

BA_API void HttpAsynchReq_constructor (HttpAsynchReq *o, HttpServer *server, HttpAsynchReq_OnData data)
 Create an instance of HttpAsynchReq. More...
 
BA_API void HttpAsynchReq_destructor (HttpAsynchReq *o)
 
BA_API SBaFileSize HttpAsynchReq_calcPacketSize (HttpRequest *req)
 Inspect the request's body framing without consuming it. More...
 
BA_API int HttpAsynchReq_start (HttpAsynchReq *o, HttpRequest *req, void *buffer, S32 bufferSize)
 Take over the request connection and start asynchronous reception. More...
 
BA_API void HttpAsynchReq_stop (HttpAsynchReq *o)
 
BA_API HttpConnectionHttpAsynchReq_getCon (HttpAsynchReq *o)
 Stop receiving and expose the embedded connection for handoff. More...
 
BA_API void HttpAsynchReqResp_constructor (HttpAsynchReqResp *o, HttpServer *server, HttpAsynchReq_OnData data)
 Initialize combined receive/response state. More...
 
BA_API int HttpAsynchReqResp_start (HttpAsynchReqResp *o, HttpRequest *req, void *recBuf, S32 recBufSize, void *sendBuf, S32 sendBufSize)
 Start the HttpAsynchReqResp object. More...
 
BA_API int HttpAsynchReqResp_startResp (HttpAsynchReqResp *o, HttpRequest *req, void *sendBuf, S32 sendBufSize)
 Start response if you know that all data was received by the web-server. More...