package amqp-client-async

  1. Overview
  2. Docs

This method publishes a message to a specific exchange. The message will be routed to queues as defined by the exchange configuration and distributed to any active consumers when the transaction, if any, is committed.

type t = {
  1. exchange : exchange_name;
    (*

    Specifies the name of the exchange to publish to. The exchange name can be empty, meaning the default exchange. If the exchange name is specified, and that exchange does not exist, the server will raise a channel exception.

    *)
  2. routing_key : Amqp_client_lib.Types.shortstr;
    (*

    Specifies the routing key for the message. The routing key is used for routing messages depending on the exchange configuration.

    *)
  3. mandatory : Amqp_client_lib.Types.bit;
    (*

    This flag tells the server how to react if the message cannot be routed to a queue. If this flag is set, the server will return an unroutable message with a Return method. If this flag is zero, the server silently drops the message.

    *)
  4. immediate : Amqp_client_lib.Types.bit;
    (*

    This flag tells the server how to react if the message cannot be routed to a queue consumer immediately. If this flag is set, the server will return an undeliverable message with a Return method. If this flag is zero, the server will queue the message, but with no guarantee that it will ever be consumed.

    *)
}
val init : exchange:'a -> routing_key:exchange_name -> mandatory:Amqp_client_lib.Types.shortstr -> immediate:Amqp_client_lib.Types.bit -> unit -> Amqp_client_lib.Types.bit -> t
val request : (Framing.t * Framing.channel_no) -> (t * Content.t * string) -> unit Thread.Deferred.t