High performance DB query

源代码在线查看: message.java

软件大小: 1647 K
上传用户: wwangllei
关键词: performance query High DB
下载地址: 免注册下载 普通下载 VIP

相关代码

				/*				 * @(#)$Id: Message.java,v 1.5 2004/07/02 23:59:20 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 overlay.location.chord.payload;								import java.net.InetSocketAddress;				import services.network.Payload;				import util.FreeList;				import util.FreeListFactory;				import util.network.serialization.GenericByteBuffer;				import util.network.serialization.SerializationManager;				import util.network.serialization.SerializeBool;								/**				 * Class Message				 *				 */				public class Message extends ChordMessage {								    public static long serialVersionUID =				        SerializationManager.getSerialUID(				            "overlay.location.chord.payload.Message");				    private long applicationID;				    private Payload message;				    private boolean provideUpCalls;				    private static FreeList freeList = new FreeList(new MessageFactory());								    /**				     * DeSerialize the object from the provided GenericByteBuffer.				     *				     * @param inputBuffer				     */				    public Message(GenericByteBuffer inputBuffer) {				        super(inputBuffer);								        this.applicationID = inputBuffer.getLong();				        this.message = SerializationManager.deSerialize(inputBuffer);				        this.provideUpCalls = SerializeBool.deSerialize(inputBuffer);				    }								    /**				     * Serialize the object into the provided GenericByteBuffer.				     *				     * @param outputBuffer				     * @return				     */				    public long serialize(GenericByteBuffer outputBuffer) {				        super.serialize(outputBuffer);				        outputBuffer.putLong(applicationID);				        message.serialize(outputBuffer);				        SerializeBool.serialize(outputBuffer, provideUpCalls);								        return serialVersionUID;				    }								    /**				     * Constructor Message				     */				    protected Message() {}								    private void init(int messageID, InetSocketAddress sourceSocketAddress,				                      long applicationID, Payload message,				                      boolean provideUpCalls) {				        super.init(messageID, sourceSocketAddress);								        this.applicationID = applicationID;				        this.message = message;				        this.provideUpCalls = provideUpCalls;				    }								    /**				     * Method getSize				     * @return				     */				    public int getSize() {				        return super.getSize() + message.getSize() + Payload.LONG_SIZE + 1;				    }								    /**				     * Method getApplicationID				     * @return				     */				    public long getApplicationID() {				        return applicationID;				    }								    /**				     * Method getMessage				     * @return				     */				    public Payload getMessage() {				        return message;				    }								    /**				     * Method getProvideUpCalls				     * @return				     */				    public boolean getProvideUpCalls() {				        return provideUpCalls;				    }								    /**				     * Method allocate				     *				     * @param messageID				     * @param sourceSocketAddress				     * @param applicationID				     * @param message				     * @param provideUpCalls				     * @return				     */				    public static Message allocate(int messageID,				                                   InetSocketAddress sourceSocketAddress,				                                   long applicationID, Payload message,				                                   boolean provideUpCalls) {				        Message theMessage = (Message) freeList.allocate();								        theMessage.init(messageID, sourceSocketAddress, applicationID, message,				                        provideUpCalls);								        return theMessage;				    }								    /**				     * Method allocate				     *				     * @param oldMessage				     * @return				     */				    public static Message allocate(Message oldMessage) {				        Message message = (Message) freeList.allocate();								        message.init(oldMessage.messageID, oldMessage.sourceSocketAddress,				                     oldMessage.applicationID, oldMessage.message,				                     oldMessage.provideUpCalls);								        return message;				    }								    /**				     * Method free				     *				     * @param message				     */				    public static void free(Message message) {				        freeList.free(message);				    }				}												/**				 * Class MessageFactory				 *				 */				class MessageFactory implements FreeListFactory {								    /**				     * Method create				     * @return				     */				    public Object create() {				        return new Message();				    }				}							

相关资源