clientStream.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2022 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
76{
78
79public:
80 clientStreamNode(CSR * aReadfunc, CSCB * aCallback, CSD * aDetach, CSS * aStatus, ClientStreamData);
82
83 clientStreamNode *prev() const;
84 clientStreamNode *next() const;
85 void removeFromStream();
86
88 dlink_list *head; /* sucks I know, but hey, the interface is limited */
91 CSD *detach; /* tell this node the next one downstream wants no more data */
93 ClientStreamData data; /* Context for the node */
94 StoreIOBuffer readBuffer; /* what, where and how much this node wants */
95};
96
99
102
116void clientStreamCallback(clientStreamNode *thisObject, ClientHttpRequest *http, HttpReply *rep, StoreIOBuffer replyBuffer);
117
129void clientStreamRead(clientStreamNode *thisObject, ClientHttpRequest *http, StoreIOBuffer readBuffer);
130
142
153
167
168#endif /* SQUID_CLIENTSTREAM_H */
169
#define CBDATA_CLASS(type)
Definition: cbdata.h:302
StoreIOBuffer readBuffer
Definition: clientStream.h:94
ClientStreamData data
Definition: clientStream.h:93
clientStreamNode * next() const
clientStreamNode(CSR *aReadfunc, CSCB *aCallback, CSD *aDetach, CSS *aStatus, ClientStreamData)
Definition: clientStream.cc:86
dlink_node node
Definition: clientStream.h:87
clientStreamNode * prev() const
dlink_list * head
Definition: clientStream.h:88
void CSD(clientStreamNode *, ClientHttpRequest *)
client stream detach
void CSR(clientStreamNode *, ClientHttpRequest *)
client stream read
void CSCB(clientStreamNode *, ClientHttpRequest *, HttpReply *, StoreIOBuffer)
client stream read callback
clientStream_status_t CSS(clientStreamNode *, ClientHttpRequest *)
clientStream_status_t
Definition: enums.h:125
void clientStreamAbort(clientStreamNode *thisObject, ClientHttpRequest *http)
clientStream_status_t clientStreamStatus(clientStreamNode *thisObject, ClientHttpRequest *http)
void clientStreamRead(clientStreamNode *thisObject, ClientHttpRequest *http, StoreIOBuffer readBuffer)
void clientStreamInit(dlink_list *, CSR *, CSD *, CSS *, ClientStreamData, CSCB *, CSD *, ClientStreamData, StoreIOBuffer tailBuffer)
void clientStreamCallback(clientStreamNode *thisObject, ClientHttpRequest *http, HttpReply *rep, StoreIOBuffer replyBuffer)
void clientStreamDetach(clientStreamNode *thisObject, ClientHttpRequest *http)
void clientStreamInsertHead(dlink_list *, CSR *, CSCB *, CSD *, CSS *, ClientStreamData)

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors