Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ServerWebSocket.cs
Go to the documentation of this file.
1using System.IO;
3
5
6internal sealed class ServerWebSocket : WebSocketBase
7{
8 private readonly SafeHandle _sessionHandle;
9
10 private readonly global::Interop.WebSocket.Property[] _properties;
11
13
14 internal static WebSocket Create(Stream innerStream, string subProtocol, int receiveBufferSize, TimeSpan keepAliveInterval, ArraySegment<byte> internalBuffer)
15 {
17 {
19 }
21 HttpWebSocket.ValidateOptions(subProtocol, receiveBufferSize, 16, keepAliveInterval);
22 System.Net.WebSockets.WebSocketValidate.ValidateArraySegment(internalBuffer, "internalBuffer");
23 WebSocketBuffer.Validate(internalBuffer.Count, receiveBufferSize, 16, isServerBuffer: true);
24 return new ServerWebSocket(innerStream, subProtocol, receiveBufferSize, keepAliveInterval, internalBuffer);
25 }
26
27 public ServerWebSocket(Stream innerStream, string subProtocol, int receiveBufferSize, TimeSpan keepAliveInterval, ArraySegment<byte> internalBuffer)
28 : base(innerStream, subProtocol, keepAliveInterval, WebSocketBuffer.CreateServerBuffer(internalBuffer, receiveBufferSize))
29 {
30 _properties = base.InternalBuffer.CreateProperties(useZeroMaskingKey: false);
33 {
35 }
37 }
38
40 {
42 return webSocketHandle;
43 }
44}
static void ValidateOptions(string subProtocol, int receiveBufferSize, int sendBufferSize, TimeSpan keepAliveInterval)
static void ThrowPlatformNotSupportedException_WSPC()
static void ValidateInnerStream(Stream innerStream)
readonly global::Interop.WebSocket.Property[] _properties
static WebSocket Create(Stream innerStream, string subProtocol, int receiveBufferSize, TimeSpan keepAliveInterval, ArraySegment< byte > internalBuffer)
ServerWebSocket(Stream innerStream, string subProtocol, int receiveBufferSize, TimeSpan keepAliveInterval, ArraySegment< byte > internalBuffer)
static void Validate(int count, int receiveBufferSize, int sendBufferSize, bool isServerBuffer)
static void WebSocketCreateServerHandle(global::Interop.WebSocket.Property[] properties, int propertyCount, out SafeWebSocketHandle webSocketHandle)
static void ValidateArraySegment(ArraySegment< byte > arraySegment, string parameterName)
static ArraySegment< byte > CreateServerBuffer(int receiveBufferSize)
Definition WebSocket.cs:121