Represents an Integer as descibed in RFC 2741. More...
#include <Counter64.hpp>
Public Member Functions | |
| Counter64 () | |
| Create a counter without initialization. | |
| Counter64 (binary::const_iterator &pos, const binary::const_iterator &end, bool big_endian=true) | |
| Construct the object from input stream. | |
| virtual binary | serialize () const |
| Encode the object as described in RFC 2741, section 5.4. | |
| virtual void | update () |
| Update the internal state of the object. | |
| virtual uint64_t | get () |
| Obtain the current value for the object. | |
Public Member Functions inherited from agentxcpp::variable | |
| virtual | ~variable () |
| Destructor. | |
Private Attributes | |
| uint64_t | value |
| The counter value. | |
Represents an Integer as descibed in RFC 2741.
Definition at line 35 of file Counter64.hpp.
|
inline |
Create a counter without initialization.
The value after creation is undefined.
Definition at line 54 of file Counter64.hpp.
| Counter64::Counter64 | ( | binary::const_iterator & | pos, |
| const binary::const_iterator & | end, | ||
| bool | big_endian = true |
||
| ) |
Construct the object from input stream.
This constructor parses the serialized form of the object. It takes an iterator, starts parsing at the position of the iterator and advances the iterator to the position right behind the object.
The constructor expects valid data from the stream; if parsing fails, parse_error is thrown. In this case, the iterator position is undefined.
| pos | Iterator pointing to the current stream position. The iterator is advanced while reading the header. |
| end | Iterator pointing one element past the end of the current stream. This is needed to mark the end of the buffer. |
| big_endian | Whether the input stream is in big endian format |
Definition at line 39 of file Counter64.cpp.
References agentxcpp::read64(), and value.
|
inlinevirtual |
Obtain the current value for the object.
This member function is derived by classes representing SNMP variables and shall return the current value of the object.
The default implementation throws generic_error.
| generic_error | If obtaining the current value fails. No other exception shall be thrown. |
Definition at line 121 of file Counter64.hpp.
|
virtual |
Encode the object as described in RFC 2741, section 5.4.
This function uses big endian.
Implements agentxcpp::variable.
Definition at line 28 of file Counter64.cpp.
References value, and agentxcpp::write64().
|
inlinevirtual |
Update the internal state of the object.
This function calls get() to obtain a new value and writes that value to the 'value' member.
| generic_error | If obtaining the new value failed. |
Implements agentxcpp::variable.
Definition at line 103 of file Counter64.hpp.
References value.
|
private |
The counter value.
According to RFC 2578, Counter64 is a non-negative 64-bit number.
Definition at line 44 of file Counter64.hpp.
Referenced by Counter64(), serialize(), and update().