public async Task <Int32> OptOutEvents(String[] events, Func <Task> callBack) { var messageId = mMessageId++; WsMethod method = new WsMethod() { MessageId = messageId, MessageType = WsMessageType.method, Method = "optOutEvents", Arguments = events }; var jsonString = JsonConvert.SerializeObject(method); var jsonByte = System.Text.Encoding.UTF8.GetBytes(jsonString); mReplyHandler.Add(messageId, async message => { var result = JsonConvert.DeserializeObject <WsReply <Object> >(message); await callBack(); }); await mClient.SendAsync(new ArraySegment <byte>(jsonByte), WebSocketMessageType.Text, true, mCancellationToken); return(messageId); }
public async Task <Int32> CancelSkill(String skillId, Func <String, Task> callBack) { var messageId = mMessageId++; WsMethod method = new WsMethod() { MessageId = messageId, MessageType = WsMessageType.method, Method = "cancelSkill", Arguments = new object[] { skillId } }; var jsonString = JsonConvert.SerializeObject(method); var jsonByte = System.Text.Encoding.UTF8.GetBytes(jsonString); mReplyHandler.Add(messageId, async message => { var result = JsonConvert.DeserializeObject <WsReply <String> >(message); await callBack(result.Data); }); await mClient.SendAsync(new ArraySegment <byte>(jsonByte), WebSocketMessageType.Text, true, mCancellationToken); return(messageId); }