Example #1
0
 private void Receive(OnPacketsEvent e)
 {
     e.Packets.Select(AsSendData)
     .Where(data => data != null)
     .GroupBy(data => data.From, data => data.Packet)
     .Select(group => new OnSendEvent(group.Key, group))
     .ForEach(observable.Publish);
 }
Example #2
0
 private void Receive(OnPacketsEvent e)
 {
     e.Packets.Select(AsPingHeader)
     .Where(header => header != null)
     .Select(header => header.From)
     .Distinct()
     .Select(from => new OnPingEvent(from))
     .ForEach(observable.Publish);
 }
 private void Receive(OnPacketsEvent e)
 {
     e.Packets.Select(AsSessionHeader)
     .Where(header => header != null)
     .Select(header => header.Session)
     .Distinct()
     .Select(session => new OnSessionEvent(session))
     .ForEach(observable.Publish);
 }
Example #4
0
        private void Receive(OnPacketsEvent e)
        {
            var items = e.Packets.Select(AsRoomsHeader)
                        .Where(header => header != null)
                        .SelectMany(header => header.Rooms)
                        .Distinct()
                        .Select(pair => new RoomItem(pair.Key, pair.Value))
                        .ToList();

            observable.Publish(new OnRoomsEvent(items));
        }