This document is for Kombu's development version, which can be significantly different from previous releases. Get the stable docs here: 5.3.

# Transport Base Class - `kombu.transport.base`

Base transport interface.

## Message

class kombu.transport.base.Message(body=None, delivery_tag=None, content_type=None, content_encoding=None, delivery_info=None, properties=None, headers=None, postencode=None, accept=None, channel=None, **kwargs)

  Base class for received messages.

  ### Keyword Arguments:

  > channel (ChannelT): If message was received, this should be the

  >   channel that the message was received on.

  > body (str): Message body.

  > delivery_mode (bool): Set custom delivery mode.

  >   Defaults to `delivery_mode`.

  > priority (int): Message priority, 0 to broker configured

  >   max priority, where higher is better.

  > content_type (str): The messages content_type. If content_type

  >   is set, no serialization occurs as it is assumed this is either a binary object, or you’ve done your own serialization. Leave blank if using built-in serialization as our library properly sets content_type.

  > content_encoding (str): The character set in which this object

  >   is encoded. Use “binary” if sending in raw binary objects. Leave blank if using built-in serialization as our library properly sets content_encoding.

  > properties (Dict): Message properties.

  > headers (Dict): Message headers.

  payload

    The decoded message body.

  channel
  delivery_tag
  content_type
  content_encoding
  delivery_info
  headers
  properties
  body
  acknowledged

    Set to true if the message has been acknowledged.

  ack(multiple=False)

    Acknowledge this message as being processed.

    This will remove the message from the queue.

    Raises:

      MessageStateError – If the message has already been: acknowledged/requeued/rejected.

  reject(requeue=False)

    Reject this message.

    The message will be discarded by the server.

    Raises:

      MessageStateError – If the message has already been: acknowledged/requeued/rejected.

  requeue()

    Reject this message and put it back on the queue.

    #### Warning:

    > You must not use this method as a means of selecting messages to process.

    raises MessageStateError:

      If the message has already been: acknowledged/requeued/rejected.

  decode()

    Deserialize the message body.

    Returning the original python structure sent by the publisher.

    #### Note:

    > The return value is memoized, use _decode to force re-evaluation.

## Transport

class kombu.transport.base.Transport(client, **kwargs)

  Base class for transports.

  client = None

    The `Connection` owning this instance.

  default_port = None

    Default port used when no port has been specified.

  recoverable_connection_errors

    Optional list of connection related exceptions that can be recovered from, but where the connection must be closed and re-established first.

    If not defined then all `connection_errors` and `channel_errors` will be regarded as recoverable, but needing to close the connection first.

  recoverable_channel_errors

    Optional list of channel related exceptions that can be automatically recovered from without re-establishing the connection.

  connection_errors = (<class 'amqp.exceptions.ConnectionError'>,)

    Tuple of errors that can happen due to connection failure.

  channel_errors = (<class 'amqp.exceptions.ChannelError'>,)

    Tuple of errors that can happen due to channel/method failure.

  establish_connection()
  close_connection(connection)
  create_channel(connection)
  close_channel(connection)
  drain_events(connection, **kwargs)