Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / _BufferOffsetSize.cs / 1305376 / _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
- Membership.cs
- DataGridViewAutoSizeModeEventArgs.cs
- DomainUpDown.cs
- RenamedEventArgs.cs
- ConfigurationStrings.cs
- WindowsTreeView.cs
- DataRecordInfo.cs
- PerformanceCountersElement.cs
- XPathParser.cs
- ServiceModelConfigurationElementCollection.cs
- ConnectionConsumerAttribute.cs
- DesignerDeviceConfig.cs
- PeerConnector.cs
- counter.cs
- DataGridPageChangedEventArgs.cs
- EntityDataSourceDesigner.cs
- BindableTemplateBuilder.cs
- URLString.cs
- SerializationSectionGroup.cs
- Queue.cs
- SessionStateSection.cs
- DbConnectionPoolGroupProviderInfo.cs
- Stackframe.cs
- ImageMetadata.cs
- ContentElement.cs
- SHA256Cng.cs
- ACL.cs
- ConditionalWeakTable.cs
- MaskedTextBoxDesigner.cs
- DesignerSerializationVisibilityAttribute.cs
- ObjectResult.cs
- CollectionConverter.cs
- ellipse.cs
- MetadataItem_Static.cs
- XmlSubtreeReader.cs
- ColorConvertedBitmap.cs
- ScrollBar.cs
- AppendHelper.cs
- ExitEventArgs.cs
- AbandonedMutexException.cs
- TraceContext.cs
- XmlRawWriterWrapper.cs
- DynamicMethod.cs
- WMIGenerator.cs
- AQNBuilder.cs
- XmlnsCompatibleWithAttribute.cs
- UserNameServiceElement.cs
- Vector3DCollection.cs
- MSAAEventDispatcher.cs
- ButtonBaseAdapter.cs
- SqlFacetAttribute.cs
- GridPattern.cs
- PrefixQName.cs
- GcHandle.cs
- CodeTypeMember.cs
- CoreChannel.cs
- MatrixTransform.cs
- MultilineStringConverter.cs
- ExceptionRoutedEventArgs.cs
- ThicknessConverter.cs
- MenuItemBinding.cs
- Endpoint.cs
- QuaternionAnimation.cs
- Send.cs
- FixedTextBuilder.cs
- QilStrConcatenator.cs
- Parser.cs
- Invariant.cs
- FormViewPageEventArgs.cs
- DataDocumentXPathNavigator.cs
- X509Certificate.cs
- XmlMembersMapping.cs
- SerializationObjectManager.cs
- StickyNote.cs
- InvalidFilterCriteriaException.cs
- DialogResultConverter.cs
- PackWebRequest.cs
- ProgressBarBrushConverter.cs
- TreeNodeCollectionEditor.cs
- HyperLinkStyle.cs
- IsolatedStorageFilePermission.cs
- FileLogRecord.cs
- XmlEncoding.cs
- EmbeddedMailObject.cs
- DataGridLinkButton.cs
- Util.cs
- URIFormatException.cs
- CopyNodeSetAction.cs
- MarshalByRefObject.cs
- NavigationPropertyEmitter.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- EmissiveMaterial.cs
- DataServiceClientException.cs
- SessionIDManager.cs
- ContractMapping.cs
- AmbiguousMatchException.cs
- WebPermission.cs
- MethodToken.cs
- ActivityInstanceReference.cs
- DataGridViewCellStyle.cs