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

◆ CreateProperties()

global.Interop.WebSocket.Property[] System.Net.WebSockets.WebSocketBuffer.CreateProperties ( bool useZeroMaskingKey)
inlinepackage

Definition at line 103 of file WebSocketBuffer.cs.

104 {
109 offset += 4;
111 offset += 4;
113 offset += IntPtr.Size;
114 Marshal.WriteInt32(intPtr, offset, useZeroMaskingKey ? 1 : 0);
115 int num = (useZeroMaskingKey ? 4 : 3);
116 global::Interop.WebSocket.Property[] array = new global::Interop.WebSocket.Property[num];
118 array[0] = new global::Interop.WebSocket.Property
119 {
120 Type = WebSocketProtocolComponent.PropertyType.ReceiveBufferSize,
121 PropertySize = 4u,
122 PropertyData = IntPtr.Add(intPtr, offset)
123 };
124 offset += 4;
125 array[1] = new global::Interop.WebSocket.Property
126 {
127 Type = WebSocketProtocolComponent.PropertyType.SendBufferSize,
128 PropertySize = 4u,
129 PropertyData = IntPtr.Add(intPtr, offset)
130 };
131 offset += 4;
132 array[2] = new global::Interop.WebSocket.Property
133 {
134 Type = WebSocketProtocolComponent.PropertyType.AllocatedBuffer,
135 PropertySize = (uint)_nativeBuffer.Count,
136 PropertyData = IntPtr.Add(intPtr, offset)
137 };
138 offset += IntPtr.Size;
139 if (useZeroMaskingKey)
140 {
141 array[3] = new global::Interop.WebSocket.Property
142 {
143 Type = WebSocketProtocolComponent.PropertyType.DisableMasking,
144 PropertySize = 4u,
145 PropertyData = IntPtr.Add(intPtr, offset)
146 };
147 }
148 return array;
149 }
readonly ArraySegment< byte > _propertyBuffer
readonly ArraySegment< byte > _internalBuffer
readonly ArraySegment< byte > _nativeBuffer
static void WriteInt32(object ptr, int ofs, int val)
Definition Marshal.cs:105
static void WriteIntPtr(IntPtr ptr, int ofs, IntPtr val)
Definition Marshal.cs:1096

References System.Net.WebSockets.WebSocketBuffer._gcHandle, System.Net.WebSockets.WebSocketBuffer._internalBuffer, System.Net.WebSockets.WebSocketBuffer._nativeBuffer, System.Net.WebSockets.WebSocketBuffer._propertyBuffer, System.Net.WebSockets.WebSocketBuffer._receiveBufferSize, System.Net.WebSockets.WebSocketBuffer._sendBufferSize, System.IntPtr.Add(), System.Runtime.InteropServices.GCHandle.AddrOfPinnedObject(), System.array, System.ArraySegment< T >.Count, System.offset, System.ArraySegment< T >.Offset, System.IntPtr.Size, System.Net.WebSockets.WebSocketBuffer.ThrowIfDisposed(), System.Runtime.InteropServices.Marshal.WriteInt32(), and System.Runtime.InteropServices.Marshal.WriteIntPtr().