Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / MS / Internal / IO / Packaging / TrackingMemoryStreamFactory.cs / 1305600 / 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
- SocketPermission.cs
- PackageFilter.cs
- PropertyNames.cs
- AudioBase.cs
- DbMetaDataColumnNames.cs
- Main.cs
- xml.cs
- MetaColumn.cs
- HitTestResult.cs
- ObjectCloneHelper.cs
- DbConnectionPoolGroup.cs
- DefaultMemberAttribute.cs
- UpWmlPageAdapter.cs
- safelink.cs
- Enum.cs
- AnnotationResourceChangedEventArgs.cs
- StringCollection.cs
- OrderByBuilder.cs
- CachedPathData.cs
- XPathPatternBuilder.cs
- SqlFacetAttribute.cs
- MimeObjectFactory.cs
- MD5Cng.cs
- FieldToken.cs
- CfgArc.cs
- NativeMethods.cs
- UnsafeNativeMethodsTablet.cs
- documentsequencetextpointer.cs
- ToolTipService.cs
- ConfigXmlSignificantWhitespace.cs
- CalloutQueueItem.cs
- ListViewGroup.cs
- diagnosticsswitches.cs
- Normalizer.cs
- ProxyFragment.cs
- DetailsViewDeletedEventArgs.cs
- TextRangeEditLists.cs
- GridViewRowCollection.cs
- ComponentDispatcherThread.cs
- SecurityUtils.cs
- SchemaAttDef.cs
- HttpVersion.cs
- IndentedWriter.cs
- SettingsBase.cs
- arabicshape.cs
- DateTimeOffsetStorage.cs
- XmlSchemaGroup.cs
- DiscoveryClientChannelFactory.cs
- ElementNotAvailableException.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- PriorityRange.cs
- BatchParser.cs
- Stackframe.cs
- ValueQuery.cs
- HttpWebRequestElement.cs
- ToolStripControlHost.cs
- ResourcePermissionBase.cs
- ShapeTypeface.cs
- AmbientValueAttribute.cs
- BamlTreeMap.cs
- SharingService.cs
- GrowingArray.cs
- CachedTypeface.cs
- PropertyPathConverter.cs
- XmlObjectSerializerWriteContextComplex.cs
- WorkflowRuntimeSection.cs
- BinHexDecoder.cs
- LogRestartAreaEnumerator.cs
- InstallerTypeAttribute.cs
- SignatureDescription.cs
- TextEmbeddedObject.cs
- WebPermission.cs
- BindingWorker.cs
- TransactionManager.cs
- ImageBrush.cs
- FrameSecurityDescriptor.cs
- MemberPathMap.cs
- MessageQueuePermissionEntry.cs
- CompilationPass2Task.cs
- MulticastOption.cs
- IconHelper.cs
- XmlSchemaDatatype.cs
- CounterSetInstance.cs
- AssemblySettingAttributes.cs
- EventHandlersStore.cs
- NativeObjectSecurity.cs
- Int32Rect.cs
- ColorTranslator.cs
- RuntimeEnvironment.cs
- PreApplicationStartMethodAttribute.cs
- DataBoundControlDesigner.cs
- UnauthorizedWebPart.cs
- StylusLogic.cs
- SamlSecurityTokenAuthenticator.cs
- BulletChrome.cs
- MbpInfo.cs
- SurrogateEncoder.cs
- ImageDrawing.cs
- OleDbPropertySetGuid.cs
- SmtpCommands.cs