feat: query identify ratelimiter when identifying instead of when connecting websocket
This commit is contained in:
		@@ -129,8 +129,6 @@ public class Shard
 | 
			
		||||
    {
 | 
			
		||||
        while (true)
 | 
			
		||||
        {
 | 
			
		||||
            await _ratelimiter.Identify(_info.ShardId);
 | 
			
		||||
 | 
			
		||||
            _logger.Information("Shard {ShardId}: Connecting to WebSocket", _info.ShardId);
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
@@ -149,7 +147,14 @@ public class Shard
 | 
			
		||||
        => _conn.Disconnect(closeStatus, null);
 | 
			
		||||
 | 
			
		||||
    private async Task SendIdentify()
 | 
			
		||||
        => await _conn.Send(new GatewayPacket
 | 
			
		||||
    {
 | 
			
		||||
        _logger.Debug("Shard {ShardId}: Requesting identify from ratelimiter", _info.ShardId);
 | 
			
		||||
 | 
			
		||||
        await _ratelimiter.Identify(_info.ShardId);
 | 
			
		||||
 | 
			
		||||
        _logger.Debug("Shard {ShardId}: Ratelimiter said OK to identify now", _info.ShardId);
 | 
			
		||||
 | 
			
		||||
        await _conn.Send(new GatewayPacket
 | 
			
		||||
        {
 | 
			
		||||
            Opcode = GatewayOpcode.Identify,
 | 
			
		||||
            Payload = new GatewayIdentify
 | 
			
		||||
@@ -167,6 +172,7 @@ public class Shard
 | 
			
		||||
                LargeThreshold = 50
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private async Task SendResume((string SessionId, int? LastSeq) arg)
 | 
			
		||||
        => await _conn.Send(new GatewayPacket
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user