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
- SQLDecimalStorage.cs
- DrawingCollection.cs
- arclist.cs
- SafeNativeMethodsOther.cs
- BinaryExpression.cs
- ItemContainerProviderWrapper.cs
- COM2PropertyBuilderUITypeEditor.cs
- XmlSchemaObjectCollection.cs
- BindingOperations.cs
- VScrollBar.cs
- WebRequest.cs
- _ProxyChain.cs
- DownloadProgressEventArgs.cs
- XmlMemberMapping.cs
- HtmlInputCheckBox.cs
- DbConnectionHelper.cs
- QilSortKey.cs
- ToolStripControlHost.cs
- DataGridItemEventArgs.cs
- MetabaseReader.cs
- BaseDataBoundControl.cs
- SQLByte.cs
- State.cs
- DbTransaction.cs
- Int32Animation.cs
- ExtensionDataReader.cs
- LinkDesigner.cs
- CachedFontFamily.cs
- ByteKeyFrameCollection.cs
- WindowsAuthenticationEventArgs.cs
- AlphaSortedEnumConverter.cs
- ShaderEffect.cs
- EDesignUtil.cs
- SymLanguageType.cs
- LinkLabel.cs
- AgileSafeNativeMemoryHandle.cs
- LinkLabel.cs
- OleDbWrapper.cs
- LogExtent.cs
- FolderBrowserDialog.cs
- TextInfo.cs
- Input.cs
- Line.cs
- DispatcherTimer.cs
- AssociationProvider.cs
- StrokeCollectionDefaultValueFactory.cs
- ResourcePool.cs
- ReliableChannelFactory.cs
- FrameworkObject.cs
- DataBinding.cs
- SqlParameterizer.cs
- HtmlTernaryTree.cs
- MimeObjectFactory.cs
- InstanceStoreQueryResult.cs
- Point3DCollectionValueSerializer.cs
- RegularExpressionValidator.cs
- DependencyPropertyHelper.cs
- Matrix3D.cs
- WriteLine.cs
- EqualityArray.cs
- Nullable.cs
- CustomError.cs
- Bind.cs
- IntegrationExceptionEventArgs.cs
- FileRecordSequenceHelper.cs
- XmlWriterSettings.cs
- DBConnection.cs
- CheckBoxPopupAdapter.cs
- LogAppendAsyncResult.cs
- PermissionAttributes.cs
- SafeNativeMethods.cs
- DiffuseMaterial.cs
- WebPartZone.cs
- CustomErrorsSection.cs
- MediaCommands.cs
- SqlResolver.cs
- PaintEvent.cs
- FilteredDataSetHelper.cs
- LayoutEvent.cs
- FileNotFoundException.cs
- BaseCodePageEncoding.cs
- QualifiedCellIdBoolean.cs
- XmlILStorageConverter.cs
- GenerateTemporaryAssemblyTask.cs
- HttpCookie.cs
- NGCSerializer.cs
- HttpResponse.cs
- ListViewHitTestInfo.cs
- CdpEqualityComparer.cs
- EventSource.cs
- SecurityUtils.cs
- NativeMethods.cs
- ParameterCollection.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- TraceHwndHost.cs
- CompiledIdentityConstraint.cs
- TreeSet.cs
- CodeSubDirectoriesCollection.cs
- PagerSettings.cs
- CustomTypeDescriptor.cs