亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? chord.java

?? Chord package into p2psim
?? JAVA
字號:
/***************************************************************************
 *                                                                         *
 *                                Chord.java                               *
 *                            -------------------                          *
 *   date                 : 15.08.2004                                     *
 *   copyright            : (C) 2004-2008 Distributed and                  *
 *                              Mobile Systems Group                       *
 *                              Lehrstuhl fuer Praktische Informatik       *
 *                              Universitaet Bamberg                       *
 *                              http://www.uni-bamberg.de/pi/              *
 *   email                : sven.kaffille@uni-bamberg.de                   *
 *                          karsten.loesing@uni-bamberg.de                 *
 *                                                                         *
 *                                                                         *
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   A copy of the license can be found in the license.txt file supplied   *
 *   with this software or at: http://www.gnu.org/copyleft/gpl.html        *
 *                                                                         *
 ***************************************************************************/
package de.uniba.wiai.lspi.chord.service;

import java.io.Serializable;
import java.util.Set;

import de.uniba.wiai.lspi.chord.data.ID;
import de.uniba.wiai.lspi.chord.data.URL;

/**
 * Provides all methods necessary for a user application. This includes methods
 * for changing connectivity to the network (create, join, leave) as well as for
 * working with content (insert, retrieve, remove).
 * 
 * @author Sven Kaffille, Karsten Loesing
 * @version 1.0.5
 */
public interface Chord {

	/**
	 * Returns the {@link URL} of the local node; is <code>null</code> if no network has been
	 * created or joined.
	 * 
	 * @return {@link URL} of local node.
	 */
	public abstract URL getURL();

	/**
	 * Sets the {@link URL} of the local node to the given value; only available
	 * before creating or joining a network.
	 * 
	 * @param nodeURL
	 *            New {@link URL} of local node.
	 * @throws NullPointerException
	 *             If given URL reference has value <code>null</code>.
	 * @throws IllegalStateException
	 *             If network has already been created or joined.
	 */
	public abstract void setURL(URL nodeURL) throws IllegalStateException;

	/**
	 * Returns the {@link ID} of the local node; is <code>null</code> if no network has been
	 * created or joined.
	 * 
	 * @return {@link ID} of local node.
	 */
	public abstract ID getID();

	/**
	 * Sets the {@link ID} of the local node to the given value; only available
	 * before creating or joining a network.
	 * 
	 * @param nodeID
	 *            New {@link ID} of local node.
	 * @throws NullPointerException
	 *             If given ID reference has value <code>null</code>.
	 * @throws IllegalStateException
	 *             If network has already been created or joined.
	 */
	public abstract void setID(ID nodeID) throws IllegalStateException;

	/**
	 * Creates a new chord network which is not connected to any other node.
	 * Assumes that at least the node URL has been set before by {@link #setURL}.
	 * If no ID has been set before, it is generated by applying a hash function
	 * on the node URL.
	 * 
	 * @throws ServiceException
	 *             Is thrown if creating the local chord node fails, e.g. due to
	 *             unability of creating the endpoint for incoming messages. Is
	 *             also thrown if no URL has been set before.
	 */
	public abstract void create() throws ServiceException;

	/**
	 * Creates a new chord network which is not connected to any other node. The
	 * node ID is generated by applying a hash function on the node {@link URL}.
	 * 
	 * @param localURL
	 *            {@link URL} on which this node accepts incoming requests from
	 *            other chord nodes. The {@link ID} of this node is generated by
	 *            applying a hash function on the node {@link URL}.
	 * @throws NullPointerException
	 *             If <code>localURL</code> is <code>null</code>.
	 * @throws ServiceException
	 *             Is thrown if creating the local chord node fails, e.g. due to
	 *             unability of creating the endpoint for incoming messages.
	 */
	public abstract void create(URL localURL) throws ServiceException;

	/**
	 * Creates a new chord network which is not connected to any other node.
	 * 
	 * @param localURL
	 *            {@link URL} on which this node accepts incoming requests from
	 *            other chord nodes.
	 * @param localID
	 *            {@link ID} of this node.
	 * @throws NullPointerException
	 *             If <code>localURL</code> or <code>localID</code> is
	 *             <code>null</code>.
	 * @throws ServiceException
	 *             Is thrown if creating the local chord node fails, e.g. due to
	 *             unability of creating the endpoint for incoming messages.
	 */
	public abstract void create(URL localURL, ID localID)
			throws ServiceException;

	/**
	 * Joins an existing chord network and announces its presence to the other
	 * nodes. Assumes that at least the node {@link URL} has been set before by
	 * {@link #setURL}. If no {@link ID} has been set before, it is generated
	 * by applying a hash function on the node {@link URL}.
	 * 
	 * @param bootstrapURL
	 *            {@link URL} of one existing node which is used as bootstrap
	 *            node.
	 * @throws NullPointerException
	 *             If <code>bootstrapURL</code> is <code>null</code>.
	 * @throws ServiceException
	 *             If joining fails this exception is thrown. This may be due to
	 *             failure of establishing an endpoint or communication problems
	 *             when contacting the bootstrap node. Is also thrown if no URL
	 *             has been set before.
	 */
	public abstract void join(URL bootstrapURL) throws ServiceException;

