internal void applyLogEntry(string from_server_guid, long logstamp, RecordUpdate logdata)
{
// (0) unpack the data
BlockAccessor ba = new BlockAccessor(logdata.data);
ISegmentBlockDecoder decoder = new SegmentBlockBasicDecoder(ba);
// (1) add it to our copy of that server's log
this._recordLogEntry(from_server_guid, logstamp, logdata);
// (2) add it to the database
foreach (var kvp in decoder.sortedWalk()) {
RecordKey local_data_key = new RecordKey()
.appendKeyPart("_data");
foreach (var part in kvp.Key.key_parts) {
local_data_key.appendKeyPart(part);
}
next_stage.setValue(local_data_key, kvp.Value);
}
}