📄 serializeinetaddress.java
字号:
/* * @(#)$Id: SerializeInetAddress.java,v 1.6 2004/07/02 23:59:22 huebsch Exp $ * * Copyright (c) 2001-2004 Regents of the University of California. * All rights reserved. * * This file is distributed under the terms in the attached BERKELEY-LICENSE * file. If you do not find these files, copies can be found by writing to: * Computer Science Division, Database Group, Universite of California, * 617 Soda Hall #1776, Berkeley, CA 94720-1776. Attention: Berkeley License * * Copyright (c) 2003-2004 Intel Corporation. All rights reserved. * * This file is distributed under the terms in the attached INTEL-LICENSE file. * If you do not find these files, copies can be found by writing to: * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, * Berkeley, CA, 94704. Attention: Intel License Inquiry. */package util.network.serialization;import java.net.InetAddress;import java.net.UnknownHostException;/** * Class SerializeInetAddress * */public class SerializeInetAddress { public static final byte[] NULL_VALUE = {0, 0, 0, 0}; /** * Method serialize * * @param outputBuffer * @param value */ public static void serialize(GenericByteBuffer outputBuffer, InetAddress value) { byte theData[] = null; if (value == null) { theData = NULL_VALUE; } else { theData = value.getAddress(); } for (int i = 0; i < theData.length; i++) { outputBuffer.put(theData[i]); } } /** * Method serializeHostname * * @param outputBuffer * @param value */ public static void serializeHostname(GenericByteBuffer outputBuffer, InetAddress value) { if (value == null) { SerializeString.serializeUTF8(outputBuffer, null); } else { SerializeString.serializeUTF8(outputBuffer, value.getCanonicalHostName()); } } /** * Method deSerialize * * @param inputBuffer * @param bytes * @return */ public static InetAddress deSerialize(GenericByteBuffer inputBuffer, int bytes) { byte theData[] = new byte[bytes]; for (int i = 0; i < bytes; i++) { theData[i] = inputBuffer.get(); } if (theData == NULL_VALUE) { return null; } try { return InetAddress.getByAddress(theData); } catch (UnknownHostException exception) { throw new RuntimeException( "SerializationManager: Unable to deserialize InetAddress:" + theData + ", ERROR:" + exception.getClass().getName() + ": " + exception.getMessage()); } } /** * Method deSerializeHostname * * @param inputBuffer * @return */ public static InetAddress deSerializeHostname( GenericByteBuffer inputBuffer) { String theData = SerializeString.deSerializeUTF8(inputBuffer); try { return InetAddress.getByName(theData); } catch (UnknownHostException exception) { throw new RuntimeException( "SerializationManager: Unable to deserialize InetAddress:" + theData + ", ERROR:" + exception.getClass().getName() + ": " + exception.getMessage()); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -