//[Dependency] //public ISubscribes Biz { // get; // set; //} public override Reply Handle(string tag, UnsubscribeRequest msg) { Task.Factory.StartNew(() => { //this.Biz.Unsubscribe(tag, msg.FromUserName); }); return null; }
public override void Unsubscribe(IRpcController controller, UnsubscribeRequest request, Action <NoData> done) { throw new NotImplementedException(); }
public override void CallServerMethod(uint token, uint methodId, CodedInputStream stream) { switch (methodId) { case 1: { SubscribeRequest request = new SubscribeRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleSubscribe(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method PresenceService.Subscribe(bgs.protocol.presence.v1.SubscribeRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 2: { UnsubscribeRequest request = new UnsubscribeRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleUnsubscribe(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method PresenceService.Unsubscribe(bgs.protocol.presence.v1.UnsubscribeRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 3: { UpdateRequest request = new UpdateRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleUpdate(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method PresenceService.Update(bgs.protocol.presence.v1.UpdateRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 4: { QueryRequest request = new QueryRequest(); request.MergeFrom(stream); QueryResponse response = new QueryResponse(); BattlenetRpcErrorCode status = HandleQuery(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method PresenceService.Query(bgs.protocol.presence.v1.QueryRequest: {1}) returned bgs.protocol.presence.v1.QueryResponse: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 5: { OwnershipRequest request = new OwnershipRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleOwnership(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method PresenceService.Ownership(bgs.protocol.presence.v1.OwnershipRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 7: { SubscribeNotificationRequest request = new SubscribeNotificationRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleSubscribeNotification(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method PresenceService.SubscribeNotification(bgs.protocol.presence.v1.SubscribeNotificationRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } /*case 8: * { * MigrateOlympusCustomMessageRequest request = new MigrateOlympusCustomMessageRequest(); * request.MergeFrom(stream); * * * MigrateOlympusCustomMessageResponse response = new MigrateOlympusCustomMessageResponse(); * BattlenetRpcErrorCode status = HandleMigrateOlympusCustomMessage(request, response); * Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method PresenceService.MigrateOlympusCustomMessage(bgs.protocol.presence.v1.MigrateOlympusCustomMessageRequest: {1}) returned bgs.protocol.presence.v1.MigrateOlympusCustomMessageResponse: {2} status: {3}.", * GetCallerInfo(), request.ToString(), response.ToString(), status); * if (status == 0) * SendResponse(token, response); * else * SendResponse(token, status); * break; * }*/ default: Log.outError(LogFilter.ServiceProtobuf, "Bad method id {0}.", methodId); SendResponse(token, BattlenetRpcErrorCode.RpcInvalidMethod); break; } }
BattlenetRpcErrorCode HandleUnsubscribe(UnsubscribeRequest request, NoData response) { Log.outError(LogFilter.ServiceProtobuf, "{0} Client tried to call not implemented method PresenceService.Unsubscribe: {1}", GetCallerInfo(), request.ToString()); return(BattlenetRpcErrorCode.RpcNotImplemented); }
public async Task <IActionResult> Unsubscribe(UnsubscribeRequest request) { await NotificationService.Unsubscribe(request); return(Ok()); }
public override void CallServerMethod(uint token, uint methodId, CodedInputStream stream) { switch (methodId) { case 1: { SubscribeRequest request = new SubscribeRequest(); request.MergeFrom(stream); SubscribeResponse response = new SubscribeResponse(); BattlenetRpcErrorCode status = HandleSubscribe(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method FriendsService.Subscribe(bgs.protocol.friends.v1.SubscribeRequest: {1}) returned bgs.protocol.friends.v1.SubscribeResponse: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 2: { SendInvitationRequest request = new SendInvitationRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleSendInvitation(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method FriendsService.SendInvitation(bgs.protocol.SendInvitationRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 3: { GenericInvitationRequest request = new GenericInvitationRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleAcceptInvitation(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method FriendsService.AcceptInvitation(bgs.protocol.GenericInvitationRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 4: { GenericInvitationRequest request = new GenericInvitationRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleRevokeInvitation(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method FriendsService.RevokeInvitation(bgs.protocol.GenericInvitationRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 5: { GenericInvitationRequest request = new GenericInvitationRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleDeclineInvitation(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method FriendsService.DeclineInvitation(bgs.protocol.GenericInvitationRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 6: { GenericInvitationRequest request = new GenericInvitationRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleIgnoreInvitation(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method FriendsService.IgnoreInvitation(bgs.protocol.GenericInvitationRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 7: { AssignRoleRequest request = new AssignRoleRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleAssignRole(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method FriendsService.AssignRole(bgs.protocol.friends.v1.AssignRoleRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 8: { GenericFriendRequest request = new GenericFriendRequest(); request.MergeFrom(stream); GenericFriendResponse response = new GenericFriendResponse(); BattlenetRpcErrorCode status = HandleRemoveFriend(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method FriendsService.RemoveFriend(bgs.protocol.friends.v1.GenericFriendRequest: {1}) returned bgs.protocol.friends.v1.GenericFriendResponse: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 9: { ViewFriendsRequest request = new ViewFriendsRequest(); request.MergeFrom(stream); ViewFriendsResponse response = new ViewFriendsResponse(); BattlenetRpcErrorCode status = HandleViewFriends(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method FriendsService.ViewFriends(bgs.protocol.friends.v1.ViewFriendsRequest: {1}) returned bgs.protocol.friends.v1.ViewFriendsResponse: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 10: { UpdateFriendStateRequest request = new UpdateFriendStateRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleUpdateFriendState(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method FriendsService.UpdateFriendState(bgs.protocol.friends.v1.UpdateFriendStateRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 11: { UnsubscribeRequest request = new UnsubscribeRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleUnsubscribe(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method FriendsService.Unsubscribe(bgs.protocol.friends.v1.UnsubscribeRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 12: { GenericFriendRequest request = new GenericFriendRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleRevokeAllInvitations(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method FriendsService.RevokeAllInvitations(bgs.protocol.friends.v1.GenericFriendRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } /*case 13: * { * GetFriendListRequest request = new GetFriendListRequest(); * request.MergeFrom(stream); * * * GetFriendListResponse response = new GetFriendListResponse(); * BattlenetRpcErrorCode status = HandleGetFriendList(request, response); * Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method FriendsService.GetFriendList(bgs.protocol.friends.v1.GetFriendListRequest: {1}) returned bgs.protocol.friends.v1.GetFriendListResponse: {2} status: {3}.", * GetCallerInfo(), request.ToString(), response.ToString(), status); * if (status == 0) * SendResponse(token, response); * else * SendResponse(token, status); * break; * } * case 14: * { * CreateFriendshipRequest request = new CreateFriendshipRequest(); * request.MergeFrom(stream); * * * NoData response = new NoData(); * BattlenetRpcErrorCode status = HandleCreateFriendship(request, response); * Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method FriendsService.CreateFriendship(bgs.protocol.friends.v1.CreateFriendshipRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", * GetCallerInfo(), request.ToString(), response.ToString(), status); * if (status == 0) * SendResponse(token, response); * else * SendResponse(token, status); * break; * }*/ default: Log.outError(LogFilter.ServiceProtobuf, "Bad method id {0}.", methodId); SendResponse(token, BattlenetRpcErrorCode.RpcInvalidMethod); break; } }
/// <summary> /// Unsubscribe /// </summary> /// <param name="request">Unsubscribe request</param> /// <returns>Unsubscribe Response from the service</returns> /// <remarks> /// The Unsubscribe action deletes a subscription. If the subscription requires authentication for /// deletion, only the owner of the subscription or the its topic's owner /// can unsubscribe, and an AWS signature is required. If the /// Unsubscribe call does not require authentication and the requester is not /// the subscription owner, a final cancellation message is delivered to the /// endpoint, so that the endpoint owner can easily resubscribe to the topic if /// the Unsubscribe request was unintended. /// </remarks> public UnsubscribeResponse Unsubscribe(UnsubscribeRequest request) { return Invoke<UnsubscribeResponse>(ConvertUnsubscribe(request)); }
public override void Unsubscribe(IRpcController controller, UnsubscribeRequest request, Action<NoData> done) { ProtoOutputBuffer.Write(request.GetType(), request.ToString()); }
private void UnsubscribeRequest(UnsubscribeRequest aRequest) { Validate(aRequest); UnsubscribeSymbolsBySessionID(aRequest.User.ID, new SymbolItem[] { aRequest.Symbol }); }
public void UnsubscribeAsync(UnsubscribeRequest request, AmazonServiceCallback <UnsubscribeRequest, UnsubscribeResponse> callback, AsyncOptions options = null) { throw new System.NotImplementedException(); }
public Task <UnsubscribeResponse> UnsubscribeAsync(UnsubscribeRequest request, CancellationToken cancellationToken = new CancellationToken()) { throw new NotImplementedException(); }
public UnsubscribeResponse Unsubscribe(UnsubscribeRequest request) { throw new NotImplementedException(); }
void IWSEventingContract.Unsubscribe(UnsubscribeRequest request) { _eventingServer.Unsubscribe(request); }
private void ClientThread(Socket client) { Console.WriteLine("Client thread started"); while (true) { //read byte[] rcvLenBytes = new byte[4]; client.Receive(rcvLenBytes); int rcvLen = BitConverter.ToInt32(rcvLenBytes, 0); byte[] dataFromClient = new byte[rcvLen]; client.Receive(dataFromClient); string message = Encoding.ASCII.GetString(dataFromClient, 0, rcvLen); Console.WriteLine(message); Request request = JsonSerializer.Deserialize <Request>(Encoding.ASCII.GetString(dataFromClient, 0, rcvLen)); if (message.Equals("stop")) { Console.WriteLine(message); break; } //respond switch (request.Type) { case RequestType.AddPost: AddPostRequest addPostRequest = JsonSerializer.Deserialize <AddPostRequest>(message); Post newPost = DbPersistence.AddPost(addPostRequest.Post); string responseMessageAddPost = JsonSerializer.Serialize(new AddPostRequest(newPost)); int toSendLenAddPost = Encoding.ASCII.GetByteCount(responseMessageAddPost); byte[] toSendBytesAddPost = Encoding.ASCII.GetBytes(responseMessageAddPost); byte[] toSendLenBytesAddPost = BitConverter.GetBytes(toSendLenAddPost); client.Send(toSendLenBytesAddPost); client.Send(toSendBytesAddPost); break; case RequestType.DeletePost: DeletePostRequest deletePostRequest = JsonSerializer.Deserialize <DeletePostRequest>(message); DbPersistence.DeletePost(deletePostRequest.PostId); int toSendDelPost = Encoding.ASCII.GetByteCount(message); byte[] toSendBytesDelPost = Encoding.ASCII.GetBytes(message); byte[] toSendLenBytesDelPost = BitConverter.GetBytes(toSendDelPost); client.Send(toSendLenBytesDelPost); client.Send(toSendBytesDelPost); break; case RequestType.DeleteUser: DeleteUserRequest deleteUserRequest = JsonSerializer.Deserialize <DeleteUserRequest>(message); DbPersistence.DeleteUser(deleteUserRequest.UserId); int toSendDelUser = Encoding.ASCII.GetByteCount(message); byte[] toSendBytesDelUser = Encoding.ASCII.GetBytes(message); byte[] toSendLenBytesDelUser = BitConverter.GetBytes(toSendDelUser); client.Send(toSendLenBytesDelUser); client.Send(toSendBytesDelUser); break; case RequestType.GetPosts: List <Post> posts = DbPersistence.GetPosts(); if (posts == null) { posts = new List <Post>(); } string getPostsResponseMessage = JsonSerializer.Serialize(new GetPostsResponse(posts)); int toGetPosts = Encoding.ASCII.GetByteCount(getPostsResponseMessage); byte[] toSendLenGetPosts = BitConverter.GetBytes(toGetPosts); byte[] dataToClientGetPosts = Encoding.ASCII.GetBytes(getPostsResponseMessage); client.Send(toSendLenGetPosts); client.Send(dataToClientGetPosts); break; case RequestType.GetUsers: List <User> users = DbPersistence.GetUsers(); if (users == null) { users = new List <User>(); } string getUsersResponseMessage = JsonSerializer.Serialize(new GetUsersResponse(users)); int toGetUsers = Encoding.ASCII.GetByteCount(getUsersResponseMessage); byte[] toSendLenGetUsers = BitConverter.GetBytes(toGetUsers); byte[] dataToClientGetUsers = Encoding.ASCII.GetBytes(getUsersResponseMessage); client.Send(toSendLenGetUsers); client.Send(dataToClientGetUsers); break; case RequestType.PostUser: PostUserRequest postUserRequest = JsonSerializer.Deserialize <PostUserRequest>(message); User newUser = DbPersistence.AddUser(postUserRequest.User); string responseMessagePostUser = JsonSerializer.Serialize(new PostUserRequest(newUser)); int toSendPostUser = Encoding.ASCII.GetByteCount(responseMessagePostUser); byte[] toSendBytesPostUser = Encoding.ASCII.GetBytes(responseMessagePostUser); byte[] toSendLenBytesPostUser = BitConverter.GetBytes(toSendPostUser); client.Send(toSendLenBytesPostUser); client.Send(toSendBytesPostUser); break; case RequestType.UpdatePost: UpdatePostRequest updatePostRequest = JsonSerializer.Deserialize <UpdatePostRequest>(message); DbPersistence.UpdatePost(updatePostRequest.Post); int toSendUpdatePost = Encoding.ASCII.GetByteCount(message); byte[] toSendBytesUpdatePost = Encoding.ASCII.GetBytes(message); byte[] toSendLenBytesUpdatePost = BitConverter.GetBytes(toSendUpdatePost); client.Send(toSendLenBytesUpdatePost); client.Send(toSendBytesUpdatePost); break; case RequestType.UpdateUser: UpdateUserRequest updateUserRequest = JsonSerializer.Deserialize <UpdateUserRequest>(message); DbPersistence.UpdateUser(updateUserRequest.User); int toSendUpdateUser = Encoding.ASCII.GetByteCount(message); byte[] toSendBytesUpdateUser = Encoding.ASCII.GetBytes(message); byte[] toSendLenBytesUpdateUser = BitConverter.GetBytes(toSendUpdateUser); client.Send(toSendLenBytesUpdateUser); client.Send(toSendBytesUpdateUser); break; case RequestType.AddComment: AddCommentRequest addCommentRequest = JsonSerializer.Deserialize <AddCommentRequest>(message); Comment newComment = DbPersistence.AddComment(addCommentRequest.Comment); string responseMessageAddComment = JsonSerializer.Serialize(new AddCommentRequest(newComment)); int toSendAddComment = Encoding.ASCII.GetByteCount(responseMessageAddComment); byte[] toSendBytesAddComment = Encoding.ASCII.GetBytes(responseMessageAddComment); byte[] toSendLenBytesAddComment = BitConverter.GetBytes(toSendAddComment); client.Send(toSendLenBytesAddComment); client.Send(toSendBytesAddComment); break; case RequestType.SendMessage: SendMessageRequest sendMessageRequest = JsonSerializer.Deserialize <SendMessageRequest>(message); Message newMessage = DbPersistence.SendMessage(sendMessageRequest.Message); string responseMessageSendMessage = JsonSerializer.Serialize(new SendMessageRequest(newMessage)); int toSendMessage = Encoding.ASCII.GetByteCount(responseMessageSendMessage); byte[] toSendBytesMessage = Encoding.ASCII.GetBytes(responseMessageSendMessage); byte[] toSendLenBytesMessage = BitConverter.GetBytes(toSendMessage); client.Send(toSendLenBytesMessage); client.Send(toSendBytesMessage); break; case RequestType.AddConversation: AddConversationRequest addConversation = JsonSerializer.Deserialize <AddConversationRequest>(message); List <UserConversation > newUserConversations = DbPersistence.AddConversation(addConversation.Conversation, addConversation.CreatorId, addConversation.WithWhomId); string responseMessageAddConversation = JsonSerializer.Serialize(new AddConversationResponse(newUserConversations)); int toSendAddConversation = Encoding.ASCII.GetByteCount(responseMessageAddConversation); byte[] toSendBytesAddConversation = Encoding.ASCII.GetBytes(responseMessageAddConversation); byte[] toSendLenBytesConversation = BitConverter.GetBytes(toSendAddConversation); client.Send(toSendLenBytesConversation); client.Send(toSendBytesAddConversation); break; case RequestType.DeleteComment: DeleteCommentRequest deleteCommentRequest = JsonSerializer.Deserialize <DeleteCommentRequest>(message); int deletedCommentId = DbPersistence.DeleteComment(deleteCommentRequest.CommentId); string responseMessageDeleteComment = JsonSerializer.Serialize(new DeleteCommentRequest(deletedCommentId)); int toSendDeleteComment = Encoding.ASCII.GetByteCount(responseMessageDeleteComment); byte[] toSendBytesDeleteComment = Encoding.ASCII.GetBytes(responseMessageDeleteComment); byte[] toSendLenBytesDeleteComment = BitConverter.GetBytes(toSendDeleteComment); client.Send(toSendLenBytesDeleteComment); client.Send(toSendBytesDeleteComment); break; case RequestType.MakeFriendRequest: MakeFriendRequest makeFriendRequest = JsonSerializer.Deserialize <MakeFriendRequest>(message); FriendRequestNotification friendRequestNotification = DbPersistence.MakeFriendRequestNotification(makeFriendRequest.FriendRequestNotification); Console.WriteLine(friendRequestNotification.FriendRequestId); string responseMakeFriendRequest = JsonSerializer.Serialize(new MakeFriendRequest(friendRequestNotification)); int toSendMakeFriends = Encoding.ASCII.GetByteCount(responseMakeFriendRequest); byte[] toSendBytesMakeFriendRequest = Encoding.ASCII.GetBytes(responseMakeFriendRequest); byte[] toSendLenBytesMakeFriendRequest = BitConverter.GetBytes(toSendMakeFriends); client.Send(toSendLenBytesMakeFriendRequest); client.Send(toSendBytesMakeFriendRequest); break; case RequestType.RespondToFriendRequest: RespondToFriendRequest respondToFriendRequest = JsonSerializer.Deserialize <RespondToFriendRequest>(message); List <UserFriend> userFriends = DbPersistence.RespondToFriendRequest(respondToFriendRequest.RespondStatus, respondToFriendRequest.FriendRequestNotification); string responseToFriendResponse = JsonSerializer.Serialize(new RespondToFriendResponse(userFriends)); int toSendRespondFriend = Encoding.ASCII.GetByteCount(responseToFriendResponse); byte[] toSendBytesRespondFriend = Encoding.ASCII.GetBytes(responseToFriendResponse); byte[] toSendLenBytesRespondFriend = BitConverter.GetBytes(toSendRespondFriend); client.Send(toSendLenBytesRespondFriend); client.Send(toSendBytesRespondFriend); break; case RequestType.SubscribeToUser: SubscribeToUserRequest subscribeToUserRequest = JsonSerializer.Deserialize <SubscribeToUserRequest>(message); UserSubscription userSubscription = DbPersistence.SubscribeToUser(subscribeToUserRequest.UserSubscription); string responseToSubscribeToUser = JsonSerializer.Serialize(new SubscribeToUserRequest(userSubscription)); int toSendSubscribeToUser = Encoding.ASCII.GetByteCount(responseToSubscribeToUser); byte[] toSendBytesSubscribeToUser = Encoding.ASCII.GetBytes(responseToSubscribeToUser); byte[] toSendLenBytesSubscribeToUser = BitConverter.GetBytes(toSendSubscribeToUser); client.Send(toSendLenBytesSubscribeToUser); client.Send(toSendBytesSubscribeToUser); break; case RequestType.UnsubscribeRequest: UnsubscribeRequest unsubscribeRequest = JsonSerializer.Deserialize <UnsubscribeRequest>(message); int unSubIndex = DbPersistence.UnsubscribeFromUser(unsubscribeRequest.SubscriptionId); string responseUnsubscribe = JsonSerializer.Serialize(new UnsubscribeRequest(unSubIndex)); int toSendUnSub = Encoding.ASCII.GetByteCount(responseUnsubscribe); byte[] toSendBytesUnsubscribe = Encoding.ASCII.GetBytes(responseUnsubscribe); byte[] toSendLenBytesUnsubscribe = BitConverter.GetBytes(toSendUnSub); client.Send(toSendLenBytesUnsubscribe); client.Send(toSendBytesUnsubscribe); break; case RequestType.DeleteFriendRequest: DeleteFriendRequest deleteFriendRequest = JsonSerializer.Deserialize <DeleteFriendRequest>(message); int deleteFriendIndex = DbPersistence.DeleteFriend(deleteFriendRequest.UserFriendId); string responseDeleteFriend = JsonSerializer.Serialize(new DeleteFriendRequest(deleteFriendIndex)); int toSendDeleteFriend = Encoding.ASCII.GetByteCount(responseDeleteFriend); byte[] toSendBytesDeleteFriendRequest = Encoding.ASCII.GetBytes(responseDeleteFriend); byte[] toSendBytesLenDeleteFriendRequest = BitConverter.GetBytes(toSendDeleteFriend); client.Send(toSendBytesLenDeleteFriendRequest); client.Send(toSendBytesDeleteFriendRequest); break; case RequestType.MakeReactionRequest: MakeReactionRequest makeReactionRequest = JsonSerializer.Deserialize <MakeReactionRequest>(message); PostReaction postReactionResult = DbPersistence.MakePostReaction(makeReactionRequest.PostReaction); string responseMakePostReaction = JsonSerializer.Serialize(new MakeReactionRequest(postReactionResult)); int toSendMakePostReaction = Encoding.ASCII.GetByteCount(responseMakePostReaction); byte[] toSendBytesMakePostReaction = Encoding.ASCII.GetBytes(responseMakePostReaction); byte[] toSendBytesLenMakePostReaction = BitConverter.GetBytes(toSendMakePostReaction); client.Send(toSendBytesLenMakePostReaction); client.Send(toSendBytesMakePostReaction); break; case RequestType.DeleteReactionRequest: DeleteReactionRequest deleteReactionRequest = JsonSerializer.Deserialize <DeleteReactionRequest>(message); int deleteReactionResult = DbPersistence.DeleteReaction(deleteReactionRequest.PostReactionId); string responseDeletePostReaction = JsonSerializer.Serialize(new DeleteReactionRequest(deleteReactionResult)); int toSendDeletePostReaction = Encoding.ASCII.GetByteCount(responseDeletePostReaction); byte[] toSendBytesMakeDeleteReaction = Encoding.ASCII.GetBytes(responseDeletePostReaction); byte[] toSendBytesLenMakeDeleteReaction = BitConverter.GetBytes(toSendDeletePostReaction); client.Send(toSendBytesLenMakeDeleteReaction); client.Send(toSendBytesMakeDeleteReaction); break; case RequestType.UpdateReactionRequest: UpdateReactionRequest updateReactionRequest = JsonSerializer.Deserialize <UpdateReactionRequest>(message); PostReaction postReactionResultFromUpdating = DbPersistence.UpdatePostReaction(updateReactionRequest.PostReaction); string updateReactionResponse = JsonSerializer.Serialize(new UpdateReactionRequest(postReactionResultFromUpdating)); int toSendUpdateBytes = Encoding.ASCII.GetByteCount(updateReactionResponse); byte[] toSendBytesMakeUpdateReaction = Encoding.ASCII.GetBytes(updateReactionResponse); byte[] toSendLenBytesMakeUpdateReaction = BitConverter.GetBytes(toSendUpdateBytes); client.Send(toSendLenBytesMakeUpdateReaction); client.Send(toSendBytesMakeUpdateReaction); break; } } // close connection client.Close(); }
public override void Unsubscribe(Google.ProtocolBuffers.IRpcController controller, UnsubscribeRequest request, System.Action <bnet.protocol.NoData> done) { throw new NotImplementedException(); }
public override void Unsubscribe(Google.ProtocolBuffers.IRpcController controller, UnsubscribeRequest request, System.Action<bnet.protocol.NoData> done) { throw new NotImplementedException(); }
public override void CallServerMethod(uint token, uint methodId, CodedInputStream stream) { switch (methodId) { case 1: { SubscribeRequest request = new SubscribeRequest(); request.MergeFrom(stream); SubscribeResponse response = new SubscribeResponse(); BattlenetRpcErrorCode status = HandleSubscribe(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method UserManagerService.Subscribe(bgs.protocol.user_manager.v1.SubscribeRequest: {1}) returned bgs.protocol.user_manager.v1.SubscribeResponse: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 10: { AddRecentPlayersRequest request = new AddRecentPlayersRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleAddRecentPlayers(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method UserManagerService.AddRecentPlayers(bgs.protocol.user_manager.v1.AddRecentPlayersRequest: {1}) returned bgs.protocol.user_manager.v1.AddRecentPlayersResponse: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 11: { ClearRecentPlayersRequest request = new ClearRecentPlayersRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleClearRecentPlayers(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method UserManagerService.ClearRecentPlayers(bgs.protocol.user_manager.v1.ClearRecentPlayersRequest: {1}) returned bgs.protocol.user_manager.v1.ClearRecentPlayersResponse: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 20: { BlockPlayerRequest request = new BlockPlayerRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleBlockPlayer(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method UserManagerService.BlockPlayer(bgs.protocol.user_manager.v1.BlockPlayerRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 21: { UnblockPlayerRequest request = new UnblockPlayerRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleUnblockPlayer(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method UserManagerService.UnblockPlayer(bgs.protocol.user_manager.v1.UnblockPlayerRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 40: { BlockPlayerRequest request = new BlockPlayerRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleBlockPlayerForSession(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method UserManagerService.BlockPlayerForSession(bgs.protocol.user_manager.v1.BlockPlayerRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 50: { EntityId request = new EntityId(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleLoadBlockList(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method UserManagerService.LoadBlockList(bgs.protocol.EntityId: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } case 51: { UnsubscribeRequest request = new UnsubscribeRequest(); request.MergeFrom(stream); NoData response = new NoData(); BattlenetRpcErrorCode status = HandleUnsubscribe(request, response); Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method UserManagerService.Unsubscribe(bgs.protocol.user_manager.v1.UnsubscribeRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.", GetCallerInfo(), request.ToString(), response.ToString(), status); if (status == 0) { SendResponse(token, response); } else { SendResponse(token, status); } break; } default: Log.outError(LogFilter.ServiceProtobuf, "Bad method id {0}.", methodId); SendResponse(token, BattlenetRpcErrorCode.RpcInvalidMethod); break; } }
public override void Unsubscribe(IRpcController controller, UnsubscribeRequest request, Action<NO_RESPONSE> done) { throw new NotImplementedException(); }
private static void SubscribeToStreams(BitstampWebsocketClient client) { client.Streams.ErrorStream.Subscribe(x => Log.Warning($"Error received, message: {x?.Message}")); client.Streams.SubscriptionSucceededStream.Subscribe(x => { Log.Information($"SUCESS!"); Log.Information($"{x?.Symbol} {x?.Channel} {x}"); }); client.Streams.UnsubscriptionSucceededStream.Subscribe(x => { Log.Information($"Unsubscribed!"); Log.Information($"{x?.Symbol} {x?.Channel} {x}"); }); /* * client.Streams.OrderBookStream.Subscribe(x => * { * Log.Information($"Order book"); * Log.Information($"{x.Symbol} {x.Channel} {x.Data?.Asks.FirstOrDefault()?.Price} {x.Data?.Asks.FirstOrDefault()?.Amount??0} {x.Data?.Asks.FirstOrDefault()?.Side}"); * Log.Information($"{x.Symbol} {x.Channel} {x.Data?.Bids.FirstOrDefault()?.Price} {x.Data?.Bids.FirstOrDefault()?.Amount ?? 0} {x.Data?.Bids.FirstOrDefault()?.Side}"); * });*/ client.Streams.OrdersStream.Subscribe(x => { //Log.Information($"{x.Data} {x.Data.Asks[0]} {x.Data.EventBids[0]}"); //Log.Information($"{x.Symbol} {x.Data.Channel} {x.Data.Amount}"); }); client.Streams.OrderBookDetailStream.Subscribe(x => { Log.Information($"Order book detail snapshot"); Log.Information($"{x.Symbol} {x.Channel} {x.Data?.Asks.FirstOrDefault()?.Price} {x.Data?.Asks.FirstOrDefault()?.Amount ?? 0} {x.Data?.Asks.FirstOrDefault()?.Side}"); Log.Information($"{x.Symbol} {x.Channel} {x.Data?.Bids.FirstOrDefault()?.Price} {x.Data?.Bids.FirstOrDefault()?.Amount ?? 0} {x.Data?.Bids.FirstOrDefault()?.Side}"); var unSubOrderBookDetail = new UnsubscribeRequest("btcusd", Channel.OrderBookDetail); client.Send(unSubOrderBookDetail).Wait(); }); client.Streams.OrderBookDiffStream.Subscribe(x => { Log.Information($"Order book diff"); Log.Information($"{x.Symbol} {x.Channel} {x.Data?.Asks.FirstOrDefault()?.Price} {x.Data?.Asks.FirstOrDefault()?.Amount ?? 0} {x.Data?.Asks.FirstOrDefault()?.Side}"); Log.Information($"{x.Symbol} {x.Channel} {x.Data?.Bids.FirstOrDefault()?.Price} {x.Data?.Bids.FirstOrDefault()?.Amount ?? 0} {x.Data?.Bids.FirstOrDefault()?.Side}"); }); client.Streams.HeartbeatStream.Subscribe(x => Log.Information($"Heartbeat received, product: {x?.Channel}, seq: {x?.Event}")); /* * client.Streams.TickerStream.Subscribe(x => * Log.Information($"Ticker {x.ProductId}. Bid: {x.BestBid} Ask: {x.BestAsk} Last size: {x.LastSize}, Price: {x.Price}") * ); * * client.Streams.TradesStream.Subscribe(x => * { * Log.Information($"Trade executed [{x.ProductId}] {x.TradeSide} price: {x.Price} size: {x.Size}"); * }); * * client.Streams.OrderBookSnapshotStream.Subscribe(x => * { * Log.Information($"OB snapshot [{x.ProductId}] bids: {x.Bids.Length}, asks: {x.Asks.Length}"); * }); * * client.Streams.OrderBookUpdateStream.Subscribe(x => * { * Log.Information($"OB updates [{x.ProductId}] changes: {x.Changes.Length}"); * }); */ // example of unsubscribe requests //Task.Run(async () => //{ // await Task.Delay(5000); // await client.Send(new BookSubscribeRequest("XBTUSD") {IsUnsubscribe = true}); // await Task.Delay(5000); // await client.Send(new TradesSubscribeRequest() {IsUnsubscribe = true}); //}); }