public void EndpointSendAndReceive() { using (var management = new RabbitEndpointManagement(_queue)) { management.BindQueue(_queue.Name, _exchange.Name, ExchangeType.Fanout, "", null); } IMessageSerializer serializer = new JsonMessageSerializer(); var message = new BugsBunny { Food = "Carrot" }; IDuplexTransport transport = _factory.BuildLoopback(new TransportSettings(_exchange)); IOutboundTransport error = _factory.BuildError(new TransportSettings(_error)); var sendEndpoint = new Endpoint(_exchange, serializer, transport, error, new InMemoryInboundMessageTracker(5)); sendEndpoint.Send(message); var receiveEndpoint = new Endpoint(_queue, serializer, transport, error, new InMemoryInboundMessageTracker(5)); receiveEndpoint.Receive(o => { return(b => { var bb = (BugsBunny)b; Console.WriteLine(bb.Food); }); }, TimeSpan.Zero); }
public void TransportSendAndReceive() { using (var management = new RabbitEndpointManagement(_queue)) { management.BindQueue(_queue.Name, _exchange.Name, ExchangeType.Fanout, "", null); } IOutboundTransport t = _factory.BuildOutbound(new TransportSettings(_exchange)); var context = new SendContext <string>("dru"); context.SetBodyWriter(stream => { byte[] buffer = Encoding.UTF8.GetBytes(context.Message); stream.Write(buffer, 0, buffer.Length); }); t.Send(context); IInboundTransport i = _factory.BuildInbound(new TransportSettings(_queue)); i.Receive(s => { return(ss => { string name; using (var stream = new MemoryStream()) { ss.CopyBodyTo(stream); name = Encoding.UTF8.GetString(stream.ToArray()); } Assert.AreEqual("dru", name); Console.WriteLine(name); }); }, 1.Minutes()); }