/* * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals. * Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ using System; namespace QuantConnect.Brokerages { /// /// Wrapper for WebSocket4Net to enhance testability /// public interface IWebSocket { /// /// Wraps constructor /// /// The target websocket url /// The websocket session token void Initialize(string url, string sessionToken = null); /// /// Wraps send method /// /// void Send(string data); /// /// Wraps Connect method /// void Connect(); /// /// Wraps Close method /// void Close(); /// /// Wraps IsOpen /// bool IsOpen { get; } /// /// on message event /// event EventHandler Message; /// /// On error event /// event EventHandler Error; /// /// On Open event /// event EventHandler Open; /// /// On Close event /// event EventHandler Closed; } }