	/**
	 * Joins an existing chord network and announces its presence to the other
	 * nodes. The node {@link ID} is generated by applying a hash function on
	 * the node {@link URL}.
	 * 
	 * @param localURL
	 *            The local node is made available under this {@link URL}.
	 * @param bootstrapURL
	 *            {@link URL} of one existing node which is used as bootstrap
	 *            node.
	 * @throws NullPointerException
	 *             If <code>localURL</code> or <code>bootstrapURL</code> is
	 *             <code>null</code>.
	 * @throws ServiceException
	 *             If joining fails this exception is thrown. This may be due to
	 *             failure of establishing an endpoint or communication problems
	 *             when contacting the bootstrap node.
	 */
	public abstract void join(URL localURL, URL bootstrapURL)
			throws ServiceException;

	/**
	 * Joins an existing chord network and announces its presence to the other
	 * nodes.
	 * 
	 * @param localURL
	 *            The local node is made available under this {@link URL}.
	 * @param localID
	 *            {@link ID} of this node.
	 * @param bootstrapURL
	 *            {@link URL} of one existing node which is used as bootstrap
	 *            node.
	 * @throws NullPointerException
	 *             If <code>localURL</code>, <code>localID</code>, or
	 *             <code>bootstrapURL</code> is <code>null</code>.
	 * @throws ServiceException
	 *             If joining fails this exception is thrown. This may be due to
	 *             failure of establishing an endpoint or communication problems
	 *             when contacting the bootstrap node.
	 */
	public abstract void join(URL localURL, ID localID, URL bootstrapURL)
			throws ServiceException;

	/**
	 * Disconnects from the network.
	 * 
	 * @throws ServiceException
	 *             If properly leaving the network fails this exception is
	 *             thrown. The network might have been left as if the local node
	 *             has failed. However, disconnecting from the network is done
	 *             in every case.
	 */
	public abstract void leave() throws ServiceException;

	/**
	 * Inserts a new data object into the network stored under the given key. If
	 * two or more objects with same keys exist, all of them are stored.
	 * 
	 * @param key
	 *            Key, under which the new item is stored.
	 * @param object
	 *            Object for storage in the network.
	 * @throws NullPointerException
	 *             If key or object is <code>null</code>.
	 * @throws ServiceException
	 *             Thrown if insertion failed. The effect of the insertion
	 *             operation is undefined if this exception occurs.
	 */
	public abstract void insert(Key key, Serializable object)
			throws ServiceException;

	/**
	 * Attempts to find all objects with given key.
	 * 
	 * @param key
	 *            Key for which objects shall be retrieved.
	 * @return All objects stored under given key. Set of {@link Serializable}
	 * @throws NullPointerException
	 *             If <code>key</code> is <code>null</code>.
	 * @throws ServiceException
	 *             Is thrown if retrieval failed, e.g. due to a communication
	 *             failure. However, the network is left in a stable state.
	 */
	public abstract Set<Serializable> retrieve(Key key) throws ServiceException;

