/*
- * Copyright (C) 1996-2016 The Squid Software Foundation and contributors
+ * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
~Pipeline() = default;
/// register a new request context to the pipeline
- void add(const Http::StreamContextPointer &);
+ void add(const Http::StreamPointer &);
/// get the first request context in the pipeline
- Http::StreamContextPointer front() const;
+ Http::StreamPointer front() const;
+
+ /// get the last request context in the pipeline
+ Http::StreamPointer back() const;
/// how many requests are currently pipelined
size_t count() const {return requests.size();}
void terminateAll(const int xerrno);
/// deregister the front request from the pipeline
- void popMe(const Http::StreamContextPointer &);
+ void popMe(const Http::StreamPointer &);
/// Number of requests seen in this pipeline (so far).
/// Includes incomplete transactions.
private:
/// requests parsed from the connection but not yet completed.
- std::list<Http::StreamContextPointer> requests;
+ std::list<Http::StreamPointer> requests;
};
#endif /* SQUID_SRC_PIPELINE_H */