/[xulu]/branches/1.8-gt2-2.6/src/appl/parallel/server/PartitionDataServer.java
ViewVC logotype

Annotation of /branches/1.8-gt2-2.6/src/appl/parallel/server/PartitionDataServer.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (hide annotations)
Wed Feb 25 11:54:01 2009 UTC (15 years, 9 months ago) by mojays
Original Path: trunk/src/appl/parallel/server/PartitionDataServer.java
File size: 3583 byte(s)
First Commit, corresponds to Revision 1008 of Wikisquare-SVN 
1 mojays 2 package appl.parallel.server;
2    
3     import java.awt.Rectangle;
4     import java.rmi.Remote;
5     import java.rmi.RemoteException;
6     import java.util.HashMap;
7     import java.util.Vector;
8    
9     import appl.parallel.client.DataServer;
10     import appl.parallel.spmd.MultiDataInfo;
11     import appl.parallel.spmd.MultiDataObject;
12     import appl.parallel.spmd.split.DataPartition;
13     import appl.parallel.spmd.split.PartitionInfo;
14     import appl.parallel.spmd.split.SinglePartitionInfo;
15     import appl.parallel.spmd.split.SplittableResource;
16    
17     /**
18     * Manages data and partitions on servers. The method descriptions for details.
19     *
20     * @see PartitionDataManager
21     *
22     * @author Dominik Appl
23     */
24     public interface PartitionDataServer extends Remote, DataServer {
25    
26     /**
27     * gets the data with the id of a SplittableRessource
28     *
29     * @param id
30     * the {@link SplittableResource#getRootID() ID} of a the base data
31     * @param bounds
32     * the bounds of the partition to retrieve (using global
33     * coordinates)
34     * @return the partition
35     * @throws RemoteException
36     */
37     public DataPartition getPartition(int id, Rectangle bounds)
38     throws RemoteException;
39    
40     /**
41     * sets the data with the id of a SplittableRessource
42     *
43     * @param id
44     * the {@link SplittableResource#getRootID() ID} of a the base data
45     * @param bounds
46     * the locatition where the partition is to be updated (using
47     * global coordinates)
48     * @param updateData
49     * the updateData (which may only a partitial update, depending
50     * on the bounds set with the last parameter)
51     * @throws RemoteException
52     */
53     public void updatePartition(int id, DataPartition updateData,
54     Rectangle bounds) throws RemoteException;
55    
56     /**
57     * Unloads the specified resource to the source it was loaded from
58     *
59     * @param rootID
60     * the id of the resource
61     */
62     public void unloadToSource(int rootID) throws RemoteException;
63    
64     /**
65     * requests an update for the neighborhood region for the given resource
66     *
67     * @param rootID
68     */
69     public void updateFromNeighbors(int rootID) throws RemoteException;
70    
71     /**
72     * Adds or updates BaseParameters
73     */
74     public void updateBaseParameter(HashMap<String, Object> newParameters)
75     throws RemoteException;
76    
77     /**
78     * Adds {@link PartitionInfo}s to the server. They are submitted in a
79     * vector to avoid multiple remote calls.
80     *
81     * @param singlePartitionInfos
82     * @throws RemoteException
83     */
84     public void addPartitionInfos(
85     Vector<SinglePartitionInfo> singlePartitionInfos)
86     throws RemoteException;
87    
88     /**
89     * Adds {@link MultiDataInfo}s to the server.
90     *
91     * @param toTransferMultiDataObjects
92     */
93     public void addMultiDataInfos(
94     HashMap<String, MultiDataInfo> toTransferMultiDataObjects)
95     throws RemoteException;
96    
97     /**
98     * @param name
99     * the name of the associated multi data
100     * @return the {@link MultiDataInfo} info
101     * @throws RemoteException
102     */
103     public MultiDataInfo getMultiDataInfo(String name) throws RemoteException;
104    
105     /**
106     * @param name
107     * the name of the multiDataObject
108     * @return the MultiDataObject associated with that name
109     * @throws RemoteException
110     */
111     public MultiDataObject getMultiDataObject(String name)
112     throws RemoteException;
113    
114     /**
115     * @param rootID
116     * the id of the according partition
117     * @return the the {@link PartitionInfo}
118     * @throws RemoteException
119     */
120     public SinglePartitionInfo getPartitionInfo(int rootID)
121     throws RemoteException;
122    
123     }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26