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.request;
00032 
00033 import org.objectweb.proactive.Body;
00034 import org.objectweb.proactive.core.body.UniversalBody;
00035 import org.objectweb.proactive.core.body.message.Message;
00036 import org.objectweb.proactive.core.body.reply.Reply;
00037 import org.objectweb.proactive.core.exceptions.proxy.ProxyNonFunctionalException;
00038 import org.objectweb.proactive.core.mop.MethodCall;
00039 import org.objectweb.proactive.ext.security.Securizable;
00040 import org.objectweb.proactive.ext.security.exceptions.RenegotiateSessionException;
00041 
00042 
00059 public interface Request extends Message, Securizable {
00060 
00061         
00062         
00063         public static final int NFREQUEST_IMMEDIATE_PRIORITY = 2;
00064         
00065         public static final int NFREQUEST_PRIORITY = 1;
00066         
00067         public static final int NFREQUEST_NO_PRIORITY = 0;
00068         
00073     public boolean hasBeenForwarded();
00074 
00078     public void resetSendCounter();
00079 
00087     public Object getParameter(int index);
00088 
00093     public MethodCall getMethodCall();
00094 
00099     public UniversalBody getSender();
00100 
00107     public int send(UniversalBody destinationBody)
00108         throws java.io.IOException, RenegotiateSessionException;
00109 
00118     public Reply serve(Body targetBody) throws ServeException;
00119 
00126     public Reply serveAlternate(Body targetBody, ProxyNonFunctionalException nfe);
00127 
00136     public void notifyReception(UniversalBody bodyReceiver)
00137         throws java.io.IOException;
00138     
00144     public boolean isFunctionalRequest();
00145     
00150     public void setFunctionalRequest(boolean isFunctionalRequest);
00151     
00152     
00160     public void setNFRequestPriority(int NFReqPriority);
00161     
00166     public int getNFRequestPriority();
00167 }