mirror of
https://github.com/JKorf/CryptoExchange.Net.git
synced 2026-08-15 18:33:06 +00:00
Squashed commit of the following:
commit0571ed17a0Author: JKorf <jankorf91@gmail.com> Date: Sun Jul 10 19:56:27 2022 +0200 Fixed tests commit99c331b389Author: JKorf <jankorf91@gmail.com> Date: Sun Jul 10 16:41:14 2022 +0200 Updated version commit70f8bd203aAuthor: JKorf <jankorf91@gmail.com> Date: Sun Jul 10 16:36:00 2022 +0200 Finished up websocket refactoring commit89b517c936Author: JKorf <jankorf91@gmail.com> Date: Fri Jul 8 20:24:58 2022 +0200 wip commit91e33cc42cAuthor: JKorf <jankorf91@gmail.com> Date: Thu Jul 7 22:17:55 2022 +0200 wip
This commit is contained in:
@@ -27,36 +27,24 @@ namespace CryptoExchange.Net.Interfaces
|
||||
/// Websocket opened event
|
||||
/// </summary>
|
||||
event Action OnOpen;
|
||||
/// <summary>
|
||||
/// Websocket has lost connection to the server and is attempting to reconnect
|
||||
/// </summary>
|
||||
event Action OnReconnecting;
|
||||
/// <summary>
|
||||
/// Websocket has reconnected to the server
|
||||
/// </summary>
|
||||
event Action OnReconnected;
|
||||
|
||||
/// <summary>
|
||||
/// Unique id for this socket
|
||||
/// </summary>
|
||||
int Id { get; }
|
||||
/// <summary>
|
||||
/// Origin header
|
||||
/// </summary>
|
||||
string? Origin { get; set; }
|
||||
/// <summary>
|
||||
/// Encoding to use for sending/receiving string data
|
||||
/// </summary>
|
||||
Encoding? Encoding { get; set; }
|
||||
/// <summary>
|
||||
/// The max amount of outgoing messages per second
|
||||
/// </summary>
|
||||
int? RatelimitPerSecond { get; set; }
|
||||
/// <summary>
|
||||
/// The current kilobytes per second of data being received, averaged over the last 3 seconds
|
||||
/// </summary>
|
||||
double IncomingKbps { get; }
|
||||
/// <summary>
|
||||
/// Handler for byte data
|
||||
/// </summary>
|
||||
Func<byte[], string>? DataInterpreterBytes { get; set; }
|
||||
/// <summary>
|
||||
/// Handler for string data
|
||||
/// </summary>
|
||||
Func<string, string>? DataInterpreterString { get; set; }
|
||||
/// <summary>
|
||||
/// The uri the socket connects to
|
||||
/// </summary>
|
||||
Uri Uri { get; }
|
||||
@@ -69,41 +57,20 @@ namespace CryptoExchange.Net.Interfaces
|
||||
/// </summary>
|
||||
bool IsOpen { get; }
|
||||
/// <summary>
|
||||
/// Supported ssl protocols
|
||||
/// </summary>
|
||||
SslProtocols SSLProtocols { get; set; }
|
||||
/// <summary>
|
||||
/// The max time for no data being received before the connection is considered lost
|
||||
/// </summary>
|
||||
TimeSpan Timeout { get; set; }
|
||||
/// <summary>
|
||||
/// The interval at which to send a ping frame to the server
|
||||
/// </summary>
|
||||
TimeSpan KeepAliveInterval { get; set; }
|
||||
/// <summary>
|
||||
/// Set a proxy to use when connecting
|
||||
/// </summary>
|
||||
/// <param name="proxy"></param>
|
||||
void SetProxy(ApiProxy proxy);
|
||||
/// <summary>
|
||||
/// Connect the socket
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<bool> ConnectAsync();
|
||||
/// <summary>
|
||||
/// Receive and send messages over the connection. Resulting task should complete when closing the socket.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task ProcessAsync();
|
||||
Task<bool> ConnectAsync();
|
||||
/// <summary>
|
||||
/// Send data
|
||||
/// </summary>
|
||||
/// <param name="data"></param>
|
||||
void Send(string data);
|
||||
/// <summary>
|
||||
/// Reset socket when a connection is lost to prepare for a new connection
|
||||
/// Reconnect the socket
|
||||
/// </summary>
|
||||
void Reset();
|
||||
/// <returns></returns>
|
||||
Task ReconnectAsync();
|
||||
/// <summary>
|
||||
/// Close the connection
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user