|
Squid Web Cache master
|
Go to the source code of this file.
Functions | |
| void | switchToTunnel (HttpRequest *request, const Comm::ConnectionPointer &clientConn, const Comm::ConnectionPointer &srvConn, const SBuf &preReadServerData) |
| void switchToTunnel | ( | HttpRequest * | request, |
| const Comm::ConnectionPointer & | clientConn, | ||
| const Comm::ConnectionPointer & | srvConn, | ||
| const SBuf & | preReadServerData | ||
| ) |
Sets up a TCP tunnel through Squid and starts shoveling traffic.
| request | the request that initiated/caused this tunnel |
| clientConn | the already accepted client-to-Squid TCP connection |
| srvConn | the already established Squid-to-server TCP connection |
| preReadServerData | server-sent bytes to be forwarded to the client |
Definition at line 1615 of file tunnel.cc.
References StatCounters::all, HttpRequest::clientConnectionManager, TunnelStateData::commitToServer(), debugs, DelayId::DelayClient(), Comm::Connection::fd, CbcPointer< Cbc >::get(), TunnelStateData::getHost(), Comm::Connection::getPeer(), HttpRequest::hier, Http::Message::http_ver, Comm::IsConnOpen(), HttpRequest::method, Must, CachePeer::no_delay, CachePeer::options, StatCounters::other, HttpRequest::prepForDirect(), HttpRequest::prepForPeering(), TunnelStateData::preReadServerData, TunnelStateData::request, StatCounters::requests, HierarchyLogEntry::resetPeerNotes(), StatCounters::server, TunnelStateData::server, TunnelStateData::Connection::setDelayId(), statCounter, and tunnelStartShoveling().
Referenced by Http::One::Server::noteTakeServerConnectionControl(), and Ssl::PeekingPeerConnector::startTunneling().