1
0

diplomacy: optimize IdRange overlap detection

This commit is contained in:
Wesley W. Terpstra
2017-04-26 20:49:18 -07:00
parent 30f1f1e7c7
commit 40f18e6e43
3 changed files with 20 additions and 8 deletions

View File

@ -199,9 +199,9 @@ case class TLClientPortParameters(
require (minLatency >= 0)
// Require disjoint ranges for Ids
clients.combinations(2).foreach({ case Seq(x,y) =>
require (!x.sourceId.overlaps(y.sourceId))
})
IdRange.overlaps(clients.map(_.sourceId)).foreach { case (x, y) =>
require (!x.overlaps(y), s"TLClientParameters.sourceId ${x} overlaps ${y}")
}
// Bounds on required sizes
def endSourceId = clients.map(_.sourceId.end).max