Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ WebSocketBuffer()

System.Net.WebSockets.WebSocketBuffer.WebSocketBuffer ( ArraySegment< byte > internalBuffer,
int receiveBufferSize,
int sendBufferSize )
inlineprivate

Definition at line 69 of file WebSocketBuffer.cs.

70 {
71 _receiveBufferSize = receiveBufferSize;
72 _sendBufferSize = sendBufferSize;
73 _internalBuffer = internalBuffer;
74 _gcHandle = GCHandle.Alloc(internalBuffer.Array, GCHandleType.Pinned);
75 int num = _receiveBufferSize + _sendBufferSize + 144;
76 _startAddress = Marshal.UnsafeAddrOfPinnedArrayElement(internalBuffer.Array, internalBuffer.Offset).ToInt64();
78 _nativeBuffer = new ArraySegment<byte>(internalBuffer.Array, internalBuffer.Offset, num);
79 _payloadBuffer = new ArraySegment<byte>(internalBuffer.Array, _nativeBuffer.Offset + _nativeBuffer.Count, _receiveBufferSize);
80 _propertyBuffer = new ArraySegment<byte>(internalBuffer.Array, _payloadBuffer.Offset + _payloadBuffer.Count, s_PropertyBufferSize);
82 }
readonly ArraySegment< byte > _propertyBuffer
readonly ArraySegment< byte > _internalBuffer
readonly ArraySegment< byte > _nativeBuffer
readonly ArraySegment< byte > _payloadBuffer
static unsafe IntPtr UnsafeAddrOfPinnedArrayElement(Array arr, int index)
Definition Marshal.cs:775
static GCHandle Alloc(object? value)
Definition GCHandle.cs:81

References System.Net.WebSockets.WebSocketBuffer._endAddress, System.Net.WebSockets.WebSocketBuffer._gcHandle, System.Net.WebSockets.WebSocketBuffer._internalBuffer, System.Net.WebSockets.WebSocketBuffer._nativeBuffer, System.Net.WebSockets.WebSocketBuffer._payloadBuffer, System.Net.WebSockets.WebSocketBuffer._propertyBuffer, System.Net.WebSockets.WebSocketBuffer._receiveBufferSize, System.Net.WebSockets.WebSocketBuffer._sendBufferSize, System.Net.WebSockets.WebSocketBuffer._sendBufferState, System.Net.WebSockets.WebSocketBuffer._startAddress, System.Runtime.InteropServices.GCHandle.Alloc(), System.ArraySegment< T >.Array, System.ArraySegment< T >.Count, System.ArraySegment< T >.Offset, System.Net.WebSockets.WebSocketBuffer.s_PropertyBufferSize, and System.Runtime.InteropServices.Marshal.UnsafeAddrOfPinnedArrayElement().

Referenced by System.Net.WebSockets.WebSocketBuffer.CreateServerBuffer().