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
- DataGridItemCollection.cs
- Form.cs
- CompilerGeneratedAttribute.cs
- ReferencedCollectionType.cs
- SimpleWebHandlerParser.cs
- LoginCancelEventArgs.cs
- DetailsViewDeleteEventArgs.cs
- CustomWebEventKey.cs
- EventSinkHelperWriter.cs
- MtomMessageEncodingElement.cs
- ComponentFactoryHelpers.cs
- OracleCommandBuilder.cs
- ExecutorLocksHeldException.cs
- CompilerLocalReference.cs
- TextEditorCharacters.cs
- BamlWriter.cs
- GenericTypeParameterBuilder.cs
- UTF8Encoding.cs
- OracleEncoding.cs
- EventRoute.cs
- HwndSource.cs
- ReachUIElementCollectionSerializer.cs
- WorkflowApplicationIdleEventArgs.cs
- Debug.cs
- DispatcherProcessingDisabled.cs
- HandlerWithFactory.cs
- BuildProviderAppliesToAttribute.cs
- ArraySubsetEnumerator.cs
- Int16Converter.cs
- ResourceReferenceExpression.cs
- ResourceReader.cs
- DeviceFilterEditorDialog.cs
- DateTimeFormatInfoScanner.cs
- FilteredXmlReader.cs
- OneOfTypeConst.cs
- WindowsSpinner.cs
- Section.cs
- FragmentQueryKB.cs
- ReachNamespaceInfo.cs
- OdbcConnectionString.cs
- SqlUserDefinedAggregateAttribute.cs
- AssociationTypeEmitter.cs
- Utils.cs
- DataRelation.cs
- CodeGotoStatement.cs
- MetadataArtifactLoaderCompositeFile.cs
- AsymmetricSignatureFormatter.cs
- ResourceDictionary.cs
- COM2Properties.cs
- StringAttributeCollection.cs
- LogArchiveSnapshot.cs
- XamlToRtfWriter.cs
- ReadWriteObjectLock.cs
- TextSearch.cs
- DateRangeEvent.cs
- SiteMapDataSource.cs
- ParallelQuery.cs
- XmlEnumAttribute.cs
- Int32Animation.cs
- FileInfo.cs
- UnsafeCollabNativeMethods.cs
- ComplusEndpointConfigContainer.cs
- Matrix3DStack.cs
- MouseGesture.cs
- RecognizeCompletedEventArgs.cs
- DataGridRow.cs
- EventLogPermissionAttribute.cs
- TypeConverterHelper.cs
- RecordsAffectedEventArgs.cs
- DataObjectPastingEventArgs.cs
- UriTemplateQueryValue.cs
- CompiledXpathExpr.cs
- AsymmetricSignatureDeformatter.cs
- DynamicControl.cs
- CustomAttributeBuilder.cs
- HtmlTableRowCollection.cs
- XmlAttributeCache.cs
- DictationGrammar.cs
- UserNameSecurityToken.cs
- CustomCredentialPolicy.cs
- FontStyles.cs
- PropertyPathWorker.cs
- NegationPusher.cs
- SubMenuStyle.cs
- InkCanvas.cs
- PrivilegedConfigurationManager.cs
- FactoryMaker.cs
- StylusPointCollection.cs
- SystemWebCachingSectionGroup.cs
- InertiaExpansionBehavior.cs
- CheckableControlBaseAdapter.cs
- OutputCacheModule.cs
- ValidatorCollection.cs
- UrlAuthFailedErrorFormatter.cs
- Storyboard.cs
- PathParser.cs
- ListViewItemSelectionChangedEvent.cs
- _SslStream.cs
- SchemaTableColumn.cs
- UserPersonalizationStateInfo.cs