Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ProxyWebPartConnectionCollection.cs
- XmlFormatWriterGenerator.cs
- ToolStripPanel.cs
- UIElementPropertyUndoUnit.cs
- SessionStateUtil.cs
- StackBuilderSink.cs
- CanonicalFontFamilyReference.cs
- JsonUriDataContract.cs
- AsyncWaitHandle.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- ApplicationTrust.cs
- PageBreakRecord.cs
- ResizeGrip.cs
- StyleSelector.cs
- SqlBuilder.cs
- TogglePattern.cs
- RadioButtonRenderer.cs
- HtmlTextArea.cs
- DefaultPrintController.cs
- TreeBuilder.cs
- listitem.cs
- LineGeometry.cs
- FormsAuthenticationUser.cs
- MemberInfoSerializationHolder.cs
- MaskedTextProvider.cs
- DrawingVisualDrawingContext.cs
- HybridDictionary.cs
- UnitControl.cs
- StateDesigner.CommentLayoutGlyph.cs
- DaylightTime.cs
- DataGridState.cs
- QilInvoke.cs
- PrivateFontCollection.cs
- IdentityNotMappedException.cs
- MemoryMappedFileSecurity.cs
- _RequestCacheProtocol.cs
- DocumentScope.cs
- GeneralTransform.cs
- SmiXetterAccessMap.cs
- ContextMarshalException.cs
- DecoderNLS.cs
- PersonalizableTypeEntry.cs
- ExtensionDataObject.cs
- BasicKeyConstraint.cs
- QuadTree.cs
- BaseDataBoundControl.cs
- ConfigurationElementProperty.cs
- Group.cs
- MediaTimeline.cs
- DiscoveryClientReferences.cs
- NumberSubstitution.cs
- LinqDataSourceEditData.cs
- Semaphore.cs
- KeyNotFoundException.cs
- HeaderedItemsControl.cs
- FormViewDeletedEventArgs.cs
- DataStreams.cs
- CatalogZoneBase.cs
- CodeDomSerializerBase.cs
- ToolStripComboBox.cs
- TextCollapsingProperties.cs
- WebBrowserNavigatingEventHandler.cs
- AssertSection.cs
- CommonProperties.cs
- FocusTracker.cs
- WindowsGraphics2.cs
- ViewStateChangedEventArgs.cs
- GridViewHeaderRowPresenter.cs
- ConditionalBranch.cs
- AsmxEndpointPickerExtension.cs
- PreservationFileWriter.cs
- SqlDependencyListener.cs
- DisplayInformation.cs
- StatusBar.cs
- CollectionViewGroupInternal.cs
- TextParentUndoUnit.cs
- ReadOnlyTernaryTree.cs
- Rotation3DAnimationUsingKeyFrames.cs
- ParserExtension.cs
- SqlDataSourceCache.cs
- Metafile.cs
- ZeroOpNode.cs
- TypeDelegator.cs
- ItemList.cs
- CodeCatchClause.cs
- InvokeBinder.cs
- TextRenderer.cs
- XmlSchemaAny.cs
- MergeLocalizationDirectives.cs
- WindowInteropHelper.cs
- SmiSettersStream.cs
- AnonymousIdentificationModule.cs
- SemanticResultValue.cs
- DataGridViewColumnEventArgs.cs
- URLString.cs
- DataServiceProcessingPipeline.cs
- Suspend.cs
- AlternateViewCollection.cs
- InputLangChangeRequestEvent.cs
- DefaultSection.cs