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
- Merger.cs
- PostBackTrigger.cs
- MapPathBasedVirtualPathProvider.cs
- MessageSecurityOverMsmq.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- TextAnchor.cs
- XamlStackWriter.cs
- DynamicObjectAccessor.cs
- StyleXamlParser.cs
- RegistryConfigurationProvider.cs
- COM2EnumConverter.cs
- LocalizationComments.cs
- ManipulationCompletedEventArgs.cs
- LocalizedNameDescriptionPair.cs
- CounterSampleCalculator.cs
- BlurBitmapEffect.cs
- Normalization.cs
- DynamicContractTypeBuilder.cs
- ButtonAutomationPeer.cs
- ConfigurationStrings.cs
- Label.cs
- TimelineCollection.cs
- RadioButtonRenderer.cs
- IDQuery.cs
- ActiveXHost.cs
- FilePrompt.cs
- ApplicationBuildProvider.cs
- ServicePoint.cs
- StringUtil.cs
- BulletedList.cs
- EnvironmentPermission.cs
- EntityFrameworkVersions.cs
- ToolStripItemEventArgs.cs
- NetworkInformationPermission.cs
- SecureConversationDriver.cs
- AdRotator.cs
- StringFreezingAttribute.cs
- CodeDirectionExpression.cs
- VisualTreeUtils.cs
- _HTTPDateParse.cs
- PrivilegeNotHeldException.cs
- SafeNativeMethods.cs
- LowerCaseStringConverter.cs
- TreeView.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- DateTimeConverter2.cs
- XPathMessageFilterTable.cs
- Size3DConverter.cs
- RulePatternOps.cs
- LogEntryUtils.cs
- ComponentEditorPage.cs
- ImagingCache.cs
- ObjectDataProvider.cs
- FieldNameLookup.cs
- ExpandCollapsePatternIdentifiers.cs
- StorageAssociationTypeMapping.cs
- TypeConverter.cs
- MessageProperties.cs
- BindingGraph.cs
- EntityDesignerBuildProvider.cs
- CodeSnippetTypeMember.cs
- RegexParser.cs
- Schema.cs
- WebPartEditorApplyVerb.cs
- Baml2006ReaderFrame.cs
- OperationParameterInfo.cs
- Rotation3D.cs
- MenuAdapter.cs
- ToolStripItemRenderEventArgs.cs
- SqlUnionizer.cs
- Wildcard.cs
- RecipientInfo.cs
- XmlSchemaProviderAttribute.cs
- BinaryFormatter.cs
- SqlClientMetaDataCollectionNames.cs
- RegisteredDisposeScript.cs
- OpenFileDialog.cs
- XmlUtil.cs
- Unit.cs
- ReadOnlyMetadataCollection.cs
- SchemaElementDecl.cs
- XmlAnyElementAttribute.cs
- MaskedTextBoxTextEditor.cs
- __Error.cs
- ChannelSinkStacks.cs
- FlowDocument.cs
- SelectedGridItemChangedEvent.cs
- TextCompositionManager.cs
- BamlMapTable.cs
- KeyNotFoundException.cs
- WebHttpEndpointElement.cs
- ActivityTypeCodeDomSerializer.cs
- SplitterEvent.cs
- CollectionAdapters.cs
- DuplexChannelFactory.cs
- XamlSerializationHelper.cs
- MappingMetadataHelper.cs
- ToolboxItem.cs
- CultureSpecificStringDictionary.cs
- StickyNote.cs