source: fedd/abac-src/ttg/process/Negotiator.java @ 4adc697

version-1.30
Last change on this file since 4adc697 was 8780cbec, checked in by Jay Jacobs <Jay.Jacobs@…>, 15 years ago

ABAC sources from Cobham

  • Property mode set to 100644
File size: 1.2 KB
Line 
1package com.nailabs.abac.process;
2
3import edu.stanford.peer.rbtm.credential.Entity;
4import java.rmi.Remote;
5import java.rmi.RemoteException;
6
7/**
8 * The negotiator interface is responsible for sending and receiving messages.
9 * In this class, the term opponent is used to describe the other negotiatior,
10 * not necessarily the opponent, O, described in the processing algorithms.
11 */
12public interface Negotiator extends Remote {
13    /**
14     * Synchronously receive a message which can contain multiple operations
15     * from an opponent and then return the updates to the originating
16     * opponent.
17     */
18    public abstract Message receive(Message msg) 
19        throws Exception, RemoteException;
20
21    /**
22     * Method to invoke a negotiation.
23     */
24    public abstract boolean negotiate() throws RemoteException;
25
26    /**
27     * Accessor method for getting the identity of whose behalf the peer
28     * negotiator is working.
29     */
30    public abstract Entity getSelf()throws RemoteException;
31
32    /**
33     * Asynchronous method to transmit a message to the opponent.
34     */
35    //public abstract void transmit(Message msg);
36
37    /**
38     * Asynchronous method to receive a method from the opponent.
39     */
40    //public abstract void receive(Message msg);
41
42}
Note: See TracBrowser for help on using the repository browser.