package org.skywalking.apm.collector.worker.storage; /** * @author pengys5 */ public class RecordPersistenceData extends Window<RecordData> implements PersistenceData<RecordData> { private WindowData<RecordData> lockedWindowData; public RecordData getOrCreate(String id) { if (!lockedWindowData.containsKey(id)) { lockedWindowData.put(id, new RecordData(id)); } return lockedWindowData.get(id); } public void hold() { lockedWindowData = getCurrentAndHold(); } public void release() { lockedWindowData.release(); lockedWindowData = null; } }