Don't recreate/alter strings that never change.
This commit is contained in:
parent
2620ce3765
commit
bf61e6f6d8
2 changed files with 15 additions and 12 deletions
|
@ -295,13 +295,7 @@ namespace Maki
|
||||||
if (gi.Shards.HasValue)
|
if (gi.Shards.HasValue)
|
||||||
shards = gi.Shards.Value;
|
shards = gi.Shards.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Gateway.Contains("?"))
|
|
||||||
Gateway = Gateway.Substring(0, Gateway.IndexOf('?'));
|
|
||||||
|
|
||||||
if (!Gateway.EndsWith("/"))
|
|
||||||
Gateway += "/";
|
|
||||||
|
|
||||||
for (int i = 0; i < shards; i++)
|
for (int i = 0; i < shards; i++)
|
||||||
ShardClient.Create(i);
|
ShardClient.Create(i);
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,10 @@ namespace Maki.Gateway
|
||||||
/// </summary>
|
/// </summary>
|
||||||
class GatewayShard : IDisposable
|
class GatewayShard : IDisposable
|
||||||
{
|
{
|
||||||
|
private const string GATEWAY_URL = "{0}?v={1}&encoding=json";
|
||||||
|
|
||||||
|
private readonly string GatewayUrl;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Session key for continuing a resuming after disconnecting
|
/// Session key for continuing a resuming after disconnecting
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -54,13 +58,18 @@ namespace Maki.Gateway
|
||||||
/// Constructor
|
/// Constructor
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id">Shard Id</param>
|
/// <param name="id">Shard Id</param>
|
||||||
/// <param name="c">Parent DiscordClient instance</param>
|
/// <param name="client">Parent DiscordClient instance</param>
|
||||||
public GatewayShard(int id, Discord c)
|
/// <param name="connect">Whether to immediately call Connect()</param>
|
||||||
|
public GatewayShard(int id, Discord client, bool connect = true)
|
||||||
{
|
{
|
||||||
Id = id;
|
Id = id;
|
||||||
Client = c;
|
Client = client;
|
||||||
|
|
||||||
HeartbeatHandler = new GatewayHeartbeatManager(this);
|
HeartbeatHandler = new GatewayHeartbeatManager(this);
|
||||||
Connect();
|
GatewayUrl = string.Format(GATEWAY_URL, Client.Gateway, Discord.GATEWAY_VERSION);
|
||||||
|
|
||||||
|
if (connect)
|
||||||
|
Connect();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -165,7 +174,7 @@ namespace Maki.Gateway
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void Connect()
|
public void Connect()
|
||||||
{
|
{
|
||||||
WebSocket = new WebSocket($"{Client.Gateway}?v={Discord.GATEWAY_VERSION}&encoding=json");
|
WebSocket = new WebSocket(GatewayUrl);
|
||||||
|
|
||||||
// make wss not log anything on its own
|
// make wss not log anything on its own
|
||||||
WebSocket.Log.Output = (LogData logData, string path) => { };
|
WebSocket.Log.Output = (LogData logData, string path) => { };
|
||||||
|
|
Reference in a new issue