Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Net / System / Net / _BufferOffsetSize.cs / 1 / _BufferOffsetSize.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net { // // this class is used by the BeginMultipleSend() API // to allow a user to send multiple buffers on a socket // internal class BufferOffsetSize { // // internal members // internal byte[] Buffer; internal int Offset; internal int Size; internal BufferOffsetSize(byte[] buffer, int offset, int size, bool copyBuffer) { GlobalLog.Assert(buffer != null && buffer.Length >= size + offset, "BufferOffsetSize::.ctor|Illegal parameters."); if (copyBuffer) { byte[] newBuffer = new byte[size]; System.Buffer.BlockCopy( buffer, // src offset, // src index newBuffer, // dest 0, // dest index size ); // total size to copy offset = 0; buffer = newBuffer; } Buffer = buffer; Offset = offset; Size = size; GlobalLog.Print("BufferOffsetSize#" + ValidationHelper.HashString(this) + "::.ctor() copyBuffer:" + copyBuffer.ToString() + " this:[" + ToString() + "]"); } /* // Consider removing. internal BufferOffsetSize(byte[] buffer, int offset, bool copyBuffer) : this(buffer, offset, buffer.Length - offset, copyBuffer) { } */ /* // Consider removing. internal BufferOffsetSize(int size, byte[] buffer, bool copyBuffer) : this(buffer, 0, size, copyBuffer) { } */ internal BufferOffsetSize(byte[] buffer, bool copyBuffer) : this(buffer, 0, buffer.Length, copyBuffer) { } #if TRAVE public override string ToString() { return "BufferOffsetSize#" + ValidationHelper.HashString(this) + " Buffer#" + ValidationHelper.HashString(Buffer) + " Offset:" + Offset.ToString() + " Size:" + Size.ToString(); } #endif } // class BufferOffsetSize } // namespace System.Net // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net { // // this class is used by the BeginMultipleSend() API // to allow a user to send multiple buffers on a socket // internal class BufferOffsetSize { // // internal members // internal byte[] Buffer; internal int Offset; internal int Size; internal BufferOffsetSize(byte[] buffer, int offset, int size, bool copyBuffer) { GlobalLog.Assert(buffer != null && buffer.Length >= size + offset, "BufferOffsetSize::.ctor|Illegal parameters."); if (copyBuffer) { byte[] newBuffer = new byte[size]; System.Buffer.BlockCopy( buffer, // src offset, // src index newBuffer, // dest 0, // dest index size ); // total size to copy offset = 0; buffer = newBuffer; } Buffer = buffer; Offset = offset; Size = size; GlobalLog.Print("BufferOffsetSize#" + ValidationHelper.HashString(this) + "::.ctor() copyBuffer:" + copyBuffer.ToString() + " this:[" + ToString() + "]"); } /* // Consider removing. internal BufferOffsetSize(byte[] buffer, int offset, bool copyBuffer) : this(buffer, offset, buffer.Length - offset, copyBuffer) { } */ /* // Consider removing. internal BufferOffsetSize(int size, byte[] buffer, bool copyBuffer) : this(buffer, 0, size, copyBuffer) { } */ internal BufferOffsetSize(byte[] buffer, bool copyBuffer) : this(buffer, 0, buffer.Length, copyBuffer) { } #if TRAVE public override string ToString() { return "BufferOffsetSize#" + ValidationHelper.HashString(this) + " Buffer#" + ValidationHelper.HashString(Buffer) + " Offset:" + Offset.ToString() + " Size:" + Size.ToString(); } #endif } // class BufferOffsetSize } // namespace System.Net // 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
- AtomMaterializerLog.cs
- CacheOutputQuery.cs
- WebPartExportVerb.cs
- Color.cs
- OracleNumber.cs
- StandardTransformFactory.cs
- ComponentCache.cs
- SafePEFileHandle.cs
- EntityAdapter.cs
- EventInfo.cs
- CounterSetInstanceCounterDataSet.cs
- DescendantQuery.cs
- AcceleratedTokenProviderState.cs
- AuthStoreRoleProvider.cs
- UpDownEvent.cs
- ContainerControl.cs
- WSHttpBinding.cs
- ZeroOpNode.cs
- ElementUtil.cs
- EntityRecordInfo.cs
- XmlSerializationGeneratedCode.cs
- ListViewDeleteEventArgs.cs
- PriorityBinding.cs
- RegexCapture.cs
- UndoEngine.cs
- Compress.cs
- MeasurementDCInfo.cs
- SettingsPropertyValue.cs
- ScriptIgnoreAttribute.cs
- ConfigurationLocationCollection.cs
- Brushes.cs
- ProviderSettings.cs
- XmlExtensionFunction.cs
- SimpleHandlerBuildProvider.cs
- InteropBitmapSource.cs
- CallId.cs
- CatalogPartChrome.cs
- XmlSchemaRedefine.cs
- RowsCopiedEventArgs.cs
- EdmValidator.cs
- ModelPropertyImpl.cs
- Switch.cs
- ComplexTypeEmitter.cs
- MessageQueueException.cs
- ResourceDisplayNameAttribute.cs
- StringComparer.cs
- X509Certificate2.cs
- ImageCodecInfoPrivate.cs
- KnownTypesHelper.cs
- HtmlElementErrorEventArgs.cs
- SqlNodeTypeOperators.cs
- CrossContextChannel.cs
- XmlHierarchicalEnumerable.cs
- MeasureData.cs
- XmlSchemaDocumentation.cs
- RequestCachePolicy.cs
- RandomNumberGenerator.cs
- ValueTable.cs
- CodeLinePragma.cs
- SHA256.cs
- EventProviderTraceListener.cs
- DynamicPropertyHolder.cs
- XmlSchemaObject.cs
- FixedPage.cs
- TrackingMemoryStream.cs
- MailMessageEventArgs.cs
- DateBoldEvent.cs
- DbDataRecord.cs
- DataColumnMappingCollection.cs
- CacheOutputQuery.cs
- XmlStringTable.cs
- CompiledRegexRunnerFactory.cs
- RtfToXamlLexer.cs
- NullableDoubleMinMaxAggregationOperator.cs
- ArrayList.cs
- DocumentGridPage.cs
- SrgsElement.cs
- FrameworkTextComposition.cs
- UpdatableWrapper.cs
- ExpressionNode.cs
- DateTimeConstantAttribute.cs
- PropertyDescriptorComparer.cs
- TransformCryptoHandle.cs
- ListViewGroupConverter.cs
- GridItemCollection.cs
- ContractNamespaceAttribute.cs
- MaterializeFromAtom.cs
- elementinformation.cs
- XmlDataDocument.cs
- EventSetterHandlerConverter.cs
- Util.cs
- ActiveXHelper.cs
- TypedAsyncResult.cs
- ReflectionHelper.cs
- TriggerCollection.cs
- WebBrowserUriTypeConverter.cs
- ClaimComparer.cs
- ClientApiGenerator.cs
- ByteStorage.cs
- RecognitionResult.cs