OpenSS7 STREAMS Interface

2.7. Precedence 

This subsection presents the precedence of SDLI primitives relative to one another. Two queues are used to describe SDLI precedence rules. One queue contains SDL user-originated primitives and corresponds to the STREAMS write queue of the SDL provider. The other queue contains SDL provider-originated primitives and corresponds to the STREAMS read queue of the SDL user. The SDL provider is responsible for determining precedence on its write queue and the SDL user is responsible for determining precedence on its read queue as indicated in the precedence tables below. 

For each precedence table, the rows (labeled PRIM X) correspond to the primitives that are on the given queue and the columns (PRIM Y) correspond to the primitives that are about to be placed on that queue. Each pair of primitives (PRIM X, PRIM Y) may be manipulated resulting in: 

The precedence rules define the allowed manipulations of a pair of SDLI primitives. Whether these actions are performed is the choice of the SDL provider for user-originated primitives and the choice of the SDL user for provider-originated primitives. 

2.7.1. Write Queue Precedence 

The following table presents the precedence rules for SDL user-originated primitives on the SDL provider's STREAMS write queue. It assumes that only non-local primitives (i.e. those that generate protocol data units to a peer SDL user) are queue by the SDL provider. 

Table 10.  

PRIM Y 

P1 

P2 

P3 

P4 

P5 

PRIM X (on queue) 

 

 

 

 

 

P1 LMI_INFO_REQ 

 

 

 

 

 

P2 LMI_ATTACH_REQ 

 

 

 

 

 

P3 LMI_DETACH_REQ 

 

 

 

 

 

P4 LMI_ENABLE_REQ 

 

 

 

 

 

P5 LMI_DISABLE_REQ 

 

 

 

 

 

KEY CODE 

Interpretation 

" " 

Empty box indicates a scenario which cannot take place 

1 

Y has no precedence over X and should be placed on queue behind X 

2 

Y has precedence over X and may advance ahead of X 

3 

Y has precedence over X and X must be removed. 

4 

Y has precedence over X and both X and Y must be removed. 

5 

Y may have precedence over X (SDL provider's choice), and if so then X must be removed. 

2.7.2. Read Queue Precedence 

The following table presents the precedence rules for SDL provider-originated primitives on the SDL user's STREAMS read queue. 

If the SDL user is a user-level process, it's read queue is the stream head read queue. Because a user process has no control over the placement of SDL primitives on the stream head queue, a SDL user cannot straighforwardly initiate the actions specified in the following precedence table. The SDL user can ignore the precedence rules defined in the table below. This is equivalent to saying that the SDL user's read queue can contain at most one primitive. 

(tables) 


Home Index Prev Next More Download Info FAQ Mail

OpenSS7

OpenSS7,

© Copyright 1997-2001, OpenSS7, All Rights Reserved.

Last modified: $Date:$