public async Task <IReadOnlyCollection <ChatMessage> > LastMessages(uint count, CancellationToken token = default) { var messages = await database.ListRangeAsync(chatKey, 0, count); return(messages.Where(mes => mes.HasValue) .Select(mes => RedisChatMessageSerializer.FromString(chatRoom, mes.ToString())).ToArray()); }
public async Task <ChatMessage> ReceiveMessage(CancellationToken token = default) { var incoming = await messageQueue.ReadAsync(token); return(RedisChatMessageSerializer.FromString(chatRoom, incoming.Message)); }