I'm trying to understand how to connect consumers to an existing bus like explained here, but I don't understand how this thing should work

my code:

public interface IMessage { string Text { get; set; } } public class Program { public static void Main() { var bus = Bus.Factory.CreateUsingRabbitMq(sbc => { var host = sbc.Host(new Uri("rabbitmq://localhost"), h => { h.Username("guest"); h.Password("guest"); }); }); bus.Start(); bus.ConnectConsumer<TestConsumer>(); bus.Publish<IMessage>(new { Text = "Hi" }); Console.WriteLine("Press any key to exit"); Console.ReadKey(); bus.Stop(); } } public class TestConsumer : IConsumer<IMessage> { public Task Consume(ConsumeContext<IMessage> context) { Console.Out.WriteLineAsync($"Received: {context.Message.Text}"); return Task.CompletedTask; } }

I don't understand where the message is sent since aren't there any queue specified, and therefore I don't know how the message can be consumed.

Is there a way to specify on what queue the message will be sent and written OUTSIDE the bus definition?

What am I missing?