diff --git a/amqp_relay.ml b/amqp_relay.ml index d8d496a..64ada2f 100644 --- a/amqp_relay.ml +++ b/amqp_relay.ml @@ -288,10 +288,15 @@ let handle_method conn channel m = then return () else send_method conn channel Exchange_declare_ok | Exchange_declare (exchange, type_, passive, durable, no_wait, arguments) -> + let (reply_sink, reply_name) = + if no_wait + then ("", "") + else (conn.name.Node.label, "Exchange_declare_reply") + in Node.send_ignore' "factory" (Message.create (Sexp.Str type_, Sexp.Arr [Sexp.Str exchange], - Sexp.Str conn.name.Node.label, - Sexp.Str "Exchange_declare_reply")) + Sexp.Str reply_sink, + Sexp.Str reply_name)) | Queue_declare (queue, passive, durable, exclusive, auto_delete, no_wait, arguments) -> let queue = (if queue = "" then Uuid.create () else queue) in conn.recent_queue_name <- Some (Node.name_of_string queue);