Package com.sleepycat.je.cleaner

Examples of com.sleepycat.je.cleaner.OffsetList$Segment


        parent.incInternalMemoryUsage(increment);
    }

    void add(long lsn) {
        long fileNumber = DbLsn.getFileNumber(lsn);
        OffsetList offsetsForFile = offsetsByFile.get(fileNumber);
        if (offsetsForFile == null) {
            offsetsForFile = new OffsetList();
            offsetsByFile.put(fileNumber, offsetsForFile);
            incInternalMemoryUsage(MemoryBudget.TFS_LIST_INITIAL_OVERHEAD);
            incInternalMemoryUsage(MemoryBudget.TREEMAP_ENTRY_OVERHEAD);
        }

        boolean newSegment =
            offsetsForFile.add(DbLsn.getFileOffset(lsn), false);
        if (newSegment) {
            incInternalMemoryUsage(MemoryBudget.TFS_LIST_SEGMENT_OVERHEAD);
        }

        nTotalEntries += 1;
View Full Code Here


        doOneTest(array(list));
    }

    private void doOneTest(long[] offsets) {

        OffsetList list = new OffsetList();
        for (int i = 0; i < offsets.length; i += 1) {
            list.add(offsets[i], true);
        }
        long[] array = list.toArray();
        assertTrue("array=\n" + dump(array) + " offsets=\n" + dump(offsets),
                   Arrays.equals(offsets, array));

        long[] sorted = new long[array.length];
        System.arraycopy(array, 0, sorted, 0, array.length);
View Full Code Here

      long lsn = in.getLsn(i);
      Node node = in.getTarget(i);
      if (accumulate && (node == null)) {
                if (accumulatedLSNFileNumbers == null) {
                    accumulatedLSNFileNumbers = new OffsetList();
                    accumulatedLSNFileOffsets = new OffsetList();
                }

                accumulatedLSNFileNumbers.add(DbLsn.getFileNumber(lsn),
                                              false);
                accumulatedLSNFileOffsets.add(DbLsn.getFileOffset(lsn),
View Full Code Here

                if (accumulate &&
                    (node == null) &&
                    lsn != DbLsn.NULL_LSN) {
                    if (accumulatedLSNFileNumbers == null) {
                        accumulatedLSNFileNumbers = new OffsetList();
                        accumulatedLSNFileOffsets = new OffsetList();
                    }

                    accumulatedLSNFileNumbers.add(DbLsn.getFileNumber(lsn),
                                                  false);
                    accumulatedLSNFileOffsets.add(DbLsn.getFileOffset(lsn),
View Full Code Here

    public void addSegment(short startCode, short endCode, char[] map) {
        if (map.length != (endCode - startCode) + 1) {
            throw new IllegalArgumentException("Wrong number of entries in map");
        }
       
        Segment s = new Segment(startCode, endCode, true);
        // make sure we remove any old entries
        this.segments.remove(s);
        this.segments.put(s, map);
    }
View Full Code Here

   
    /**
     * Add a segment with an idDelta
     */
    public void addSegment(short startCode, short endCode, short idDelta) {
        Segment s = new Segment(startCode, endCode, false);
        // make sure we remove any old entries
        this.segments.remove(s);
        this.segments.put(s, Integer.valueOf(idDelta));
    }
View Full Code Here

   
    /**
     * Remove a segment
     */
    public void removeSegment(short startCode, short endCode) {
        Segment s = new Segment(startCode, endCode, true);
        this.segments.remove(s);
    }
View Full Code Here

        // add the size of each segment header
        size += this.segments.size() * 8;
       
        // add the total number of mappings times the size of a mapping
        for (Iterator i = this.segments.keySet().iterator(); i.hasNext();) {
            Segment s = (Segment) i.next();
           
            // see if there's a map
            if (s.hasMap) {
                // if there is, add its size
                char[] map = (char[]) this.segments.get(s);
View Full Code Here

     */
    @Override
  public char map(char src) {
        // find first segment with endcode > src
        for (Iterator i = this.segments.keySet().iterator(); i.hasNext();) {
            Segment s = (Segment) i.next();
           
            if (s.endCode >= src) {
                // are we within range?
                if (s.startCode <= src) {
                    if (s.hasMap) {
View Full Code Here

     */
    @Override
  public char reverseMap(short glyphID) {
        // look at each segment
        for (Iterator i = this.segments.keySet().iterator(); i.hasNext();) {
            Segment s = (Segment) i.next();
           
            // see if we have a map or a delta
            if (s.hasMap) {
                char[] map = (char[]) this.segments.get(s);
               
View Full Code Here

TOP

Related Classes of com.sleepycat.je.cleaner.OffsetList$Segment

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.