Bend.NewUnusedSegment.mapSegment C# (CSharp) Method

mapSegment() public method

public mapSegment ( LayerWriteGroup tx, int use_gen, RecordKey start_key, RecordKey end_key, IRegion reader ) : void
tx LayerWriteGroup
use_gen int
start_key RecordKey
end_key RecordKey
reader IRegion
return void
        public void mapSegment(LayerWriteGroup tx, int use_gen, 
            RecordKey start_key, RecordKey end_key, IRegion reader)
        {
            if (! (tx.type == LayerWriteGroup.WriteGroupType.DISK_ATOMIC_NOFLUSH ||
                   tx.type == LayerWriteGroup.WriteGroupType.DISK_ATOMIC_FLUSH)) {
                       throw new Exception("NewUnusedSegment.mapSegment() must be provided an ATOMIC write group");
            }

            // remove the pending entry
            RecordKey key = new RecordKey().appendParsedKey(".ROOT/FREELIST/PENDING");
            key.appendKeyPart(new RecordKeyType_Long(reader.getStartAddress()));
            tx.setValue(key, RecordUpdate.DeletionTombstone());

            // add the new map
            tx.mylayer.rangemapmgr.mapGenerationToRegion(tx, use_gen, start_key, end_key, reader);
        }