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 }