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

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

?? asynchord.java

?? Chord package into p2psim
?? JAVA
字號:
/***************************************************************************
 *                                                                         *
 *                              AsynChord.java                             *
 *                            -------------------                          *
 *   date                 : 15.10.2005                                     *
 *   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 de.uniba.wiai.lspi.chord.data.ID;
import de.uniba.wiai.lspi.chord.data.URL;

/**
 * <p>
 * Interface to Chord distributed hash table for asynchronous method
 * invocations.
 * </p>
 * <p>
 * The methods
 * <ul>
 * <li>{@link #insert(Key, Serializable, ChordCallback)}</li>
 * <li>{@link #remove(Key, Serializable, ChordCallback)}</li>
 * <li>{@link #retrieve(Key, ChordCallback)}</li>
 * </ul>
 * perform the requested operation (insert, remove, or retrieve) and delegate
 * the invocation result to the provided {@link ChordCallback callback} object.
 * </p>
 * <p>
 * The methods
 * <ul>
 * <li>{@link #insertAsync(Key, Serializable)}</li>
 * <li>{@link #removeAsync(Key, Serializable)}</li>
 * <li>{@link #retrieveAsync(Key)}</li>
 * </ul>
 * perform the requested operation (insert, remove, or retrieve) and the result
 * can be obtained or the completion of the method can be detected with help of
 * the returned instance of {@link ChordFuture}.
 * </p>
 * 
 * @author sven
 * @version 1.0.5
 */
public interface AsynChord {

	/**
	 * 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;
	
	/**
	 * Asynchronous method to retrieve the entries associated with
	 * <code>key</code>. Implementations of this method must return
	 * immediately and the result of the retrieval must be passed to the
	 * provided <code>callback</code> instance.
	 * 
	 * @param key
	 *            The key for which the associated entries should be retrieved.
	 * 
	 * @param callback
	 *            The {@link ChordCallback} to which to pass the retrieval
	 *            result.
	 */
	public void retrieve(Key key, ChordCallback callback);

	/**
	 * Asynchronous method to insert <code>entry</code> under the provided
	 * <code>key</code>. Implementations of this method must return
	 * immediately and the completion of the insertion must be reported to the
	 * provided <code>callback</code> instance.
	 * 
	 * @param key
	 *            The {@link Key} to associate with <code>entry</code>
	 * @param entry
	 *            The entry to insert.
	 * @param callback
	 *            The {@link ChordCallback} to which to pass the retrieval
	 *            result.
	 */
	public void insert(Key key, Serializable entry, ChordCallback callback);

	/**
	 * Asynchronous method to remove <code>entry</code> under the provided
	 * <code>key</code>. Implementations of this method must return
	 * immediately and the completion of the removal must be reported to the
	 * provided <code>callback</code> instance.
	 * 
	 * @param key
	 *            The {@link Key} associated with <code>entry</code>
	 * @param entry
	 *            The entry to insert.
	 * @param callback
	 *            The {@link ChordCallback} to which to pass the retrieval
	 *            result.
	 */
	public void remove(Key key, Serializable entry, ChordCallback callback);

	/**
	 * Asynchronous method to retrieve the entries associated with
	 * <code>key</code>. Implementations of this method must return
	 * immediately and return an implementation of {@link ChordRetrievalFuture},
	 * which can be used later on to retrieve the retrieved results.
	 * 
	 * @param key
	 *            The {@link Key} for that the associated entries should be
	 *            retrieved.
	 * @return {@link ChordRetrievalFuture} that represents the result of the
	 *         retrieve method.
	 */
	public ChordRetrievalFuture retrieveAsync(Key key);

