private void HandleClientMessageReceivedOrSent(MessageReceivedEventArgs e) { Console.WriteLine("Starting handle"); var dto = CampfireChatSerializer.Deserialize(e); switch (dto.GetType().Name) { case nameof(ChatMessageDto): var message = (ChatMessageDto)dto; Console.WriteLine("Calling handle now"); ChatRoomTable.GetOrCreate(message.BroadcastMessage.DestinationId).HandleMessageReceived(message); break; } }
public ChatRoomContext ConfigurePrivateChatRoom(IdentityHash hash, byte[] symmetricKey) { CampfireNetClient.IdentityManager.AddMulticastKey(hash, symmetricKey); return(ChatRoomTable.GetOrCreate(hash)); }
public ChatRoomContext ConfigurePublicChatRoom(string name) { var roomHashBytes = Encoding.UTF8.GetBytes(name); return(ChatRoomTable.GetOrCreate(IdentityHash.GetFlyweight(CryptoUtil.GetHash(roomHashBytes)))); }
public ChatRoomViewModel CreateChatRoomViewModelByIdentityHashAndSubscribe(IdentityHash chatroomIdentityHash, ChatMessageReceivedCallback messageReceivedCallback) { var chatRoomContext = ChatRoomTable.GetOrCreate(chatroomIdentityHash); return(chatRoomContext.CreateViewModelAndSubscribe(messageReceivedCallback)); }