public void Init() { bus = new Core.Bus(); bus.Initialize(succubus => succubus.WithLoopback(clear:true)); bus.ReplyTo<BasicRequest, BasicResponse>(req => new BasicResponse { Message = "FROM SERVER: " + req.Message }); bus.ReplyTo<ChildRequest, ChildBase>(req => new ChildResponse1 { Message = "FROM SERVER: " + req.Message }); // bus.Defer<BasicRequest, BasicResponse>(); // bus.Defer<ChildRequest, ChildBase>(); }
public void DoubleDeferrence() { Core.Bus bus2 = new Core.Bus(); bus2.Initialize( config => config.WithZeroMQ() ); Thread.Sleep(500); bus2.Defer<BasicRequest, BasicResponse>(); var id = bus.Call(new BasicRequest() { Message = "Double deferrence" }); bus.Pickup<BasicRequest, BasicResponse>(id, (req, res) => { Assert.AreEqual("FROM SERVER: " + req.Message, res.Message); }); bus2.Pickup<BasicRequest, BasicResponse>(id, (request, response) => { Assert.AreEqual("FROM SERVER: " + request.Message, response.Message); }); }