Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- SqlHelper.cs
- FrameworkReadOnlyPropertyMetadata.cs
- TemplateControlBuildProvider.cs
- RawStylusInputCustomData.cs
- BuildProviderCollection.cs
- Cursor.cs
- OperatingSystem.cs
- PathSegmentCollection.cs
- DataQuery.cs
- Internal.cs
- TextControl.cs
- CryptoApi.cs
- BindingGroup.cs
- HandledMouseEvent.cs
- SafeNativeMethodsCLR.cs
- EditorReuseAttribute.cs
- EntityDataSourceValidationException.cs
- TableDetailsCollection.cs
- IsolatedStoragePermission.cs
- ReceiveMessageRecord.cs
- DbReferenceCollection.cs
- DSASignatureFormatter.cs
- FrameAutomationPeer.cs
- TargetConverter.cs
- WebHttpSecurity.cs
- IdentityManager.cs
- ImmutableObjectAttribute.cs
- CaseInsensitiveOrdinalStringComparer.cs
- HttpResponse.cs
- NumberSubstitution.cs
- KeysConverter.cs
- TrustManagerMoreInformation.cs
- UIElement3DAutomationPeer.cs
- AbsoluteQuery.cs
- PenCursorManager.cs
- HealthMonitoringSectionHelper.cs
- ImageFormat.cs
- WebPartEditorApplyVerb.cs
- SplitterDesigner.cs
- AuthenticationException.cs
- ParentQuery.cs
- CreateInstanceBinder.cs
- ToolStripDropTargetManager.cs
- SystemIPAddressInformation.cs
- ExecutorLocksHeldException.cs
- OdbcPermission.cs
- XmlDataContract.cs
- Semaphore.cs
- BamlLocalizabilityResolver.cs
- EtwTrace.cs
- CardSpaceShim.cs
- DoubleAverageAggregationOperator.cs
- RepeatBehaviorConverter.cs
- Closure.cs
- SqlXml.cs
- HttpResponseInternalWrapper.cs
- UserInitiatedNavigationPermission.cs
- ContextBase.cs
- CreateUserWizard.cs
- OwnerDrawPropertyBag.cs
- SQLDateTime.cs
- MailDefinition.cs
- _DisconnectOverlappedAsyncResult.cs
- GeometryModel3D.cs
- OdbcConnectionFactory.cs
- DataGridViewHeaderCell.cs
- VoiceObjectToken.cs
- PolicyLevel.cs
- Binding.cs
- ReferenceEqualityComparer.cs
- EncryptedPackage.cs
- NativeMethods.cs
- CutCopyPasteHelper.cs
- SQLInt64.cs
- BooleanConverter.cs
- tooltip.cs
- ElapsedEventArgs.cs
- CompositeTypefaceMetrics.cs
- GraphicsPath.cs
- Timer.cs
- ConfigViewGenerator.cs
- XmlResolver.cs
- PagePropertiesChangingEventArgs.cs
- XmlSiteMapProvider.cs
- LinkUtilities.cs
- HwndMouseInputProvider.cs
- SQLRoleProvider.cs
- FileStream.cs
- WSHttpBindingCollectionElement.cs
- DefaultClaimSet.cs
- SizeChangedEventArgs.cs
- TrackingStringDictionary.cs
- TaiwanCalendar.cs
- IMembershipProvider.cs
- XmlToDatasetMap.cs
- base64Transforms.cs
- NumberEdit.cs
- HMACSHA512.cs
- RuntimeResourceSet.cs
- EmbeddedMailObject.cs