send method

  1. @override
Future send(
  1. String? correlationId,
  2. MessageEnvelope message
)

Send method are sends a message into the _queue. Parameters:

  • correlationId (optional) transaction id to trace execution through call chain.
  • message a message envelop to be sent. Return Future that recive null if all ok Throws error

Implementation

@override
Future send(String? correlationId, MessageEnvelope message) async {
  _checkOpened(correlationId);

  var messageProperties = amqp.MessageProperties();
  messageProperties.contentType = 'text/plain';

  if (message.correlation_id != null) {
    messageProperties.corellationId = message.correlation_id;
  }
  if (message.message_id != null && message.message_id.isNotEmpty) {
    messageProperties.messageId = message.message_id;
  }
  messageProperties.persistent = _persistent;
  if (message.message_type != null) {
    messageProperties.type = message.message_type;
  }
  _queue!.publish(message.message!, properties: messageProperties);

  counters.incrementOne('_queue.' + name + '.sent_messages');
  logger.debug(
      message.correlation_id, 'Sent message %s via %s', [message, this]);
}