[Quantproject-developers] QuantProject/b3_Data/DataProviders/Bars/Caching BarCacheData.cs, 1.1, 1.
Brought to you by:
glauco_1
|
From: Glauco S. <gla...@us...> - 2008-12-18 20:06:39
|
Update of /cvsroot/quantproject/QuantProject/b3_Data/DataProviders/Bars/Caching In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv21867/b3_Data/DataProviders/Bars/Caching Modified Files: BarCacheData.cs Log Message: a couple of bugs have been fixed: they gave problems when the cache was cleaned up Index: BarCacheData.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b3_Data/DataProviders/Bars/Caching/BarCacheData.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** BarCacheData.cs 8 Nov 2008 20:13:55 -0000 1.1 --- BarCacheData.cs 18 Dec 2008 20:06:27 -0000 1.2 *************** *** 65,69 **** this.maxNumberOfItemsIn_bars = maxNumberOfItemsIn_bars; this.numberOfItemsToBeRemovedFrom_bars_whenCacheIsCleanedUp = ! numberOfBarsIn_bars; this.bars = new Dictionary< DateTime , Dictionary< string , double > >(); --- 65,69 ---- this.maxNumberOfItemsIn_bars = maxNumberOfItemsIn_bars; this.numberOfItemsToBeRemovedFrom_bars_whenCacheIsCleanedUp = ! numberOfItemsToBeRemovedFrom_bars_whenCacheIsCleanedUp; this.bars = new Dictionary< DateTime , Dictionary< string , double > >(); *************** *** 126,150 **** #endregion initializeMembersForCleaningUp_bars ! #region removeNextItemFrom_bars ! ! // private void update_tickersForCleaningUp_bars() ! // { ! // 344 ! // } ! #region removeNextItemFrom_bars_withUpdated_tickersForCleaningUp #region removeCurrentItemFrom_bars #region removeCurrentItemFrom_bars_actually private void removeCurrentItemFrom_bars_only() { ! DateTime dateTimeForCurrentItemToBeRemoved = this.dateTimesForCleaningUp_bars[ 0 ]; string tickerForCurrentItemToBeRemoved = this.tickersForCleaningUp_bars[ 0 ]; ! this.bars[ dateTimeForCurrentItemToBeRemoved ].Remove( tickerForCurrentItemToBeRemoved ); } #region updateMembersUsedToCleanUp_bars --- 126,157 ---- #endregion initializeMembersForCleaningUp_bars ! // #region removeNextItemFrom_bars ! #region removeNextItemFrom_bars #region removeCurrentItemFrom_bars #region removeCurrentItemFrom_bars_actually + + #region removeCurrentItemFrom_bars_only + private void removeCurrentDateTimeFromCache_ifAllBarsHaveBeenRemovedForThatDateTime( + DateTime dateTimeForLastBarRemovedFromCache ) + { + if ( this.bars[ dateTimeForLastBarRemovedFromCache ].Count == 0 ) + // all bars have been removed from the cache, for dateTimeForCurrentItemToBeRemoved + this.bars.Remove( dateTimeForLastBarRemovedFromCache ); + } private void removeCurrentItemFrom_bars_only() { ! DateTime dateTimeForCurrentBarToBeRemoved = this.dateTimesForCleaningUp_bars[ 0 ]; string tickerForCurrentItemToBeRemoved = this.tickersForCleaningUp_bars[ 0 ]; ! this.bars[ dateTimeForCurrentBarToBeRemoved ].Remove( tickerForCurrentItemToBeRemoved ); + this.removeCurrentDateTimeFromCache_ifAllBarsHaveBeenRemovedForThatDateTime( + dateTimeForCurrentBarToBeRemoved ); } + #endregion removeCurrentItemFrom_bars_only #region updateMembersUsedToCleanUp_bars *************** *** 170,174 **** { this.removeCurrentItemFrom_bars_only(); ! this.updateMembersUsedToCleanUp_bars(); } #endregion removeCurrentItemFrom_bars_actually --- 177,181 ---- { this.removeCurrentItemFrom_bars_only(); ! // this.updateMembersUsedToCleanUp_bars(); } #endregion removeCurrentItemFrom_bars_actually *************** *** 181,197 **** #endregion removeCurrentItemFrom_bars ! private void removeNextItemFrom_bars_withUpdated_tickersForCleaningUp() { this.removeCurrentItemFrom_bars(); this.updateMembersUsedToCleanUp_bars(); } - #endregion removeNextItemFrom_bars_withUpdated_tickersForCleaningUp - - private void removeNextItemFrom_bars() - { - this.removeNextItemFrom_bars_withUpdated_tickersForCleaningUp(); - } #endregion removeNextItemFrom_bars private void removeValuesFromTheCache() { --- 188,204 ---- #endregion removeCurrentItemFrom_bars ! private void removeNextItemFrom_bars() { this.removeCurrentItemFrom_bars(); this.updateMembersUsedToCleanUp_bars(); } #endregion removeNextItemFrom_bars + // private void removeNextItemFrom_bars() + // { + // this.removeNextItemFrom_bars_withUpdated_tickersForCleaningUp(); + // } + // #endregion removeNextItemFrom_bars + private void removeValuesFromTheCache() { |