alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Java example source code file (SnmpMsgProcessingModel.java)

This example Java source code file (SnmpMsgProcessingModel.java) is included in the alvinalexander.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Learn more about this Java project at its project page.

Java - Java tags/keywords

jmx, snmp, snmpdecryptedpdu, snmpincomingrequest, snmpincomingresponse, snmpmodel, snmpmsgprocessingmodel, snmpmsgtranslator, snmpoutgoingrequest, snmppdu, snmpsecurityparameters, snmpstatusexception, snmptoobigexception

The SnmpMsgProcessingModel.java Java example source code

/*
 * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */
package com.sun.jmx.snmp.internal;


import com.sun.jmx.snmp.mpm.SnmpMsgTranslator;

import com.sun.jmx.snmp.SnmpTooBigException;
import com.sun.jmx.snmp.SnmpStatusException;
import com.sun.jmx.snmp.SnmpPdu;
import com.sun.jmx.snmp.SnmpPduFactory;
import com.sun.jmx.snmp.SnmpSecurityParameters;

import com.sun.jmx.snmp.SnmpParams;
/**
 * The message processing model interface. Any message processing model must implement this interface in order to be integrated in the engine framework.
 * The model is called by the dispatcher when a call is received or when a call is sent.
 * <p>This API is a Sun Microsystems internal API  and is subject
 * to change without notice.</b>

* @since 1.5 */ public interface SnmpMsgProcessingModel extends SnmpModel { /** * This method is called when a call is to be sent to the network. * @param factory The pdu factory to use to encode and decode pdu. * @return The object that will handle every steps of the sending (mainly marshalling and security). */ public SnmpOutgoingRequest getOutgoingRequest(SnmpPduFactory factory); /** * This method is called when a call is received from the network. * @param factory The pdu factory to use to encode and decode pdu. * @return The object that will handle every steps of the receiving (mainly unmarshalling and security). */ public SnmpIncomingRequest getIncomingRequest(SnmpPduFactory factory); /** * This method is called when a response is received from the network. * @param factory The pdu factory to use to encode and decode pdu. * @return The object that will handle every steps of the receiving (mainly unmarshalling and security). */ public SnmpIncomingResponse getIncomingResponse(SnmpPduFactory factory); /** * This method is called to instantiate a pdu according to the passed pdu type and parameters. * @param p The request parameters. * @param type The pdu type. * @return The pdu. */ public SnmpPdu getRequestPdu(SnmpParams p, int type) throws SnmpStatusException; /** * This method is called to encode a full scoped pdu that has not been encrypted. <CODE>contextName, contextEngineID and data are known. * <BR>The specified parameters are defined in RFC 2572 (see also the {@link com.sun.jmx.snmp.SnmpV3Message} class). * @param version The SNMP protocol version. * @param msgID The SNMP message ID. * @param msgMaxSize The max message size. * @param msgFlags The message flags. * @param msgSecurityModel The message security model. * @param params The security parameters. * @param contextEngineID The context engine ID. * @param contextName The context name. * @param data The encoded data. * @param dataLength The encoded data length. * @param outputBytes The buffer containing the encoded message. * @return The encoded bytes number. */ public int encode(int version, int msgID, int msgMaxSize, byte msgFlags, int msgSecurityModel, SnmpSecurityParameters params, byte[] contextEngineID, byte[] contextName, byte[] data, int dataLength, byte[] outputBytes) throws SnmpTooBigException; /** * This method is called to encode a full scoped pdu that as been encrypted. <CODE>contextName, contextEngineID and data are known. * <BR>The specified parameters are defined in RFC 2572 (see also the {@link com.sun.jmx.snmp.SnmpV3Message} class). * @param version The SNMP protocol version. * @param msgID The SNMP message ID. * @param msgMaxSize The max message size. * @param msgFlags The message flags. * @param msgSecurityModel The message security model. * @param params The security parameters. * @param encryptedPdu The encrypted pdu. * @param outputBytes The buffer containing the encoded message. * @return The encoded bytes number. */ public int encodePriv(int version, int msgID, int msgMaxSize, byte msgFlags, int msgSecurityModel, SnmpSecurityParameters params, byte[] encryptedPdu, byte[] outputBytes) throws SnmpTooBigException; /** * This method returns a decoded scoped pdu. This method decodes only the <CODE>contextEngineID, contextName and data. It is needed by the SnmpSecurityModel after decryption. * @param pdu The encoded pdu. * @return The partialy scoped pdu. */ public SnmpDecryptedPdu decode(byte[] pdu) throws SnmpStatusException; /** * This method returns an encoded scoped pdu. This method encode only the <CODE>contextEngineID, contextName and data. It is needed by the SnmpSecurityModel for decryption. * @param pdu The pdu to encode. * @param outputBytes The partialy scoped pdu. * @return The encoded bytes number. */ public int encode(SnmpDecryptedPdu pdu, byte[] outputBytes) throws SnmpTooBigException; /** * In order to change the behavior of the translator, set it. * @param translator The translator that will be used. */ public void setMsgTranslator(SnmpMsgTranslator translator); /** * Returns the current translator. * @return The current translator. */ public SnmpMsgTranslator getMsgTranslator(); }

Other Java examples (source code examples)

Here is a short list of links related to this Java SnmpMsgProcessingModel.java source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.