diff --git a/websocket-sharp/Server/HttpServer.cs b/websocket-sharp/Server/HttpServer.cs index f57392a4..12703aab 100644 --- a/websocket-sharp/Server/HttpServer.cs +++ b/websocket-sharp/Server/HttpServer.cs @@ -655,7 +655,7 @@ namespace WebSocketSharp.Server if (!KeepClean) host.KeepClean = false; - _services.Add (host.ServicePath, host); + _services.Add (host.Path, host); } /// diff --git a/websocket-sharp/Server/WebSocketServer.cs b/websocket-sharp/Server/WebSocketServer.cs index 659d3e8d..c144abc6 100644 --- a/websocket-sharp/Server/WebSocketServer.cs +++ b/websocket-sharp/Server/WebSocketServer.cs @@ -694,7 +694,7 @@ namespace WebSocketSharp.Server if (!KeepClean) host.KeepClean = false; - _services.Add (host.ServicePath, host); + _services.Add (host.Path, host); } /// diff --git a/websocket-sharp/Server/WebSocketServiceHost.cs b/websocket-sharp/Server/WebSocketServiceHost.cs index f65b94b7..808475e7 100644 --- a/websocket-sharp/Server/WebSocketServiceHost.cs +++ b/websocket-sharp/Server/WebSocketServiceHost.cs @@ -4,8 +4,8 @@ * * The MIT License * - * Copyright (c) 2012-2013 sta.blockhead - * + * Copyright (c) 2012-2014 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 @@ -15,7 +15,7 @@ * * 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 @@ -34,15 +34,18 @@ #endregion using System; -using System.Collections.Generic; using WebSocketSharp.Net; using WebSocketSharp.Net.WebSockets; namespace WebSocketSharp.Server { /// - /// Provides the methods and properties for the WebSocket service host. + /// Exposes the methods and properties used for accessing the information in a WebSocket + /// service provided by the or . /// + /// + /// The WebSocketServiceHost class is an abstract class. + /// public abstract class WebSocketServiceHost { #region Protected Constructors @@ -59,57 +62,45 @@ namespace WebSocketSharp.Server #region Public Properties /// - /// Gets or sets a value indicating whether the WebSocket service host cleans up - /// the inactive sessions periodically. + /// Gets or sets a value indicating whether the WebSocket service cleans up the inactive + /// sessions periodically. /// /// - /// true if the WebSocket service host cleans up the inactive sessions periodically; + /// true if the WebSocket service cleans up the inactive sessions periodically; /// otherwise, false. /// public abstract bool KeepClean { get; set; } /// - /// Gets the path to the WebSocket service managed by the WebSocket service host. + /// Gets the path to the WebSocket service. /// /// - /// A that contains an absolute path to the WebSocket service. + /// A that represents the absolute path to the WebSocket service. /// - public abstract string ServicePath { get; } + public abstract string Path { get; } /// - /// Gets the number of the sessions to the WebSocket service. + /// Gets the access to the sessions in the WebSocket service. /// /// - /// An that contains the session count. + /// A that manages the sessions. /// - public abstract int SessionCount { get; } + public abstract WebSocketSessionManager Sessions { get; } /// - /// Gets the manager of the sessions to the WebSocket service. + /// Gets the type of the WebSocket service. /// /// - /// A that manages the sessions. + /// A that represents the type of the WebSocket service. /// - public abstract WebSocketSessionManager Sessions { get; } + public abstract Type Type { get; } #endregion #region Internal Methods - /// - /// Starts a new session to the WebSocket service using the specified . - /// - /// - /// A that contains a WebSocket connection request objects. - /// - /// - /// is . - /// internal void StartSession (WebSocketContext context) { - if (context == null) - throw new ArgumentNullException ("context"); - var session = CreateSession (); session.Start (context, Sessions); } @@ -119,7 +110,7 @@ namespace WebSocketSharp.Server #region Protected Methods /// - /// Creates a new session to the WebSocket service. + /// Creates a new session in the WebSocket service. /// /// /// A instance that represents a new session. @@ -129,13 +120,6 @@ namespace WebSocketSharp.Server #endregion } - /// - /// Provides the methods and properties for the WebSocket service host. - /// - /// - /// The type of the WebSocket service provided by the server. - /// The T must inherit the class. - /// internal class WebSocketServiceHost : WebSocketServiceHost where T : WebSocketService { @@ -160,14 +144,6 @@ namespace WebSocketSharp.Server #region Public Properties - /// - /// Gets or sets a value indicating whether the WebSocket service host cleans up - /// the inactive sessions periodically. - /// - /// - /// true if the WebSocket service host cleans up the inactive sessions - /// every 60 seconds; otherwise, false. The default value is true. - /// public override bool KeepClean { get { return _sessions.KeepClean; @@ -178,39 +154,21 @@ namespace WebSocketSharp.Server } } - /// - /// Gets the path to the WebSocket service managed by the WebSocket service host. - /// - /// - /// A that contains an absolute path to the WebSocket service. - /// - public override string ServicePath { + public override string Path { get { return _path; } } - /// - /// Gets the number of the sessions to the WebSocket service. - /// - /// - /// An that contains the session count. - /// - public override int SessionCount { + public override WebSocketSessionManager Sessions { get { - return _sessions.Count; + return _sessions; } } - /// - /// Gets the manager of the sessions to the WebSocket service. - /// - /// - /// A that manages the sessions. - /// - public override WebSocketSessionManager Sessions { + public override Type Type { get { - return _sessions; + return typeof (T); } } @@ -218,12 +176,6 @@ namespace WebSocketSharp.Server #region Protected Methods - /// - /// Creates a new session to the WebSocket service. - /// - /// - /// A instance that represents a new session. - /// protected override WebSocketService CreateSession () { return _constructor (); diff --git a/websocket-sharp/Server/WebSocketServiceManager.cs b/websocket-sharp/Server/WebSocketServiceManager.cs index cef27f52..dd35de22 100644 --- a/websocket-sharp/Server/WebSocketServiceManager.cs +++ b/websocket-sharp/Server/WebSocketServiceManager.cs @@ -169,7 +169,7 @@ namespace WebSocketSharp.Server if (_state != ServerState.START) break; - count += host.SessionCount; + count += host.Sessions.Count; } return count; @@ -247,7 +247,7 @@ namespace WebSocketSharp.Server if (_state != ServerState.START) break; - result.Add (host.ServicePath, host.Sessions.Broadping (frame, millisecondsTimeout)); + result.Add (host.Path, host.Sessions.Broadping (frame, millisecondsTimeout)); } return result;