private def topPrevNbrsTill()

in cassovary-core/src/main/scala/com/twitter/cassovary/graph/tourist/PrevNbrCounter.scala [71:95]


  private def topPrevNbrsTill(nodeId: Int, num: Option[Int]): Int2IntArrayMap = {
    val result = new Int2IntArrayMap

    comparator.setNode(nodeId)
    priQ.clear()

    val infoMap = infoPerNode(nodeId)
    val nodeIterator = infoMap.keySet.iterator
    while (nodeIterator.hasNext) {
      val nbrId = nodeIterator.next()
      priQ += nbrId
    }

    val size = num match {
      case Some(n) => n
      case None => priQ.size()
    }

    while (result.size < size && !priQ.isEmpty) {
      val nbrId = priQ.deque()
      result.put(nbrId, infoMap(nbrId))
    }

    result
  }