Search in sources :

Example 1 with HeapNode

use of edu.iu.dsc.tws.comms.utils.HeapNode in project twister2 by DSC-SPIDAL.

the class FSSorter method next.

public Object next() {
    HeapNode min = heap.extractMin();
    int list = min.listNo;
    FilePart p = openList.get(list);
    List<Tuple> keyValues = p.keyValues.getLeft();
    if (keyValues.size() <= p.currentIndex) {
        String fileName = folder + "/part_" + list;
        // also if the file reached end, we don't need to do anything
        if (list < noOfFiles && p.keyValues.getMiddle() < p.keyValues.getRight()) {
            Triple<List<Tuple>, Long, Long> values = FileLoader.openFilePart(fileName, p.keyValues.getMiddle(), openBytes, keyType, dataType, deserializer);
            // set the new values to the list
            p.keyValues = values;
        }
    }
    return min.data;
}
Also used : HeapNode(edu.iu.dsc.tws.comms.utils.HeapNode) List(java.util.List) ArrayList(java.util.ArrayList) Tuple(edu.iu.dsc.tws.api.comms.structs.Tuple)

Aggregations

Tuple (edu.iu.dsc.tws.api.comms.structs.Tuple)1 HeapNode (edu.iu.dsc.tws.comms.utils.HeapNode)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1