public void prepareLog()
{
// make sure there is an active log segment
if (active_log_segments.Count == 0) {
// move an empty log segment to active...
lock (this) {
active_log_segments.Add(empty_log_segments[0]);
empty_log_segments.RemoveAt(0);
}
}
// open the current log stream...
currentLogSegmentInfo = active_log_segments[active_log_segments.Count - 1]; // get last
currentLogHeadStream = regionmgr.writeExistingRegionAddr(currentLogSegmentInfo.logsegment_start).getNewAccessStream();
// move to the "end" of this active segment
}