/// <summary> /// clear record from position cache /// </summary> /// <param name="record"></param> internal void ClearRecord(IRecord record) { if (!IgnorePositionCache) { PositionId positionId = GetPositionId(record); PositionCache.Remove(positionId); } }
/// <summary> /// fetch link into record /// </summary> /// <param name="record"></param> /// <returns></returns> internal override GatewayResult Fetch(IRecord record) { GatewayResult result = CursorFetch(); if (result.Success) { PositionCache.Set(GetPositionId(record), CurrentPosition); CopyValues(record); } if (!result.Success) { PositionCache.Remove(GetPositionId(record)); } return(result); }