diff --git a/websocket-sharp/Server/WebSocketServiceHost.cs b/websocket-sharp/Server/WebSocketServiceHost.cs index f7a78ff4..860019a5 100644 --- a/websocket-sharp/Server/WebSocketServiceHost.cs +++ b/websocket-sharp/Server/WebSocketServiceHost.cs @@ -34,7 +34,6 @@ #endregion using System; -using WebSocketSharp.Net; using WebSocketSharp.Net.WebSockets; namespace WebSocketSharp.Server @@ -153,94 +152,4 @@ namespace WebSocketSharp.Server #endregion } - - internal class WebSocketServiceHost : WebSocketServiceHost - where TBehavior : WebSocketBehavior - { - #region Private Fields - - private Func _initializer; - private Logger _logger; - private string _path; - private WebSocketSessionManager _sessions; - - #endregion - - #region Internal Constructors - - internal WebSocketServiceHost (string path, Func initializer, Logger logger) - { - _path = path; - _initializer = initializer; - _logger = logger; - _sessions = new WebSocketSessionManager (logger); - } - - #endregion - - #region Public Properties - - public override bool KeepClean { - get { - return _sessions.KeepClean; - } - - set { - var msg = _sessions.State.CheckIfAvailable (true, false, false); - if (msg != null) { - _logger.Error (msg); - return; - } - - _sessions.KeepClean = value; - } - } - - public override string Path { - get { - return _path; - } - } - - public override WebSocketSessionManager Sessions { - get { - return _sessions; - } - } - - public override Type Type { - get { - return typeof (TBehavior); - } - } - - public override TimeSpan WaitTime { - get { - return _sessions.WaitTime; - } - - set { - var msg = _sessions.State.CheckIfAvailable (true, false, false) ?? - value.CheckIfValidWaitTime (); - - if (msg != null) { - _logger.Error (msg); - return; - } - - _sessions.WaitTime = value; - } - } - - #endregion - - #region Protected Methods - - protected override WebSocketBehavior CreateSession () - { - return _initializer (); - } - - #endregion - } } diff --git a/websocket-sharp/Server/WebSocketServiceHost`1.cs b/websocket-sharp/Server/WebSocketServiceHost`1.cs new file mode 100644 index 00000000..78e3983e --- /dev/null +++ b/websocket-sharp/Server/WebSocketServiceHost`1.cs @@ -0,0 +1,122 @@ +#region License +/* + * WebSocketServiceHost`1.cs + * + * The MIT License + * + * Copyright (c) 2015 sta.blockhead + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +#endregion + +using System; + +namespace WebSocketSharp.Server +{ + internal class WebSocketServiceHost : WebSocketServiceHost + where TBehavior : WebSocketBehavior + { + #region Private Fields + + private Func _initializer; + private Logger _logger; + private string _path; + private WebSocketSessionManager _sessions; + + #endregion + + #region Internal Constructors + + internal WebSocketServiceHost (string path, Func initializer, Logger logger) + { + _path = path; + _initializer = initializer; + _logger = logger; + _sessions = new WebSocketSessionManager (logger); + } + + #endregion + + #region Public Properties + + public override bool KeepClean { + get { + return _sessions.KeepClean; + } + + set { + var msg = _sessions.State.CheckIfAvailable (true, false, false); + if (msg != null) { + _logger.Error (msg); + return; + } + + _sessions.KeepClean = value; + } + } + + public override string Path { + get { + return _path; + } + } + + public override WebSocketSessionManager Sessions { + get { + return _sessions; + } + } + + public override Type Type { + get { + return typeof (TBehavior); + } + } + + public override TimeSpan WaitTime { + get { + return _sessions.WaitTime; + } + + set { + var msg = _sessions.State.CheckIfAvailable (true, false, false) ?? + value.CheckIfValidWaitTime (); + + if (msg != null) { + _logger.Error (msg); + return; + } + + _sessions.WaitTime = value; + } + } + + #endregion + + #region Protected Methods + + protected override WebSocketBehavior CreateSession () + { + return _initializer (); + } + + #endregion + } +} diff --git a/websocket-sharp/websocket-sharp.csproj b/websocket-sharp/websocket-sharp.csproj index c1192aaa..08767954 100644 --- a/websocket-sharp/websocket-sharp.csproj +++ b/websocket-sharp/websocket-sharp.csproj @@ -139,6 +139,7 @@ +