KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > snmp4j > agent > agentx > AgentXClosePDU


1 /*_############################################################################
2   _##
3   _## SNMP4J-AgentX - AgentXClosePDU.java
4   _##
5   _## Copyright (C) 2005-2007 Frank Fock (SNMP4J.org)
6   _##
7   _## This program is free software; you can redistribute it and/or modify
8   _## it under the terms of the GNU General Public License version 2 as
9   _## published by the Free Software Foundation.
10   _##
11   _## This program is distributed in the hope that it will be useful,
12   _## but WITHOUT ANY WARRANTY; without even the implied warranty of
13   _## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14   _## GNU General Public License for more details.
15   _##
16   _## You should have received a copy of the GNU General Public License
17   _## along with this program; if not, write to the Free Software
18   _## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19   _## MA 02110-1301 USA
20   _##
21   _##########################################################################*/

22
23 package org.snmp4j.agent.agentx;
24
25 import java.io.*;
26 import java.nio.*;
27
28 public class AgentXClosePDU extends AgentXPDU {
29
30   private byte reason;
31
32   public AgentXClosePDU(AgentXMessageHeader header) {
33     super(header);
34     if (header.getType() != AGENTX_CLOSE_PDU) {
35       throw new IllegalArgumentException JavaDoc("Incompatible PDU type");
36     }
37   }
38
39   public AgentXClosePDU(byte reason) {
40     super(AGENTX_CLOSE_PDU);
41     this.reason = reason;
42   }
43
44   public void decodePayload(ByteBuffer buf, int length) throws IOException {
45     reason = buf.get();
46   }
47
48   public byte getReason() {
49     return reason;
50   }
51
52   public void setReason(byte reason) {
53     this.reason = reason;
54   }
55
56   public int getPayloadLength() {
57     return AgentXProtocol.AGENTX_INT_SIZE;
58   }
59
60   public void encodePayload(ByteBuffer buf) {
61     buf.put(reason);
62     buf.put(new byte[] { 0,0,0 }); // reserved
63
}
64
65   protected void beforeEncode() {
66   }
67 }
68
Popular Tags