Programming Guide
=================

This guide covers programming WAMP applications with **Crossbar.io**.

Programming WAMP application components is tied to the particular client
library you're using. The `Autobahn <https://crossbar.io/autobahn/>`__ family
of WAMP client libraries is provided by us.

.. toctree::
   :maxdepth: 2
   :caption: Usage

   ../Starting-and-Stopping-Crossbar.io
   ../Configuring-Crossbario-Logging

.. toctree::
   :maxdepth: 2
   :caption: General

   ../URI-Format
   ../Logging-in-Crossbar.io
   ../Error-Handling
   ../Session-Metaevents-and-Procedures
   ../Session-Statistics
   ../Development-with-External-Devices

.. toctree::
   :maxdepth: 2
   :caption: Publish and Subscribe

   ../How-Subscriptions-Work
   ../Basic-Subscriptions
   ../Subscriber-Black-and-Whitelisting
   ../Publisher-Exclusion
   ../Publisher-Identification
   ../Pattern-Based-Subscriptions
   ../Subscription-Meta-Events-and-Procedures
   ../Event-History
   ../Retained-Events

.. toctree::
   :maxdepth: 2
   :caption: Remote Procedure Calls

   ../How-Registrations-Work
   ../Basic-Registrations
   ../Caller-Identification
   ../Progressive-Call-Results
   ../Pattern-Based-Registrations
   ../Shared-Registrations
   ../Registration-Meta-Events-and-Procedures

.. toctree::
   :maxdepth: 2
   :caption: Security

   ../End-to-End-Encryption
   ../Cryptobox-Payload-Encryption

.. toctree::
   :maxdepth: 2
   :caption: Integration Examples

   ../Adding-Real-Time-to-Django-Applications
   ../AngularJS-Application-Components
   ../Database-Programming-with-PostgreSQL
   ../JavaScript-Frameworks-and-Libraries

See also:

* `Programming with Autobahn|Python <https://autobahn.readthedocs.io/en/latest/wamp/programming.html>`_
* `Programming with Autobahn|JavaScript <https://github.com/crossbario/autobahn-js/blob/master/doc/programming.md>`_
