本文整理汇总了Java中com.sun.jmx.snmp.BerDecoder.fetchAny方法的典型用法代码示例。如果您正苦于以下问题:Java BerDecoder.fetchAny方法的具体用法?Java BerDecoder.fetchAny怎么用?Java BerDecoder.fetchAny使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.jmx.snmp.BerDecoder
的用法示例。
在下文中一共展示了BerDecoder.fetchAny方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: decodeMessage
import com.sun.jmx.snmp.BerDecoder; //导入方法依赖的package包/类
/**
* Decodes the specified bytes and initializes this message.
* For internal use only.
*
* @param inputBytes The bytes to be decoded.
*
* @exception SnmpStatusException If the specified bytes are not a valid encoding.
*/
public void decodeMessage(byte[] inputBytes, int byteCount)
throws SnmpStatusException {
try {
BerDecoder bdec = new BerDecoder(inputBytes);
bdec.openSequence();
version = bdec.fetchInteger();
bdec.openSequence();
msgId = bdec.fetchInteger();
msgMaxSize = bdec.fetchInteger();
msgFlags = bdec.fetchOctetString()[0];
msgSecurityModel =bdec.fetchInteger();
bdec.closeSequence();
msgSecurityParameters = bdec.fetchOctetString();
if( (msgFlags & SnmpDefinitions.privMask) == 0 ) {
bdec.openSequence();
contextEngineId = bdec.fetchOctetString();
contextName = bdec.fetchOctetString();
data = bdec.fetchAny();
dataLength = data.length;
bdec.closeSequence();
}
else {
encryptedPdu = bdec.fetchOctetString();
}
bdec.closeSequence() ;
}
catch(BerException x) {
x.printStackTrace();
throw new SnmpStatusException("Invalid encoding") ;
}
if (SNMP_LOGGER.isLoggable(Level.FINER)) {
final StringBuilder strb = new StringBuilder()
.append("Unmarshalled message : \n")
.append("version : ").append(version)
.append("\n")
.append("msgId : ").append(msgId)
.append("\n")
.append("msgMaxSize : ").append(msgMaxSize)
.append("\n")
.append("msgFlags : ").append(msgFlags)
.append("\n")
.append("msgSecurityModel : ").append(msgSecurityModel)
.append("\n")
.append("contextEngineId : ").append(contextEngineId == null ? null :
SnmpEngineId.createEngineId(contextEngineId))
.append("\n")
.append("contextName : ").append(contextName)
.append("\n")
.append("data : ").append(data)
.append("\n")
.append("dat len : ").append((data == null) ? 0 : data.length)
.append("\n")
.append("encryptedPdu : ").append(encryptedPdu)
.append("\n");
SNMP_LOGGER.logp(Level.FINER, SnmpV3Message.class.getName(),
"decodeMessage", strb.toString());
}
}