	/**
	 * Removes the given object stored under given key from the network.
	 * 
	 * @param key
	 *            Key under which the object currently is stored.
	 * @param object
	 *            Object to remove from the network.
	 * @throws NullPointerException
	 *             If key or object is <code>null</code>.
	 * @throws ServiceException
	 *             Thrown if deletion failed. The effect of the delete operation
	 *             is undefined if this exception occurs.
	 */
	public abstract void remove(Key key, Serializable object)
			throws ServiceException;

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本高清无吗v一区| 精品国产露脸精彩对白| 91精品国产欧美一区二区| 国产视频一区在线观看 | 午夜国产精品一区| 国产成人av电影在线播放| 欧美日韩精品福利| 国产精品不卡在线| 国产精品一区不卡| 91精品国产美女浴室洗澡无遮挡| 国产精品国产三级国产aⅴ入口 | a在线播放不卡| 久久综合九色综合久久久精品综合| 亚洲人成影院在线观看| 国产91丝袜在线18| 久久久久久久国产精品影院| 日本va欧美va精品发布| 欧美伊人久久久久久久久影院 | 国产人成亚洲第一网站在线播放| 午夜不卡av在线| 欧美在线短视频| 一区二区三区鲁丝不卡| 99re66热这里只有精品3直播| 久久久国产一区二区三区四区小说| 日本中文字幕一区| 欧美一区二区精品| 免费看日韩精品| 精品国产一区二区精华| 爽好久久久欧美精品| 欧美日韩精品电影| 日产精品久久久久久久性色| 欧美肥胖老妇做爰| 日韩电影一区二区三区| 91精品国产免费久久综合| 日韩电影在线看| 亚洲精品一区二区精华| 国产传媒久久文化传媒| 国产精品不卡一区二区三区| gogo大胆日本视频一区| 一区二区三区免费观看| 欧美日韩一区二区三区在线 | 亚洲私人影院在线观看| 91麻豆高清视频| 亚洲一区免费视频| 欧美日韩黄色影视| 天天综合网天天综合色| 日韩午夜激情视频| 国产乱码精品1区2区3区| 欧美国产一区二区在线观看| 91小视频在线| 日韩激情一区二区| 国产丝袜欧美中文另类| 91视频免费观看| 视频一区中文字幕| 精品日韩一区二区三区 | 国产精品国产三级国产a| 色婷婷香蕉在线一区二区| 日日夜夜一区二区| 久久精品一区二区| 91亚洲国产成人精品一区二区三 | 成人激情校园春色| 一区二区久久久久| 欧美v日韩v国产v| 91麻豆国产香蕉久久精品| 美女视频黄久久| 亚洲天堂2014| 精品日韩欧美在线| 色综合色综合色综合色综合色综合| 亚洲国产综合91精品麻豆| 久久久久久麻豆| 欧美日韩激情一区| www.亚洲色图| 久久精品国产**网站演员| 亚洲欧洲日本在线| 欧美刺激午夜性久久久久久久| 成人h动漫精品一区二区| 免费美女久久99| 亚洲嫩草精品久久| 久久久久久日产精品| 欧美日韩精品高清| 成人av免费在线观看| 免费日本视频一区| 亚洲国产一区二区视频| 国产欧美一区二区精品性色| 91精品国产入口在线| 色婷婷久久久亚洲一区二区三区| 国产九色sp调教91| 毛片一区二区三区| 亚洲自拍另类综合| 国产精品久线观看视频| 久久久久久久免费视频了| 4438x成人网最大色成网站| 97国产精品videossex| 国产成人aaaa| 国内精品免费**视频| 青青草原综合久久大伊人精品 | 蜜桃av一区二区| 亚洲va韩国va欧美va| 亚洲欧美日韩国产综合| 国产精品网站一区| 久久蜜桃一区二区| 国产精品成人一区二区三区夜夜夜| 亚洲18色成人| 日韩欧美中文字幕制服| 老司机一区二区| 日韩国产在线一| 色视频成人在线观看免| 国产精品一区二区三区99| 国产精品看片你懂得| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲一区二区三区四区在线观看| 天堂久久久久va久久久久| 国模冰冰炮一区二区| 91免费版pro下载短视频| 9191成人精品久久| 日本一区二区成人| 天堂一区二区在线| 高清不卡在线观看| av一二三不卡影片| 91小视频在线| 91精品国产欧美一区二区| 国产日产欧美一区二区视频| 一区二区三区欧美久久| 国产精品自拍在线| 欧美日本一区二区在线观看| 国产婷婷色一区二区三区四区| 亚洲国产日韩精品| 国产91丝袜在线播放0| 日韩一区二区在线观看视频| 亚洲欧美日韩小说| 国产在线不卡视频| 这里只有精品视频在线观看| 国产精品女同一区二区三区| 青草av.久久免费一区| 91老师片黄在线观看| 国产午夜精品美女毛片视频| 午夜精彩视频在线观看不卡| 99久久精品国产网站| 精品国产91亚洲一区二区三区婷婷| 一区二区三区四区国产精品| 国产成人精品免费视频网站| 久久女同互慰一区二区三区| 亚洲一区二区三区激情| youjizz国产精品| 国产女人水真多18毛片18精品视频| 国产成人夜色高潮福利影视| 久久精品久久99精品久久| 欧美综合在线视频| 亚洲欧美福利一区二区| 国产成人av资源| 337p粉嫩大胆色噜噜噜噜亚洲| 天天综合色天天| 91福利国产成人精品照片| 日韩精品午夜视频| 精品国产乱码久久久久久久| 亚洲精品写真福利| 大美女一区二区三区| 久久免费国产精品 | 亚洲一二三四久久| 成年人国产精品| 国产拍欧美日韩视频二区| 久久99精品久久久久久久久久久久| 欧美日韩情趣电影| 亚洲一线二线三线久久久| 成人精品视频一区| 国产天堂亚洲国产碰碰| 国产一区二区按摩在线观看| 欧美成人官网二区| 日本va欧美va精品| 日韩欧美另类在线| 麻豆专区一区二区三区四区五区| 欧美一区午夜视频在线观看| 日韩国产欧美在线播放| 7777女厕盗摄久久久| 日韩成人免费电影| 欧美一二三区在线观看| 美日韩一级片在线观看| 日韩视频免费观看高清完整版 | 成年人国产精品| 亚洲欧美日韩一区二区| 在线一区二区三区四区五区 | 91一区二区在线观看| 一区二区三区欧美亚洲| 欧美日精品一区视频| 日韩激情一二三区| 日韩午夜小视频| 国内成人免费视频| 日本一区二区三区dvd视频在线| 国产91在线看| 亚洲精品你懂的| 7777精品伊人久久久大香线蕉的 | 亚洲一区视频在线观看视频| 欧美亚洲动漫精品| 另类人妖一区二区av| 久久网这里都是精品| 成人h动漫精品一区二| 亚洲高清在线精品| 精品第一国产综合精品aⅴ| 国产精品888| 亚洲免费在线播放|