Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Mail / BufferBuilder.cs / 1305376 / BufferBuilder.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net { using System; using System.IO; using System.Globalization; internal class BufferBuilder { byte[] buffer; int offset; internal BufferBuilder() : this(256) { } internal BufferBuilder(int initialSize) { this.buffer = new byte[initialSize]; } void EnsureBuffer(int count) { if (count > this.buffer.Length - this.offset) { byte[] newBuffer = new byte[((buffer.Length * 2)>(buffer.Length + count))?(buffer.Length*2):(buffer.Length + count)]; Buffer.BlockCopy(this.buffer, 0, newBuffer, 0, this.offset); this.buffer = newBuffer; } } internal void Append(byte value) { EnsureBuffer(1); this.buffer[this.offset++] = value; } internal void Append(byte[] value) { Append(value, 0, value.Length); } internal void Append(byte[] value, int offset, int count) { EnsureBuffer(count); Buffer.BlockCopy(value, offset, this.buffer, this.offset, count); this.offset += count; } internal void Append(string value) { if (!String.IsNullOrEmpty(value)) Append(value, 0, value.Length); } internal void Append(string value, int offset, int count) { EnsureBuffer(count); for (int i = 0; i < count; i++) { char c = value[offset+i]; if ((ushort)c > 0xFF) throw new FormatException(SR.GetString(SR.MailHeaderFieldInvalidCharacter, c)); this.buffer[this.offset + i] = (byte)c; } this.offset += count; } internal int Length { get { return this.offset; } } internal byte[] GetBuffer() { return this.buffer; } internal void Reset() { this.offset = 0; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataTableMapping.cs
- TextTreeRootTextBlock.cs
- OpenTypeLayout.cs
- EnumMember.cs
- sqlcontext.cs
- ToolStripMenuItem.cs
- ResourceKey.cs
- AssemblyBuilder.cs
- XmlSchemaChoice.cs
- DetailsView.cs
- WinEventWrap.cs
- PolicyLevel.cs
- CodeDirectoryCompiler.cs
- QuadraticBezierSegment.cs
- ConstructorNeedsTagAttribute.cs
- DetailsViewUpdatedEventArgs.cs
- SerializationStore.cs
- GregorianCalendarHelper.cs
- HttpCachePolicyElement.cs
- XhtmlConformanceSection.cs
- EntityContainer.cs
- DBConcurrencyException.cs
- EllipseGeometry.cs
- SinglePageViewer.cs
- TextParaLineResult.cs
- DesignerForm.cs
- shaperfactory.cs
- AuthenticationService.cs
- TokenBasedSetEnumerator.cs
- TransactionCache.cs
- StaticResourceExtension.cs
- RowParagraph.cs
- ISessionStateStore.cs
- IISUnsafeMethods.cs
- FormViewPagerRow.cs
- CoTaskMemHandle.cs
- SqlFormatter.cs
- SafeNativeMethods.cs
- Attributes.cs
- FontClient.cs
- FormClosingEvent.cs
- SqlConnectionFactory.cs
- SHA1CryptoServiceProvider.cs
- InputLanguageCollection.cs
- DataGridViewAccessibleObject.cs
- ModelItemExtensions.cs
- WindowsAuthenticationEventArgs.cs
- compensatingcollection.cs
- UnlockCardRequest.cs
- QueryAsyncResult.cs
- ServiceDiscoveryBehavior.cs
- LoadedOrUnloadedOperation.cs
- PenCursorManager.cs
- DocumentViewerAutomationPeer.cs
- CustomLineCap.cs
- SpellerInterop.cs
- ConfigXmlDocument.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- WebException.cs
- XmlAttributes.cs
- ObjectQuery.cs
- BamlResourceSerializer.cs
- MobileControlDesigner.cs
- RequestQueryProcessor.cs
- BlockCollection.cs
- ListViewInsertEventArgs.cs
- DefaultDialogButtons.cs
- HttpListenerRequest.cs
- ReaderOutput.cs
- XmlSchemas.cs
- SqlCaseSimplifier.cs
- Contracts.cs
- BinaryParser.cs
- ToolStripContentPanelRenderEventArgs.cs
- SimpleFieldTemplateFactory.cs
- QilParameter.cs
- SessionSwitchEventArgs.cs
- WebPartCancelEventArgs.cs
- Rectangle.cs
- RelationshipEndMember.cs
- RegexStringValidatorAttribute.cs
- WorkflowMarkupSerializationManager.cs
- FilteredXmlReader.cs
- BufferAllocator.cs
- SiteMapNode.cs
- RoutingTable.cs
- Typeface.cs
- ConfigurationSection.cs
- TypefaceMap.cs
- LazyInitializer.cs
- DesignerLinkAdapter.cs
- ImportOptions.cs
- MSHTMLHostUtil.cs
- TracedNativeMethods.cs
- TemplatePartAttribute.cs
- PublisherMembershipCondition.cs
- XmlCodeExporter.cs
- RoleGroup.cs
- GlyphRunDrawing.cs
- ProcessDesigner.cs