[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Modeling Question



I have a set of objects L, each of which is a sequence of
<type, length, vlaue> tuples T.  

L has a sequence number, and may be replaced from time to time 
by a new version with a higher sequence number.  

I have one table modeling the set of objects L, which returns some
information about L, such as the sequence number, and a table to 
model T, indexed by L's indicies and T's position in the 
sequence.  (Is this the first TLV?  The third?)

If I fetch an object L, and then start to fetch the components
T of L, I may find that L has been replaced by L'.  

To detect this, I include in T some of the attributes of L,
such as the seqence number.  I would like to avoid 
redefining the sequence number (as I could do if it were
an index) but have not found a way to do so.  

Is there a way to avoid redefining the sequence?
The sample below is an attempt to make this clearer. 
tLSeq redefines the value of seq.  

Other comments about the general model welcome 

- jeff parker
- axiowave networks
- Success is relative; the more success, the more relatives.

    lSummaryEntry OBJECT-TYPE
        SYNTAX LSummaryEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Each entry describes an L current stored in the system."
        INDEX {  instance,
                 level,
                 lId }
    ::= { lSummaryTable 1 }

    LSummaryEntry ::=
        SEQUENCE {
            level
                Integer32,
            lId
                LinkStatePDUID,
            seq
                Unsigned32,
            attributes
                Unsigned8TC
        }

....

    tEntry OBJECT-TYPE
        SYNTAX TEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Each entry describes an T"
        INDEX {  instance,
                 level,
                 lID,
                 tIndex }
    ::= { tTable 1 }

    TEntry ::=
        SEQUENCE {
            iIndex
                Unsigned32,
            tLSeq       -- Would prefer not to redefine
                Unsigned32,
            tType
                Unsigned8TC,
            tLen
                Unsigned8TC,
            tValue
                OCTET STRING
        }