-
#ifndef SQUID_BODY_PIPE_H
#define SQUID_BODY_PIPE_H
class BodyPipe;
-// Interface for those who want to produce body content for others.
-// BodyProducer is expected to create the BodyPipe.
-// One pipe cannot have more than one producer.
+/** Interface for those who want to produce body content for others.
+ * BodyProducer is expected to create the BodyPipe.
+ * One pipe cannot have more than one producer.
+ */
class BodyProducer: virtual public AsyncJob
{
public:
void stopProducingFor(RefCount<BodyPipe> &pipe, bool atEof);
};
-// Interface for those who want to consume body content from others.
-// BodyConsumer is expected to register with an existing BodyPipe
-// by calling BodyPipe::setConsumer().
-// One pipe cannot have more than one consumer.
+/** Interface for those who want to consume body content from others.
+ * BodyConsumer is expected to register with an existing BodyPipe
+ * by calling BodyPipe::setConsumer().
+ * One pipe cannot have more than one consumer.
+ */
class BodyConsumer: virtual public AsyncJob
{
public:
void stopConsumingFrom(RefCount<BodyPipe> &pipe);
};
-// Makes raw buffer checkin/checkout interface efficient and exception-safe.
-// Either append or consume operations can be performed on a checkedout buffer.
+/** Makes raw buffer checkin/checkout interface efficient and exception-safe.
+ * Either append or consume operations can be performed on a checkedout buffer.
+ */
class BodyPipeCheckout
{
public:
BodyPipeCheckout &operator =(const BodyPipeCheckout &); // prevent assignment
};
-// Connects those who produces message body content with those who
-// consume it. For example, connects ConnStateData with FtpStateData OR
-// ICAPModXact with HttpStateData.
+/** Connects those who produces message body content with those who
+ * consume it. For example, connects ConnStateData with FtpStateData OR
+ * ICAPModXact with HttpStateData.
+ */
class BodyPipe: public RefCountable
{
public: