TOKEN RING PRIORITY MANAGEMENT

Pm = priority of highest priority waiting frame
(Pr,Rr) = (P,R) fields from most recent frame
Sr,Sx = Stacks
TOKEN GENERATION

Token received with P <= Pm

Transmit with P=Pr and R=0

If Pr >= max(Rr,Pm)
   generate T(Pr, max(Rr,Pm))
Else if Pr > Sx
   Push(Pr,P=max(Rr,Pm)) and generate T(P,0)
Else if Pr = Sx
   Pop(Sx), Push(P=max(Rr,Pm)) onto Sx, and generateT(P,0)

STACK MODIFICATION

Token received with P = Sx

If Rr > Sr
   Pop(Sx), Push(P=Rr) onto Sx and generate T(P,0)
Else Pop(Sr,Sx) and generate T(Sr,Rr) - if stacks empty, cease stacking