public FrontierNode GetNextFrontier()
{
if (ZingerConfiguration.FrontierToDisk)
{
try
{
var frontier = currFrontierSet.Take();
return frontier;
}
catch (InvalidOperationException) { return null; }
}
else
{
FrontierNode frontier;
if (InMemoryCurrentGlobalFrontier.TryDequeue(out frontier))
{
return frontier;
}
else
{
return null;
}
}
}