Kea  2.5.3
d2_tsig_key.h
Go to the documentation of this file.
1 // Copyright (C) 2021 Internet Systems Consortium, Inc. ("ISC")
2 //
3 // This Source Code Form is subject to the terms of the Mozilla Public
4 // License, v. 2.0. If a copy of the MPL was not distributed with this
5 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 
7 #ifndef D2_TSIG_KEY_H
8 #define D2_TSIG_KEY_H
9 
10 #include <dns/name.h>
11 #include <dns/tsig.h>
12 #include <boost/shared_ptr.hpp>
13 
14 namespace isc {
15 namespace d2 {
16 
21 class D2TsigKey : public dns::TSIGKey {
22 public:
29  explicit D2TsigKey(const std::string& key_spec);
30 
43  D2TsigKey(const dns::Name& key_name, const dns::Name& algorithm_name,
44  const void* secret, size_t secret_len, size_t digestbits = 0);
45 
49  virtual ~D2TsigKey();
50 
53  virtual void resetStats();
54 
61 
62 private:
64  void initStats();
65 
67  void removeStats();
68 };
69 
71 typedef boost::shared_ptr<D2TsigKey> D2TsigKeyPtr;
72 
73 } // namespace d2
74 } // namespace isc
75 
76 #endif // D2_TSIG_KEY_H
Statistics keeping extension of the DNS TSIGKey class.
Definition: d2_tsig_key.h:21
D2TsigKey(const std::string &key_spec)
Constructor.
Definition: d2_tsig_key.cc:22
virtual void resetStats()
Reset statistics.
Definition: d2_tsig_key.cc:57
virtual dns::TSIGContextPtr createContext()
Create TSIG context.
Definition: d2_tsig_key.cc:67
virtual ~D2TsigKey()
Destructor.
Definition: d2_tsig_key.cc:32
The Name class encapsulates DNS names.
Definition: name.h:223
TSIG key.
Definition: tsigkey.h:56
boost::shared_ptr< D2TsigKey > D2TsigKeyPtr
Type of pointer to a D2 TSIG key.
Definition: d2_tsig_key.h:71
boost::shared_ptr< TSIGContext > TSIGContextPtr
Definition: tsig.h:435
Defines the logger used by the top-level component of kea-lfc.