00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 package org.objectweb.proactive.core.body.migration;
00032
00033 import org.objectweb.proactive.Body;
00034 import org.objectweb.proactive.core.body.UniversalBody;
00035 import org.objectweb.proactive.core.body.reply.ReplyReceiver;
00036 import org.objectweb.proactive.core.body.request.RequestReceiver;
00037 import org.objectweb.proactive.core.event.MigrationEventListener;
00038 import org.objectweb.proactive.core.node.Node;
00039
00040
00041 public interface MigrationManager {
00042 public Node checkNode(Node node) throws MigrationException;
00043
00044 public UniversalBody migrateTo(Node node, Body body)
00045 throws MigrationException;
00046
00047 public void changeBodyAfterMigration(MigratableBody body, UniversalBody migratedBody);
00048
00049 public void startingAfterMigration(Body body);
00050
00051 public RequestReceiver createRequestReceiver(UniversalBody remoteBody,
00052 RequestReceiver currentRequestReceiver);
00053
00054 public ReplyReceiver createReplyReceiver(UniversalBody remoteBody,
00055 ReplyReceiver currentReplyReceiver);
00056
00057 public void addMigrationEventListener(MigrationEventListener listener);
00058
00059 public void removeMigrationEventListener(MigrationEventListener listener);
00060
00061 public void setMigrationStrategy(int ttl, boolean updatingForwarder, int maxMigrationNb, int maxTimeOnSite);
00062 }