Squid Web Cache master
Loading...
Searching...
No Matches
clientStream.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2025 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_SRC_CLIENTSTREAM_H
10#define SQUID_SRC_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
98void clientStreamInit(dlink_list *, CSR *, CSD *, CSS *, const ClientStreamData &, CSCB *, CSD *, const ClientStreamData &, StoreIOBuffer tailBuffer);
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_SRC_CLIENTSTREAM_H */
169
#define CBDATA_CLASS(type)
Definition cbdata.h:289
StoreIOBuffer readBuffer
ClientStreamData data
clientStreamNode * next() const
dlink_node node
clientStreamNode * prev() const
dlink_list * head
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:120
void clientStreamAbort(clientStreamNode *thisObject, ClientHttpRequest *http)
clientStream_status_t clientStreamStatus(clientStreamNode *thisObject, ClientHttpRequest *http)
void clientStreamRead(clientStreamNode *thisObject, ClientHttpRequest *http, StoreIOBuffer readBuffer)
void clientStreamCallback(clientStreamNode *thisObject, ClientHttpRequest *http, HttpReply *rep, StoreIOBuffer replyBuffer)
void clientStreamInit(dlink_list *, CSR *, CSD *, CSS *, const ClientStreamData &, CSCB *, CSD *, const ClientStreamData &, StoreIOBuffer tailBuffer)
void clientStreamDetach(clientStreamNode *thisObject, ClientHttpRequest *http)
void clientStreamInsertHead(dlink_list *, CSR *, CSCB *, CSD *, CSS *, ClientStreamData)