clientStream.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 #ifndef SQUID_CLIENTSTREAM_H
10 #define SQUID_CLIENTSTREAM_H
11 
12 #include "base/RefCount.h"
13 #include "clientStreamForward.h"
14 #include "dlink.h"
15 #include "StoreIOBuffer.h"
16 
77 {
79 
80 public:
81  clientStreamNode(CSR * aReadfunc, CSCB * aCallback, CSD * aDetach, CSS * aStatus, ClientStreamData);
83 
84  clientStreamNode *prev() const;
85  clientStreamNode *next() const;
86  void removeFromStream();
87 
89  dlink_list *head; /* sucks I know, but hey, the interface is limited */
92  CSD *detach; /* tell this node the next one downstream wants no more data */
94  ClientStreamData data; /* Context for the node */
95  StoreIOBuffer readBuffer; /* what, where and how much this node wants */
96 };
97 
100 
103 
117 void clientStreamCallback(clientStreamNode *thisObject, ClientHttpRequest *http, HttpReply *rep, StoreIOBuffer replyBuffer);
118 
130 void clientStreamRead(clientStreamNode *thisObject, ClientHttpRequest *http, StoreIOBuffer readBuffer);
131 
142 void clientStreamDetach(clientStreamNode *thisObject, ClientHttpRequest *http);
143 
153 void clientStreamAbort(clientStreamNode *thisObject, ClientHttpRequest *http);
154 
168 
169 #endif /* SQUID_CLIENTSTREAM_H */
170 
clientStreamNode(CSR *aReadfunc, CSCB *aCallback, CSD *aDetach, CSS *aStatus, ClientStreamData)
Definition: clientStream.cc:86
void clientStreamInsertHead(dlink_list *, CSR *, CSCB *, CSD *, CSS *, ClientStreamData)
void clientStreamRead(clientStreamNode *thisObject, ClientHttpRequest *http, StoreIOBuffer readBuffer)
void clientStreamAbort(clientStreamNode *thisObject, ClientHttpRequest *http)
dlink_node node
Definition: clientStream.h:88
void CSCB(clientStreamNode *, ClientHttpRequest *, HttpReply *, StoreIOBuffer)
client stream read callback
#define CBDATA_CLASS(type)
Definition: cbdata.h:302
void clientStreamDetach(clientStreamNode *thisObject, ClientHttpRequest *http)
ClientStreamData data
Definition: clientStream.h:94
clientStream_status_t
Definition: enums.h:88
clientStreamNode * next() const
StoreIOBuffer readBuffer
Definition: clientStream.h:95
clientStream_status_t CSS(clientStreamNode *, ClientHttpRequest *)
clientStreamNode * prev() const
void CSD(clientStreamNode *, ClientHttpRequest *)
client stream detach
void clientStreamCallback(clientStreamNode *thisObject, ClientHttpRequest *http, HttpReply *rep, StoreIOBuffer replyBuffer)
void CSR(clientStreamNode *, ClientHttpRequest *)
client stream read
dlink_list * head
Definition: clientStream.h:89
clientStream_status_t clientStreamStatus(clientStreamNode *thisObject, ClientHttpRequest *http)
void clientStreamInit(dlink_list *, CSR *, CSD *, CSS *, ClientStreamData, CSCB *, CSD *, ClientStreamData, StoreIOBuffer tailBuffer)

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors