View Javadoc

1   package org.xvsm.remote.interfaces;
2   
3   import java.net.URI;
4   
5   import org.xvsm.internal.exceptions.XCoreRemoteException;
6   import org.xvsm.internal.tasks.Task;
7   
8   /***
9    * 
10   * @author Christian Schreiber, Michael Proestler
11   * @param <T>
12   *            the message type.
13   */
14  public interface ITransportSender<T> {
15  	/***
16  	 * Sends the a Request.
17  	 * 
18  	 * @param t
19  	 *            the task to send.
20  	 * @param uri
21  	 *            the destination.
22  	 */
23  	void sendRequest(URI uri, Task t) throws XCoreRemoteException;
24  
25  	/***
26  	 * Sends the Response to a Request. In some cases this might be same as
27  	 * sending a Request.
28  	 * 
29  	 * @param t
30  	 *            the task to send.
31  	 * @param uri
32  	 *            the destination.
33  	 */
34  	void sendResponse(URI uri, Task t) throws XCoreRemoteException;
35  
36  	/***
37  	 * Sets the Marshaller the Listener should use.
38  	 * 
39  	 * @param m
40  	 *            the Marshaller.
41  	 */
42  	void setMarshaller(IMarshaller<T> m);
43  }