/[xulu]/trunk/src/appl/parallel/server/PartitionDataServer.java
ViewVC logotype

Contents of /trunk/src/appl/parallel/server/PartitionDataServer.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (show annotations)
Wed Feb 25 11:54:01 2009 UTC (15 years, 9 months ago) by mojays
File size: 3583 byte(s)
First Commit, corresponds to Revision 1008 of Wikisquare-SVN 
1 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