98 | | The basic classes defining a sessionprotocol are: |
99 | | * The sessionsettings: these define the settings for the protocol, such as the deadline, the participants and the profile |
100 | | * The sessionstate: this contains the current state of execution of the protocol. To give some example states: "waiting for bid from party 2", "ended with agreement", "ended because party 1 broke the protocol". A state also has various {{{with()}}} functions defining the new state from an old state and a party doing an action. |
101 | | * The sessionprotocol: this defines what happens when a session starts, when a participant enters halfway the session, and what the current state is. |
| 98 | The basic classes defining a protocol are: |
| 99 | * The {{{NegoSettings}}}: these define the settings for the protocol, such as the deadline, the participants and the profile |
| 100 | * The NegoState: this contains the current state of execution of the protocol. To give some example states: "waiting for bid from party 2", "ended with agreement", "ended because party 1 broke the protocol". A state also has various {{{with()}}} functions defining the new state from an old state and a party doing an action. |
| 101 | * The [source:protocol/source/main/java/genius2/protocol/NegoProtocol.java NegoProtocol]: this defines what happens when a negotiation starts, when a participant enters halfway the session, what are the allowed actions, what happens if a participant breaks the protocol, etc. |