Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Base / MS / Internal / IO / Packaging / TrackingMemoryStreamFactory.cs / 1 / TrackingMemoryStreamFactory.cs
//------------------------------------------------------------------------------ // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // This is a basic implementation of the ITrackingMemoryStreamFactory interface // // History: // 07/4/2005: IgorBel: Initial creation. // 11/08/2005: BruceMac: Change namespace // //----------------------------------------------------------------------------- using System; using System.IO; using System.Diagnostics; namespace MS.Internal.IO.Packaging { ////// TrackingMemoryStreamFactory class is used in the Sparse Memory Stream to keep track of the memory Usage /// internal class TrackingMemoryStreamFactory : ITrackingMemoryStreamFactory { public MemoryStream Create() { return new TrackingMemoryStream((ITrackingMemoryStreamFactory)this); } public MemoryStream Create(int capacity) { return new TrackingMemoryStream((ITrackingMemoryStreamFactory)this, capacity); } public void ReportMemoryUsageDelta(int delta) { checked{_bufferedMemoryConsumption += delta;} Debug.Assert(_bufferedMemoryConsumption >=0, "we end up having buffers of negative size"); } internal long CurrentMemoryConsumption { get { return _bufferedMemoryConsumption; } } private long _bufferedMemoryConsumption; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // This is a basic implementation of the ITrackingMemoryStreamFactory interface // // History: // 07/4/2005: IgorBel: Initial creation. // 11/08/2005: BruceMac: Change namespace // //----------------------------------------------------------------------------- using System; using System.IO; using System.Diagnostics; namespace MS.Internal.IO.Packaging { ////// TrackingMemoryStreamFactory class is used in the Sparse Memory Stream to keep track of the memory Usage /// internal class TrackingMemoryStreamFactory : ITrackingMemoryStreamFactory { public MemoryStream Create() { return new TrackingMemoryStream((ITrackingMemoryStreamFactory)this); } public MemoryStream Create(int capacity) { return new TrackingMemoryStream((ITrackingMemoryStreamFactory)this, capacity); } public void ReportMemoryUsageDelta(int delta) { checked{_bufferedMemoryConsumption += delta;} Debug.Assert(_bufferedMemoryConsumption >=0, "we end up having buffers of negative size"); } internal long CurrentMemoryConsumption { get { return _bufferedMemoryConsumption; } } private long _bufferedMemoryConsumption; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FileUpload.cs
- OleDbDataReader.cs
- IPPacketInformation.cs
- VisualTreeHelper.cs
- HMAC.cs
- EllipticalNodeOperations.cs
- FileNotFoundException.cs
- SingleSelectRootGridEntry.cs
- PropertyValueChangedEvent.cs
- Effect.cs
- SecurityIdentifierElementCollection.cs
- DLinqDataModelProvider.cs
- COM2PropertyPageUITypeConverter.cs
- CultureInfo.cs
- QueryCacheEntry.cs
- SortDescriptionCollection.cs
- TdsValueSetter.cs
- FacetEnabledSchemaElement.cs
- XmlSchemaExternal.cs
- WebPartCollection.cs
- ConfigurationHandlersInstallComponent.cs
- DbParameterHelper.cs
- TextSearch.cs
- PartialCachingAttribute.cs
- TraceContext.cs
- Cursor.cs
- ToolStripSeparator.cs
- HttpHandlersSection.cs
- ArithmeticException.cs
- _NestedSingleAsyncResult.cs
- GroupItem.cs
- SymLanguageVendor.cs
- EntitySqlQueryBuilder.cs
- WindowsGraphics2.cs
- Literal.cs
- Base64Decoder.cs
- DragEvent.cs
- PathGradientBrush.cs
- HelpKeywordAttribute.cs
- ItemCheckedEvent.cs
- ImageSourceConverter.cs
- UInt16Storage.cs
- DES.cs
- BindingListCollectionView.cs
- DataBindingHandlerAttribute.cs
- PointUtil.cs
- SQLString.cs
- ThousandthOfEmRealDoubles.cs
- NamedObject.cs
- XMLSchema.cs
- QualifiedCellIdBoolean.cs
- xmlfixedPageInfo.cs
- InvokeMethodActivityDesigner.cs
- Serializer.cs
- HttpModulesSection.cs
- FtpCachePolicyElement.cs
- CorrelationQuery.cs
- EmptyStringExpandableObjectConverter.cs
- SendSecurityHeaderElementContainer.cs
- SelectionRangeConverter.cs
- LineBreak.cs
- InputScope.cs
- CFStream.cs
- PackagePart.cs
- AuthenticationConfig.cs
- ConfigurationManagerInternal.cs
- EntitySqlQueryCacheEntry.cs
- FrugalMap.cs
- BufferedStream.cs
- AsyncMethodInvoker.cs
- ErrorFormatterPage.cs
- AsyncPostBackTrigger.cs
- EdgeModeValidation.cs
- TextBoxAutoCompleteSourceConverter.cs
- GridItemCollection.cs
- DPAPIProtectedConfigurationProvider.cs
- HttpFileCollectionBase.cs
- TraceContextRecord.cs
- DataGridCommandEventArgs.cs
- CodeParameterDeclarationExpression.cs
- MessageSecurityException.cs
- WebServiceMethodData.cs
- PointConverter.cs
- uribuilder.cs
- OdbcTransaction.cs
- AccessibilityApplicationManager.cs
- TimeSpanMinutesConverter.cs
- loginstatus.cs
- BindingBase.cs
- SqlError.cs
- SqlBooleanizer.cs
- ConsumerConnectionPointCollection.cs
- WindowsSecurityToken.cs
- MenuEventArgs.cs
- PrinterUnitConvert.cs
- TextTreeNode.cs
- ScalarOps.cs
- FileLogRecordEnumerator.cs
- MarshalByRefObject.cs
- SwitchLevelAttribute.cs