	/**
	 * Asynchronous method to insert <code>entry</code> with <code>key</code>.
	 * Implementations of this method must return immediately and return an
	 * implementation of {@link ChordFuture}, which can be used later on to
	 * determine completion of the insertion.
	 * 
	 * @param key
	 *            The {@link Key} with which <code>entry</code> will be
	 *            associated.
	 * @param entry
	 *            The entry to insert.
	 * @return {@link ChordFuture}, which can be used later on to determine
	 *         completion of the insertion.
	 */
	public ChordFuture insertAsync(Key key, Serializable entry);

	/**
	 * Asynchronous method to remove <code>entry</code> with <code>key</code>.
	 * Implementations of this method must return immediately and return an
	 * implementation of {@link ChordFuture}, which can be used later on to
	 * determine completion of the removal.
	 * 
	 * @param key
	 *            The {@link Key} with which <code>entry</code> is associated.
	 * @param entry
	 *            The entry to remove.
	 * @return {@link ChordFuture}, which can be used later on to determine
	 *         completion of the removal.
	 */
	public ChordFuture removeAsync(Key key, Serializable entry);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩在线电影| 成人在线一区二区三区| 91精品国产综合久久精品性色| 一区二区三区欧美日韩| 欧美自拍丝袜亚洲| 美女在线一区二区| 国产三级精品在线| 色综合久久88色综合天天6| 亚洲愉拍自拍另类高清精品| 欧美剧情电影在线观看完整版免费励志电影| 亚洲黄色小说网站| 91精品久久久久久久99蜜桃| 国产中文字幕精品| 国产精品久久一卡二卡| 在线观看国产日韩| 精品一区二区三区免费| 一色屋精品亚洲香蕉网站| 欧美影院精品一区| 精品一区二区在线播放| 中文字幕在线不卡一区二区三区| 欧美丝袜丝交足nylons| 久久国产日韩欧美精品| 自拍偷在线精品自拍偷无码专区 | 国产在线精品一区二区三区不卡 | 欧美疯狂做受xxxx富婆| 精品一区二区免费视频| 亚洲少妇屁股交4| 日韩一级欧美一级| 91在线观看污| 久久99精品久久久久婷婷| 国产精品国产三级国产aⅴ中文 | 日本欧美一区二区在线观看| 国产午夜精品在线观看| 欧美日韩另类一区| 国产成人亚洲综合色影视| 亚洲一级二级在线| 久久久91精品国产一区二区三区| 欧美日韩亚洲高清一区二区| 懂色av一区二区三区免费看| 亚洲国产欧美在线| 国产精品久久久一本精品 | 欧美日韩精品电影| 国产suv精品一区二区6| 男女性色大片免费观看一区二区| 亚洲婷婷综合久久一本伊一区| 精品久久久久久无| 欧美男女性生活在线直播观看| 成人毛片老司机大片| 久久机这里只有精品| 亚洲高清不卡在线观看| 中文字幕五月欧美| 久久综合久久综合亚洲| 在线播放国产精品二区一二区四区| jizzjizzjizz欧美| 国产精品一区在线观看乱码| 毛片不卡一区二区| 日韩二区三区四区| 亚洲国产一区二区在线播放| 国产精品久久久久久久久免费丝袜 | 亚洲国产成人porn| 国产精品国产a级| 国产丝袜欧美中文另类| 精品国产伦一区二区三区观看体验 | 亚洲国产精品天堂| 一区二区中文视频| 欧美国产国产综合| 中文字幕欧美日韩一区| 久久久精品黄色| 久久久久国产精品人| 久久人人97超碰com| 久久综合av免费| 久久影音资源网| 国产日产精品一区| 国产欧美一区二区三区在线老狼| 2欧美一区二区三区在线观看视频| 欧美mv日韩mv国产网站app| 日韩视频一区二区在线观看| 欧美成人a视频| 欧美精品一区二区蜜臀亚洲| 欧美成人女星排行榜| 精品久久人人做人人爽| 久久人人爽人人爽| 国产精品色一区二区三区| 国产精品伦理一区二区| 中文字幕日本不卡| 一区二区三区久久| 天堂午夜影视日韩欧美一区二区| 日韩二区三区在线观看| 国产真实精品久久二三区| 国产·精品毛片| 99久久精品国产导航| 色哟哟一区二区在线观看| 欧美日韩小视频| 日韩免费观看高清完整版| 2023国产精品视频| 中文字幕一区二区日韩精品绯色| 一区二区成人在线视频| 免费高清在线一区| 福利视频网站一区二区三区| 色综合久久久久综合| 欧美喷潮久久久xxxxx| 欧美大度的电影原声| 中文在线免费一区三区高中清不卡| 成人欧美一区二区三区1314| 亚洲成人动漫精品| 国内不卡的二区三区中文字幕 | 99视频精品在线| 欧美三级日韩三级| 2023国产一二三区日本精品2022| 国产精品久久久久久户外露出| 亚洲图片一区二区| 国产黄色91视频| 欧美日韩不卡在线| 国产亚洲制服色| 首页国产丝袜综合| 粉嫩一区二区三区在线看| 欧美日韩美女一区二区| 欧美国产精品久久| 日本不卡免费在线视频| 国产1区2区3区精品美女| 欧美美女视频在线观看| 欧美韩国日本一区| 日韩成人一区二区| 91视频免费播放| 精品成人佐山爱一区二区| 亚洲精品一二三| 激情图片小说一区| 欧美日本国产一区| 中文字幕制服丝袜一区二区三区| 日本欧美大码aⅴ在线播放| av一区二区不卡| 欧美精品一区二区三区久久久| 一区二区三区在线观看国产| 国产精品456露脸| 91精品欧美福利在线观看| 亚洲日本在线视频观看| 国产一区二区成人久久免费影院 | 色婷婷综合久久久中文一区二区| 精品成人一区二区三区| 日日夜夜精品视频天天综合网| 99精品视频在线观看| 久久久久久久久久久久久久久99 | 国产精品久久久久久久久搜平片 | 另类小说一区二区三区| 色婷婷久久综合| 亚洲欧洲在线观看av| 国产精品自产自拍| 日韩欧美一区二区久久婷婷| 亚洲国产精品综合小说图片区| 91老师国产黑色丝袜在线| 欧美国产日韩亚洲一区| 国产麻豆一精品一av一免费| 91精品国产色综合久久ai换脸 | 欧美伊人久久久久久久久影院 | 色就色 综合激情| 国产精品女同一区二区三区| 国产精品小仙女| 精品国产乱码久久久久久免费| 免费欧美高清视频| 91精品麻豆日日躁夜夜躁| 视频在线在亚洲| 7777精品伊人久久久大香线蕉最新版| 亚洲精品国产成人久久av盗摄| 色综合久久66| 亚洲与欧洲av电影| 欧美日韩一区二区欧美激情| 亚洲国产精品久久人人爱| 欧美亚洲动漫另类| 亚洲一区二区三区在线播放| 欧洲精品一区二区| 亚洲国产中文字幕在线视频综合 | 日韩国产在线一| 日韩三级视频中文字幕| 久久99久国产精品黄毛片色诱| 精品区一区二区| 国内精品写真在线观看| 国产性色一区二区| 大桥未久av一区二区三区中文| 国产精品视频九色porn| 成人av在线一区二区三区| 自拍视频在线观看一区二区| 色一区在线观看| 一区二区三区在线不卡| 91麻豆精品国产自产在线 | 午夜精品一区二区三区免费视频| 欧美午夜精品久久久久久孕妇| 午夜视频在线观看一区| 欧美一级在线视频| 国产a级毛片一区| 亚洲免费在线观看视频| 欧美日韩综合在线| 久久国产精品99久久人人澡| 久久精品一区四区| 色噜噜狠狠色综合欧洲selulu| 五月激情六月综合| 国产三级欧美三级| 欧美一a一片一级一片| 国内外成人在线| 亚洲免费观看在线观看| 91精品欧美一区二区三区综合在|