# Simple Asynchronous Messaging

- Introduction
- Installing/Configuring
  - Requirements
  - Installation
  - Runtime Configuration
  - Resource Types
- Predefined Constants
- Examples
  - Connections
  - Messages
  - Messaging operations
  - Publish/Subscribe and subscriptions to topics
  - Error handling
- SAM Functions
  - SAMConnection::commit — Commits (completes) the current unit of work
  - SAMConnection::connect — Establishes a connection to a Messaging Server
  - SAMConnection::__construct — Creates a new connection to a Messaging Server
  - SAMConnection::disconnect — Disconnects from a Messaging Server
  - SAMConnection::errno — Contains the unique numeric error code of the last executed SAM operation
  - SAMConnection::error — Contains the text description of the last failed SAM operation
  - SAMConnection::isConnected — Queries whether a connection is established to a Messaging Server
  - SAMConnection::peek — Read a message from a queue without removing it from the queue
  - SAMConnection::peekAll — Read one or more messages from a queue without removing it from the queue
  - SAMConnection::receive — Receive a message from a queue or subscription
  - SAMConnection::remove — Remove a message from a queue
  - SAMConnection::rollback — Cancels (rolls back) an in-flight unit of work
  - SAMConnection::send — Send a message to a queue or publish an item to a topic
  - SAMConnection::setDebug — Turn on or off additional debugging output
  - SAMConnection::subscribe — Create a subscription to a specified topic
  - SAMConnection::unsubscribe — Cancel a subscription to a specified topic
  - SAMMessage::body — The body of the message
  - SAMMessage::__construct — Creates a new Message object
  - SAMMessage::header — The header properties of the message