Example #1
0
 /// <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);
     }
 }
Example #2
0
        /// <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);
        }