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
- SplineKeyFrames.cs
- backend.cs
- DeclarativeCatalogPartDesigner.cs
- IDQuery.cs
- NetCodeGroup.cs
- GreenMethods.cs
- InputGestureCollection.cs
- TraceUtils.cs
- OracleDateTime.cs
- ExpandCollapsePattern.cs
- XmlSerializationGeneratedCode.cs
- FixedSOMPageElement.cs
- ProfileGroupSettings.cs
- InputQueueChannel.cs
- ComponentManagerBroker.cs
- WsdlParser.cs
- CompositeActivityMarkupSerializer.cs
- StaticDataManager.cs
- LocalizableAttribute.cs
- Int32Rect.cs
- ObjectRef.cs
- ButtonPopupAdapter.cs
- OleStrCAMarshaler.cs
- PenContexts.cs
- FrameworkTemplate.cs
- WasAdminWrapper.cs
- MissingMemberException.cs
- TransactedBatchingBehavior.cs
- DynamicQueryableWrapper.cs
- Helpers.cs
- DomainUpDown.cs
- ParserHooks.cs
- GuidelineSet.cs
- SplitterPanelDesigner.cs
- CqlLexer.cs
- URLAttribute.cs
- XmlTextReaderImpl.cs
- FormattedText.cs
- PointF.cs
- TaskFormBase.cs
- WMICapabilities.cs
- SafeProcessHandle.cs
- ScriptingJsonSerializationSection.cs
- Triangle.cs
- ConsoleKeyInfo.cs
- CompositeScriptReferenceEventArgs.cs
- _PooledStream.cs
- ApplicationServiceHelper.cs
- InternalCache.cs
- PropertyEmitterBase.cs
- WpfXamlLoader.cs
- Positioning.cs
- TraceHelpers.cs
- WebRequestModulesSection.cs
- RequestCachingSection.cs
- DataGridItemCollection.cs
- Rotation3DAnimation.cs
- XmlReader.cs
- _ListenerRequestStream.cs
- BaseDataList.cs
- ApplicationInfo.cs
- MimeMapping.cs
- Win32Native.cs
- TextViewSelectionProcessor.cs
- OciLobLocator.cs
- Zone.cs
- Composition.cs
- ProviderConnectionPoint.cs
- RangeContentEnumerator.cs
- TrustVersion.cs
- StaticContext.cs
- MultiTargetingUtil.cs
- BoundField.cs
- HostProtectionException.cs
- MenuEventArgs.cs
- Scripts.cs
- ProviderSettings.cs
- ContainerVisual.cs
- COM2IDispatchConverter.cs
- XmlAutoDetectWriter.cs
- TemplateManager.cs
- DataGridViewAddColumnDialog.cs
- UserControlFileEditor.cs
- SqlCacheDependencyDatabaseCollection.cs
- ModelServiceImpl.cs
- WebPartConnectionsCancelEventArgs.cs
- _NetworkingPerfCounters.cs
- Color.cs
- WebDescriptionAttribute.cs
- TypeSystem.cs
- PropertyContainer.cs
- HandledMouseEvent.cs
- UnsafeNetInfoNativeMethods.cs
- OneOfTypeConst.cs
- InlineObject.cs
- ProfileManager.cs
- WorkerRequest.cs
- DoubleCollectionConverter.cs
- BitmapMetadataEnumerator.cs
- ObsoleteAttribute.cs