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;
00032
00033 import java.io.IOException;
00034 import java.io.Serializable;
00035
00036 import org.apache.log4j.Logger;
00037 import org.objectweb.proactive.Body;
00038 import org.objectweb.proactive.core.UniqueID;
00039 import org.objectweb.proactive.core.body.ft.internalmsg.FTMessage;
00040 import org.objectweb.proactive.core.body.reply.Reply;
00041 import org.objectweb.proactive.core.body.request.Request;
00042 import org.objectweb.proactive.core.exceptions.NonFunctionalException;
00043 import org.objectweb.proactive.core.exceptions.manager.NFEListener;
00044 import org.objectweb.proactive.core.util.log.Loggers;
00045 import org.objectweb.proactive.core.util.log.ProActiveLogger;
00046 import org.objectweb.proactive.ext.security.SecurityEntity;
00047 import org.objectweb.proactive.ext.security.exceptions.RenegotiateSessionException;
00048
00049
00060 public interface RemoteBody extends Serializable, SecurityEntity {
00061 public static Logger bodyLogger = ProActiveLogger.getLogger(Loggers.BODY);
00062
00070 public int receiveRequest(Request r)
00071 throws java.io.IOException, RenegotiateSessionException;
00072
00079 public int receiveReply(Reply r) throws java.io.IOException;
00080
00086 public void terminate() throws java.io.IOException;
00087
00094 public String getNodeURL() throws java.io.IOException;
00095
00102 public UniqueID getID() throws java.io.IOException;
00103
00108 public String getJobID() throws java.io.IOException;
00109
00119 public void updateLocation(UniqueID id, UniversalBody body)
00120 throws java.io.IOException;
00121
00126 public void enableAC() throws java.io.IOException;
00127
00132 public void disableAC() throws java.io.IOException;
00133
00139 public void setImmediateService(String methodName)
00140 throws java.io.IOException;
00141
00142 public void setImmediateService(String methodName, Class[] parametersTypes)
00143 throws IOException;
00144
00145 public void removeImmediateService(String methodName,
00146 Class[] parametersTypes) throws IOException;
00147
00154 public Object receiveFTMessage(FTMessage fte) throws IOException;
00155
00161 public void changeProxiedBody(Body newBody) throws java.io.IOException;
00162
00163 public void addNFEListener(NFEListener listener) throws java.io.IOException;
00164
00165 public void removeNFEListener(NFEListener listener)
00166 throws java.io.IOException;
00167
00168 public int fireNFE(NonFunctionalException e) throws java.io.IOException;
00169 }