Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- XmlSubtreeReader.cs
- GenericTypeParameterBuilder.cs
- GridViewUpdateEventArgs.cs
- TransformerTypeCollection.cs
- CacheSection.cs
- Compiler.cs
- WebBrowsableAttribute.cs
- ExpressionBuilder.cs
- QilIterator.cs
- Function.cs
- InstanceStoreQueryResult.cs
- CreateUserWizardStep.cs
- SiteMap.cs
- BinaryFormatter.cs
- ParallelDesigner.xaml.cs
- JavaScriptString.cs
- Label.cs
- KnownColorTable.cs
- DefaultClaimSet.cs
- AnnotationHighlightLayer.cs
- XmlReflectionMember.cs
- DataGridParentRows.cs
- VerticalConnector.xaml.cs
- Visitor.cs
- BufferedGraphics.cs
- sqlinternaltransaction.cs
- BitmapEffectInputConnector.cs
- DoubleAnimationUsingKeyFrames.cs
- ScriptingSectionGroup.cs
- ListViewInsertionMark.cs
- SecurityState.cs
- SelectorAutomationPeer.cs
- RefreshInfo.cs
- GcHandle.cs
- PrintDialog.cs
- NamedObject.cs
- CustomAttribute.cs
- ExpressionLexer.cs
- ProcessInputEventArgs.cs
- DiscoveryReferences.cs
- DocumentAutomationPeer.cs
- EnumerableValidator.cs
- ProgressBarBrushConverter.cs
- SrgsRule.cs
- ServiceModelExtensionCollectionElement.cs
- HwndKeyboardInputProvider.cs
- UntrustedRecipientException.cs
- LinqDataSourceValidationException.cs
- GridViewPageEventArgs.cs
- ImageSourceConverter.cs
- UnionCodeGroup.cs
- UInt32Storage.cs
- SmiContext.cs
- ContractUtils.cs
- ColorAnimationUsingKeyFrames.cs
- BitmapInitialize.cs
- Win32Native.cs
- EditingCommands.cs
- PropertyGridView.cs
- EntityCommandDefinition.cs
- TypedDatasetGenerator.cs
- MemberProjectionIndex.cs
- DisplayNameAttribute.cs
- GZipDecoder.cs
- RtType.cs
- PeerNearMe.cs
- TabRenderer.cs
- Vector3DKeyFrameCollection.cs
- WebPartRestoreVerb.cs
- EngineSite.cs
- ListViewContainer.cs
- DragAssistanceManager.cs
- ColumnClickEvent.cs
- XmlDataProvider.cs
- TimestampInformation.cs
- StylusDownEventArgs.cs
- FirstMatchCodeGroup.cs
- ProxyElement.cs
- CodeSnippetStatement.cs
- CodeBlockBuilder.cs
- Delay.cs
- SqlMethodTransformer.cs
- BaseDataListComponentEditor.cs
- QilPatternVisitor.cs
- DtrList.cs
- QueryExtender.cs
- SendContent.cs
- CodeCatchClause.cs
- PassportAuthentication.cs
- ToggleButton.cs
- DataGridPagerStyle.cs
- BCLDebug.cs
- X509CertificateChain.cs
- DoubleCollection.cs
- SvcMapFile.cs
- TransformerTypeCollection.cs
- TracingConnectionListener.cs
- LineServices.cs
- AggregationMinMaxHelpers.cs
- RegexBoyerMoore.cs