Represents an Response-PDU. More...
#include <ResponsePDU.hpp>
Public Types | |
| enum | error_t { noAgentXError = 0, openFailed = 256, notOpen = 257, indexWrongType = 258, indexAlreadyAllocated = 259, indexNoneAvailable = 260, indexNotAllocated = 261, unsupportedContext = 262, duplicateRegistration = 263, unknownRegistration = 264, unknownAgentCaps = 265, parseError = 266, requestDenied = 267, processingError = 268, tooBig = 1, noSuchName = 2, badValue = 3, readOnly = 4, genErr = 5, noAccess = 6, wrongType = 7, wrongLength = 8, wrongEncoding = 9, wrongValue = 10, noCreation = 11, inconsistentValue = 12, resourceUnavailable = 13, commitFailed = 14, undoFailed = 15, authorizationError = 16, notWritable = 17, inconsistentName = 18 } |
| The type of the error field of the Response-PDU. More... | |
Public Member Functions | |
| ResponsePDU (binary::const_iterator &pos, const binary::const_iterator &end, bool big_endian) | |
| Parse constructor. | |
| ResponsePDU () | |
| Default Constructor. | |
| void | set_error (error_t error) |
| Set the error status. | |
| error_t | get_error () |
| Get the error status. | |
| void | set_sysUpTime (uint32_t time) |
| Set the sysUpTime. | |
| uint32_t | get_sysUpTime () |
| Get the sysUpTime. | |
| void | set_index (uint16_t i) |
| set the index value. | |
| uint16_t | get_index () |
| Get the index value. | |
| binary | serialize () const |
| Serialize the PDU. | |
Public Member Functions inherited from agentxcpp::PDU | |
| bool | get_new_index () |
| Get new_index flag. | |
| void | set_new_index (bool new_index) |
| Set new_index flag. | |
| bool | get_any_index () |
| Get any_index flag. | |
| void | set_any_index (bool any_index) |
| Set any_index flag. | |
| uint32_t | get_sessionID () |
| Get sessionID. | |
| void | set_sessionID (uint32_t id) |
| Set sessionID. | |
| uint32_t | get_transactionID () |
| Get transactionID. | |
| void | set_transactionID (uint32_t id) |
| Set transactionID. | |
| uint32_t | get_packetID () |
| Get packetID. | |
| void | set_packetID (uint32_t packetID) |
| Set packetID. | |
Public Attributes | |
| vector< varbind > | varbindlist |
| The VarBindList. | |
Private Attributes | |
| uint32_t | sysUpTime |
| the sysUpTime field. | |
| uint16_t | index |
| the index field. | |
| error_t | error |
| the error field. | |
Additional Inherited Members | |
Static Public Member Functions inherited from agentxcpp::PDU | |
| static shared_ptr< PDU > | parse_pdu (binary buf) |
| Parse a PDU from a buffer. | |
Protected Types inherited from agentxcpp::PDU | |
| enum | type_t { agentxOpenPDU = 1, agentxClosePDU = 2, agentxRegisterPDU = 3, agentxUnregisterPDU = 4, agentxGetPDU = 5, agentxGetNextPDU = 6, agentxGetBulkPDU = 7, agentxTestSetPDU = 8, agentxCommitSetPDU = 9, agentxUndoSetPDU = 10, agentxCleanupSetPDU = 11, agentxNotifyPDU = 12, agentxPingPDU = 13, agentxIndexAllocatePDU = 14, agentxIndexDeallocatePDU = 15, agentxAddAgentCapsPDU = 16, agentxRemoveAgentCapsPDU = 17, agentxResponsePDU = 18 } |
| The PDU types. More... | |
Protected Member Functions inherited from agentxcpp::PDU | |
| PDU (binary::const_iterator &pos, const binary::const_iterator &end, bool big_endian) | |
| Parse constructor. | |
| void | add_header (type_t type, binary &payload) const |
| Construct the PDU header and add it to the payload. | |
| PDU () | |
| Default constructor. | |
| virtual | ~PDU () |
| Destructor. | |
Protected Attributes inherited from agentxcpp::PDU | |
| bool | instance_registration |
| the instance_registration flag | |
| bool | non_default_context |
| Whether the PDU has a non-default context. | |
| uint32_t | packetID |
| h.packetID field according to RFC 2741, 6.1. "AgentX PDU
Header". | |
Represents an Response-PDU.
A Response-PDU is transmitted as a response to another PDU. The meaning of the individual fields of the Response-PDU depends on the PDU type to which the Response-PDU is sent. See RFC 2741 for details.
Definition at line 47 of file ResponsePDU.hpp.
The type of the error field of the Response-PDU.
Definition at line 53 of file ResponsePDU.hpp.
| ResponsePDU::ResponsePDU | ( | binary::const_iterator & | pos, |
| const binary::const_iterator & | end, | ||
| bool | big_endian | ||
| ) |
Parse constructor.
Construct the object by parsing a stream. See Parsing incoming PDUs for details about PDU parsing.
| 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 serialized form of the PDU is in big_endian format. |
| parse_error | If parsing fails, for example because reading the stream fails or the PDU is malformed. |
Definition at line 45 of file ResponsePDU.cpp.
References duplicateRegistration, error, index, indexAlreadyAllocated, indexNoneAvailable, indexNotAllocated, indexWrongType, noAgentXError, notOpen, openFailed, parseError, processingError, agentxcpp::read16(), agentxcpp::read32(), requestDenied, sysUpTime, unknownAgentCaps, unknownRegistration, unsupportedContext, and varbindlist.
| ResponsePDU::ResponsePDU | ( | ) |
Default Constructor.
Sets the state of the object to the defaults as set by the PDU::PDU() constructor, plus the following:
Definition at line 35 of file ResponsePDU.cpp.
References error, index, noAgentXError, and sysUpTime.
|
inline |
|
inline |
|
inline |
|
virtual |
Serialize the PDU.
Implements agentxcpp::PDU.
Definition at line 92 of file ResponsePDU.cpp.
References agentxcpp::PDU::add_header(), agentxcpp::PDU::agentxResponsePDU, error, index, sysUpTime, varbindlist, agentxcpp::write16(), and agentxcpp::write32().
| void ResponsePDU::set_error | ( | error_t | error | ) |
Set the error status.
| error | The new error status. |
| inval_param | If the error value is not allowed. |
Definition at line 7 of file ResponsePDU.cpp.
References duplicateRegistration, error, indexAlreadyAllocated, indexNoneAvailable, indexNotAllocated, indexWrongType, noAgentXError, notOpen, openFailed, parseError, processingError, requestDenied, unknownAgentCaps, unknownRegistration, and unsupportedContext.
Referenced by agentxcpp::master_proxy::handle_pdu().
|
inline |
set the index value.
Definition at line 197 of file ResponsePDU.hpp.
References index.
Referenced by agentxcpp::master_proxy::handle_pdu().
|
inline |
|
private |
the error field.
See RFC 2741, section 6.2.16 "The agentx-Response-PDU" for an explanation.
Definition at line 116 of file ResponsePDU.hpp.
Referenced by get_error(), ResponsePDU(), serialize(), and set_error().
|
private |
the index field.
See RFC 2741, section 6.2.16 "The agentx-Response-PDU" for an explanation.
Definition at line 108 of file ResponsePDU.hpp.
Referenced by get_index(), ResponsePDU(), serialize(), and set_index().
|
private |
the sysUpTime field.
See RFC 2741, section 6.2.16 "The agentx-Response-PDU" for an explanation.
Definition at line 100 of file ResponsePDU.hpp.
Referenced by get_sysUpTime(), ResponsePDU(), serialize(), and set_sysUpTime().
| vector<varbind> agentxcpp::ResponsePDU::varbindlist |
The VarBindList.
This vector may be empty if the PDU has no VarBinds.
Definition at line 124 of file ResponsePDU.hpp.
Referenced by agentxcpp::master_proxy::handle_pdu(), ResponsePDU(), and serialize().