delete http;
}
-/// propagates abort event to all contexts
-void
-ConnStateData::notifyAllContexts(int xerrno)
-{
- typedef ClientSocketContext::Pointer CSCP;
- for (CSCP c = getCurrentContext(); c.getRaw(); c = c->next)
- c->noteIoError(xerrno);
-}
-
/* This is a handler normally called by comm_close() */
void ConnStateData::connStateClosed(const CommCloseCbParams &)
{
} else if (!Config.onoff.half_closed_clients) {
/* admin doesn't want to support half-closed client sockets */
debugs(33, 3, HERE << clientConnection << " aborted (half_closed_clients disabled)");
- notifyAllContexts(0); // no specific error implies abort
+ pipeline.terminateAll(0);
return true;
}
}
virtual ~ConnStateData();
/* ::Server API */
- virtual void notifyAllContexts(const int xerrno);
virtual void receivedFirstByte();
virtual bool handleReadData();
virtual void afterClientRead();
// case Comm::COMM_ERROR:
default: // no other flags should ever occur
debugs(33, 2, io.conn << ": got flag " << rd.flag << "; " << xstrerr(rd.xerrno));
- notifyAllContexts(rd.xerrno);
+ pipeline.terminateAll(rd.xerrno);
io.conn->close();
return;
}
virtual bool doneAll() const;
virtual void swanSong();
- /// tell all active contexts on a connection about an error
- virtual void notifyAllContexts(const int xerrno) = 0;
-
/// ??
virtual bool connFinishedWithConn(int size) = 0;
void ClientSocketContext::noteIoError(const int xerrno) STUB
void ClientSocketContext::writeControlMsg(HttpControlMsg &msg) STUB
-void ConnStateData::notifyAllContexts(const int xerrno) STUB
bool ConnStateData::clientParseRequests() STUB_RETVAL(false)
void ConnStateData::readNextRequest() STUB
bool ConnStateData::isOpen() const STUB_RETVAL(false)