next up previous
Next: Communications Interface Up: Data Link Protocol Teaching Previous: Protocol Events

The Initialise Procedure

Any variables that are used within the protocol must be initialised outside the main protocol, otherwise every time the protocol is called, the variables would be reset. Static variables are not suitable, since an independent copy of the variables is needed at each end of the simulated communication channel. An initialise routine must be included before the protocol routine. This allows any variables to be assigned a starting value. It is obvious that any variables which are setup in the initialise procedure and then used in the main protocol, will have to be declared globally. Examples of variables which need such initialisation are the sequence numbers of frames to be sent, the status of the link as perceived by each end, etc.

The overall structure of the complete protocol is shown in Figure 1. There must be definitions of both the initialise and the protocol functions, in that order, with any other functions used by protocol coming later in the file. The global declared data is also available in these functions.

In order to distinguish the two ends of the communications channel, on output they are labelled as Protocol A and Protocol B, whilst the code knows them as 0 and 1.

   figure13
Figure 1: Overall Structure of a Protocol



Peter JB King
Thu Feb 19 15:30:56 GMT 1998