]> git.ipfire.org Git - thirdparty/squid.git/blame - src/snmp/Request.h
Maintenance: Consistent use of C++11 "override" specifier (#1224)
[thirdparty/squid.git] / src / snmp / Request.h
CommitLineData
51ea0904 1/*
bf95c10a 2 * Copyright (C) 1996-2022 The Squid Software Foundation and contributors
51ea0904 3 *
bbc27441
AJ
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
51ea0904
CT
7 */
8
bbc27441
AJ
9/* DEBUG: section 49 SNMP Interface */
10
51ea0904
CT
11#ifndef SQUID_SNMPX_REQUEST_H
12#define SQUID_SNMPX_REQUEST_H
13
14#include "ip/Address.h"
15#include "ipc/forward.h"
16#include "ipc/Request.h"
d6e3ad20
CT
17#include "snmp/Pdu.h"
18#include "snmp/Session.h"
51ea0904 19
51ea0904
CT
20namespace Snmp
21{
22
23/// SNMP request
24class Request: public Ipc::Request
25{
26public:
4c218615 27 Request(int aRequestorId, Ipc::RequestId aRequestId, const Pdu& aPdu,
8fb5a96c 28 const Session& aSession, int aFd, const Ip::Address& anAddress);
51ea0904
CT
29
30 explicit Request(const Ipc::TypedMsgHdr& msg); ///< from recvmsg()
31 /* Ipc::Request API */
337b9aa4
AR
32 void pack(Ipc::TypedMsgHdr& msg) const override;
33 Pointer clone() const override;
51ea0904 34
51ea0904
CT
35public:
36 Pdu pdu; ///< SNMP protocol data unit
8fb5a96c 37 Session session; ///< SNMP session
51ea0904
CT
38 int fd; ///< client connection descriptor
39 Ip::Address address; ///< client address
40};
41
51ea0904
CT
42} // namespace Snmp
43
44#endif /* SQUID_SNMPX_REQUEST_H */
f53969cc 45