|
Squid Web Cache v8/master
|
Functions | |
| void | clientStreamInit (dlink_list *list, CSR *func, CSD *rdetach, CSS *readstatus, const ClientStreamData &readdata, CSCB *callback, CSD *cdetach, const ClientStreamData &callbackdata, StoreIOBuffer tailBuffer) |
| void | clientStreamInsertHead (dlink_list *list, CSR *func, CSCB *callback, CSD *detach, CSS *status, ClientStreamData data) |
| void | clientStreamRead (clientStreamNode *thisObject, ClientHttpRequest *http, StoreIOBuffer readBuffer) |
| void | clientStreamDetach (clientStreamNode *thisObject, ClientHttpRequest *http) |
| void | clientStreamAbort (clientStreamNode *thisObject, ClientHttpRequest *http) |
| clientStream_status_t | clientStreamStatus (clientStreamNode *thisObject, ClientHttpRequest *http) |
TODO: rather than each node undeleting the next, have a clientStreamDelete that walks the list.
| void clientStreamAbort | ( | clientStreamNode * | thisObject, |
| ClientHttpRequest * | http | ||
| ) |
Abort the stream - detach every node in the pipeline.
| thisObject | ?? |
| http | ?? |
Definition at line 235 of file clientStream.cc.
References assert, clientStreamDetach(), dlink_node::data, debugs, clientStreamNode::head, and dlink_list::tail.
Referenced by ClientHttpRequest::freeResources().
| void clientStreamDetach | ( | clientStreamNode * | thisObject, |
| ClientHttpRequest * | http | ||
| ) |
Detach from the stream - only allowed for terminal members
| thisObject | ?? |
| http | ?? |
Definition at line 192 of file clientStream.cc.
References assert, cbdataReference, cbdataReferenceDone, cbdataReferenceValid(), clientStreamNode::data, debugs, clientStreamNode::detach, RefCount< C >::getRaw(), dlink_node::next, clientStreamNode::node, clientStreamNode::prev(), and clientStreamNode::removeFromStream().
Referenced by clientReplyDetach(), clientSocketDetach(), clientStreamAbort(), downloaderDetach(), and Http::Stream::finished().
| void clientStreamInit | ( | dlink_list * | list, |
| CSR * | func, | ||
| CSD * | rdetach, | ||
| CSS * | readstatus, | ||
| const ClientStreamData & | readdata, | ||
| CSCB * | callback, | ||
| CSD * | cdetach, | ||
| const ClientStreamData & | callbackdata, | ||
| StoreIOBuffer | tailBuffer | ||
| ) |
Initialise a client Stream. list is the stream func is the read function for the head callback is the callback for the tail tailbuf and taillen are the initial buffer and length for the tail.
Definition at line 112 of file clientStream.cc.
References cbdataReference, clientStreamInsertHead(), dlink_node::data, dlinkAdd(), clientStreamNode::head, clientStreamNode::node, clientStreamNode::readBuffer, and dlink_list::tail.
Referenced by ConnStateData::abortRequestParsing(), ConnStateData::buildFakeRequest(), Downloader::buildRequest(), ConnStateData::parseHttpRequest(), and Ftp::Server::parseOneRequest().
| void clientStreamInsertHead | ( | dlink_list * | list, |
| CSR * | func, | ||
| CSCB * | callback, | ||
| CSD * | detach, | ||
| CSS * | status, | ||
| ClientStreamData | data | ||
| ) |
Doesn't actually insert at head. Instead it inserts one after head. This is because HEAD is a special node, as is tail This function is not suitable for inserting the real HEAD.
Definition at line 131 of file clientStream.cc.
References assert, cbdataReference, dlink_node::data, debugs, dlinkAddAfter(), RefCount< C >::getRaw(), clientStreamNode::head, dlink_list::head, dlink_node::next, clientStreamNode::node, and clientStreamNode::readBuffer.
Referenced by clientStreamInit().
| void clientStreamRead | ( | clientStreamNode * | thisObject, |
| ClientHttpRequest * | http, | ||
| StoreIOBuffer | readBuffer | ||
| ) |
Call the previous node in the chain to read some data
| thisObject | ?? |
| http | ?? |
| readBuffer | ?? |
Definition at line 170 of file clientStream.cc.
References assert, clientStreamNode::data, debugs, RefCount< C >::getRaw(), clientStreamNode::prev(), clientStreamNode::readBuffer, and clientStreamNode::readfunc.
Referenced by constructHelperQuery(), ClientHttpRequest::doCallouts(), Downloader::handleReply(), ClientRequestContext::hostHeaderVerifyFailed(), ClientHttpRequest::httpStart(), and Http::Stream::pullData().
| clientStream_status_t clientStreamStatus | ( | clientStreamNode * | thisObject, |
| ClientHttpRequest * | http | ||
| ) |
Call the upstream node to find it's status
| thisObject | ?? |
| http | ?? |
Definition at line 257 of file clientStream.cc.
References assert, dlink_node::data, clientStreamNode::node, dlink_node::prev, and clientStreamNode::status.
Referenced by Downloader::handleReply(), and Http::Stream::socketState().