main
1using System;
2using System.IO;
3using ProtoBuf;
4using Rhino.Queues.Model;
5
6namespace common
7{
8 public class MessageHandler
9 {
10 DependencyRegistry registry;
11
12 public MessageHandler(DependencyRegistry registry)
13 {
14 this.registry = registry;
15 }
16
17 public void handler(Message item)
18 {
19 var payload = parse_payload_from(item);
20 registry
21 .get_all<Handler>()
22 .each(x => x.handle(payload));
23 }
24
25 object parse_payload_from(Message item)
26 {
27 using (var stream = new MemoryStream(item.Data))
28 {
29 return Serializer.NonGeneric.Deserialize(Type.GetType(item.Headers["type"]), stream);
30 }
31 }
32 }
33}