+/*
+ * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
#ifndef SQUID_HTTP_CONTROL_MSG_H
#define SQUID_HTTP_CONTROL_MSG_H
#include "base/AsyncCall.h"
#include "HttpReply.h"
+class CommIoCbParams;
class HttpControlMsg;
/*
/// called to send the 1xx message and notify the Source
virtual void sendControlMsg(HttpControlMsg msg) = 0;
+
+ virtual void doneWithControlMsg();
+
+ /// callback to handle Comm::Write completion
+ void wroteControlMsg(const CommIoCbParams &);
+
+ /// Call to schedule when the control msg has been sent
+ AsyncCall::Pointer cbControlMsgSent;
};
/// bundles HTTP 1xx reply and the "successfully forwarded" callback
typedef AsyncCall::Pointer Callback;
HttpControlMsg(const HttpReply::Pointer &aReply, const Callback &aCallback):
- reply(aReply), cbSuccess(aCallback) {}
+ reply(aReply), cbSuccess(aCallback) {}
public:
HttpReply::Pointer reply; ///< the 1xx message being forwarded
}
#endif /* SQUID_HTTP_CONTROL_MSG_H */
+