public void refreshFromDb(LayerManager db, MergeCandidate mc = null)
{
var seg = new List<SegmentDescriptor>();
// this is much faster than using listAllSegments
foreach(var kvp in db.rangemapmgr.mergeManager.segmentInfo) {
seg.Add(kvp.Key);
}
segments = seg;
this.lastmerge = mc;
// we should be doing this, but .Keys is not implemented in BDSkipList
// segments.AddRange(db.rangemapmgr.mergeManager.segmentInfo.Keys);
// segments.AddRange(db.listAllSegments());
this.Invoke((MethodInvoker) delegate() {
try {
this.Refresh();
} catch (Exception e) {
System.Console.WriteLine("######" + e.ToString());
throw e;
}
});
}