If you review the constructor of a typical SNMP v3 message, such as
Using that
We should focus on caching first, and later consider exceptions and other factors.
Regards,
Lex
GetRequestMessage, you will see the report parameter used.Using that
report message is too heavy, as you can see only two sections of that message are used during construction. Thus, we should not try to cache the whole message. Ideally the cache should only cache those two sections, and the related constructors should be changed to use the cached sections. (Well, caching ISnmpMessage is still acceptable, as that's the simplest approach to achieve our goals. Further changes can be deferred).Messenger.GetNextDiscovery was changed to add that new parameter, because that's how the RFC documents require for proper discovery. While practically it is OK to always use GET to discover an agent, we must support discovery via GET BULK, SET and so on.We should focus on caching first, and later consider exceptions and other factors.
Regards,
Lex