Go to the source code of this file.
Functions | |
void | switchToTunnel (HttpRequest *request, const Comm::ConnectionPointer &clientConn, const Comm::ConnectionPointer &srvConn, const SBuf &preReadServerData) |
Function Documentation
◆ switchToTunnel()
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.
- Parameters
-
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 1488 of file tunnel.cc.
References TunnelStateData::TunnelStateData(), StatCounters::all, HttpRequest::clientConnectionManager, TunnelStateData::commitToServer(), conn, debugs, DelayId::DelayClient(), Comm::Connection::fd, CbcPointer< Cbc >::get(), TunnelStateData::getHost(), Comm::Connection::getPeer(), HttpRequest::hier, CachePeer::host, Http::Message::http_ver, Comm::IsConnOpen(), HttpRequest::method, Must, CachePeer::no_delay, CachePeer::options, StatCounters::other, HttpRequest::peer_host, 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().