+++ /dev/null
-/*\r
- * Copyright (c) 2003 University of Murcia. All rights reserved.\r
- * --------------------------------------------------------------\r
- * For more information, please see <http://www.umu.euro6ix.org/>.\r
- */\r
-\r
-package org.umu.cops.stack;\r
-\r
-import java.io.IOException;\r
-import java.io.OutputStream;\r
-import java.net.Socket;\r
-\r
-/**\r
- * COPS PEP Identification Object\r
- *\r
- * @version COPSPepId.java, v 1.00 2003\r
- *\r
- */\r
-public class COPSPepId extends COPSObjBase {\r
-\r
- COPSObjHeader _objHdr;\r
- COPSData _data;\r
- COPSData _padding;\r
-\r
- public COPSPepId() {\r
- _objHdr = new COPSObjHeader();\r
- _objHdr.setCNum(COPSObjHeader.COPS_PEPID);\r
- _objHdr.setCType((byte) 1);\r
- }\r
-\r
- protected COPSPepId(byte[] dataPtr) {\r
- _objHdr = new COPSObjHeader();\r
- _objHdr.parse(dataPtr);\r
- // _objHdr.checkDataLength();\r
-\r
- //Get the length of data following the obj header\r
- short dLen = (short) (_objHdr.getDataLength() - 4);\r
- COPSData d = new COPSData (dataPtr, 4, dLen);\r
- setData(d);\r
- }\r
-\r
- /**\r
- * Method setData\r
- *\r
- * @param data a COPSData\r
- *\r
- */\r
- public void setData(COPSData data) {\r
- _data = data;\r
- if (_data.length() % 4 != 0) {\r
- int padLen = 4 - _data.length() % 4;\r
- _padding = getPadding(padLen);\r
- }\r
- _objHdr.setDataLength((short)_data.length());\r
- }\r
-\r
- /**\r
- * Returns size in number of octects, including header\r
- *\r
- * @return a short\r
- *\r
- */\r
- public short getDataLength() {\r
- //Add the size of the header also\r
- int lpadding = 0;\r
- if (_padding != null) lpadding = _padding.length();\r
- return ((short) (_objHdr.getDataLength() + lpadding));\r
- }\r
-\r
- /**\r
- * Method getData\r
- *\r
- * @return a COPSData\r
- *\r
- */\r
- public COPSData getData() {\r
- return _data;\r
- };\r
-\r
- /**\r
- * Method isPepId\r
- *\r
- * @return a boolean\r
- *\r
- */\r
- public boolean isPepId() {\r
- return true;\r
- };\r
-\r
- /**\r
- * Write data to given netwrok socket\r
- *\r
- * @param id a Socket\r
- *\r
- * @throws IOException\r
- *\r
- */\r
- public void writeData(Socket id) throws IOException {\r
- _objHdr.writeData(id);\r
- COPSUtil.writeData(id, _data.getData(), _data.length());\r
- if (_padding != null) {\r
- COPSUtil.writeData(id, _padding.getData(), _padding.length());\r
- }\r
- }\r
-\r
- /**\r
- * Write an object textual description in the output stream\r
- *\r
- * @param os an OutputStream\r
- *\r
- * @throws IOException\r
- *\r
- */\r
- public void dump(OutputStream os) throws IOException {\r
- _objHdr.dump(os);\r
- os.write(new String("PEPID: " + _data.str() + "\n").getBytes());\r
- }\r
-}\r
-\r
-\r
-\r