internal static void Resume(this DiscordSocketClient client) { var resume = new GatewayResume() { Token = client.Token, SessionId = client.SessionId, Sequence = client.Sequence }; client.Socket.Send(GatewayOpcode.Resume, resume); }
// TODO: good chance the socket will be disposed when attempting to resume so yah public async Task ResumeAsync() { var token = await _authenticator.GetToken(); var resume = new GatewayResume { Token = token, SessionId = lastReady?.SessionId, LastSequenceNumberReceived = lastGatewayEvent?.SequenceNumber.Value ?? 0 }; await _webMessageSocket.SendJsonObjectAsync(token); }
private async Task SendResumeRequestAsync() { Guard.IsNotNull(_sessionId, nameof(_sessionId)); Guard.IsNotNull(_token, nameof(_token)); var resume = new GatewayResume { Token = _token, SessionID = _sessionId, LastSequenceNumberReceived = _lastEventSequenceNumber, }; await SendMessageAsync(GatewayOperation.Resume, resume); }
public async void SendResumeRequest() { //Reconnect the socket var token = _authenticator.GetToken(); var payload = new GatewayResume { Token = token, SessionId = lastReady?.SessionId, LastSequenceNumberReceived = lastGatewayEventSeq, }; await SendMessageAsync("{\"op\":6,\"d\":" + JsonConvert.SerializeObject(payload) + "}"); // await _webMessageSocket.SendJsonObjectAsync(resume); }
internal async Task SendResumeAsync() { var resume = new GatewayResume { Token = Utilities.GetFormattedToken(this), SessionId = this._sessionId, SequenceNumber = Volatile.Read(ref this._lastSequence) }; var resume_payload = new GatewayPayload { OpCode = GatewayOpCode.Resume, Data = resume }; var resumestr = JsonConvert.SerializeObject(resume_payload); await this.WsSendAsync(resumestr).ConfigureAwait(false); }