Class CasSeqAddrMaps


  • public class CasSeqAddrMaps
    extends java.lang.Object
    Used by Binary serialization form 4 and 6 Manage the conversion of FSs to relative sequential index number, and back Manage the difference in two type systems both size of the FSs and handling excluded types During serialization, these maps are constructed before serialization. During deserialization, these maps are constructed while things are being deserialized, and then used in a "fixup" call at the end. This allows for forward references. For delta deserialization, the base part of these maps (for below-the-line) is constructed by scanning up to the mark.
    • Field Detail

      • tgtId2SrcFs

        private final java.util.List<TOP> tgtId2SrcFs
        map from a target FS sequence nbr to a source id. value is 0 if the target instance doesn't exist in the source (this doesn't occur for receiving remote CASes back (because src ts is always a superset of tgt ts), but can occur while deserializing from Disk.) index 0 is reserved for null
      • srcId2TgtId

        private final Int2IntRBT srcId2TgtId
        map from source id to target id. if source is not in target, value = -1;
      • nextTgt

        private int nextTgt
    • Constructor Detail

      • CasSeqAddrMaps

        public CasSeqAddrMaps()
      • CasSeqAddrMaps

        public CasSeqAddrMaps​(java.util.List<TOP> tgtSeq2SrcFs,
                              Int2IntRBT srcAddr2TgtSeq)
    • Method Detail

      • addItemId

        public void addItemId​(TOP srcFs,
                              int tgtId,
                              boolean inTarget)
        Add a new FS id - done during prescan of source during serialization Must call in heap scan order
        Parameters:
        srcFs - -
        tgtId - -
        inTarget - true if this type is in the target
      • addSrcFsForTgt

        public void addSrcFsForTgt​(TOP srcFs,
                                   boolean inSrc)
        Called during deserialize to incrementally add
        Parameters:
        srcFs - -
        inSrc - -
      • getSrcFsFromTgtSeq

        public TOP getSrcFsFromTgtSeq​(int seq)
        Parameters:
        seq - -
        Returns:
        0 means target seq doesn't exist in source CAS
      • getTgtSeqFromSrcAddr

        public int getTgtSeqFromSrcAddr​(int itemAddr)
        Parameters:
        itemAddr - -
        Returns:
        -1 if src addr not in target seq
      • getNumberSrcFss

        public int getNumberSrcFss()