03.01.2013 Views

Chapter 1

Chapter 1

Chapter 1

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

State Meaning<br />

responses are handled in waiting state.<br />

Here are the allowable states, and all allowable transitions between them (except reset<br />

transitions, which have been omitted for clarity, but which are possible from any state to<br />

blank) (see Figure A3.9).<br />

Figure A3.9<br />

RGCP states correspond precisely to underlying GSDP states, with the distinction that<br />

GSDP's bound state is divided into two major states, requesting and waiting, that correspond<br />

to whether it's this partner's turn to 'talk' or not. That's natural: this is precisely what a<br />

conversation protocol is all about. The additional responding state is a brief transition state<br />

between waiting and requesting.<br />

All these states may be of arbitrary duration, except responding,which must complete in the<br />

duration of a single synchronous function call. This implies that an RGCP response should<br />

be a response to the request that contains information about the result of the other partner's<br />

move – not a responding move, which would take arbitrary time.<br />

The following state transitions are possible:<br />

� Blank to initiating or listening: similar to GSDP<br />

� Listening or initiating to blank, by a simple reset (omitted from the diagram for clarity)<br />

� Responding, requesting or waiting to blank, by a terminate that's either called through<br />

this partner's API, or received from the other partner as a request (omitted from the<br />

diagram for clarity)<br />

� Listening to requesting, by handling an initiate request (the responding state that you<br />

might expect is handled internally by the RGCP stack)<br />

� Initiating to responding, by receiving an initiate response and handling the incoming<br />

request<br />

� Waiting to responding, by receiving a response and handling the incoming request<br />

� Responding to requesting, by completing the handling of an incoming request<br />

� Requesting to waiting, by completing the formulation of a request and sending it.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!