# IceStorm

## Overview

### module IceStorm

A messaging service with support for federation. In contrast to most other messaging or event services, IceStorm supports typed events, meaning that broadcasting a message over a federation is as easy as invoking a method on an interface.

## Interface Index

Topic
  Publishers publish information on a particular topic.
TopicManager
  A topic manager manages topics, and subscribers to topics.

## Exception Index

AlreadySubscribed
  This exception indicates that an attempt was made to subscribe a proxy for which a subscription already exists.
BadQoS
  This exception indicates that a subscription failed due to an invalid QoS.
LinkExists
  This exception indicates that an attempt was made to create a link that already exists.
NoSuchLink
  This exception indicates that an attempt was made to remove a link that does not exist.
NoSuchTopic
  This exception indicates that an attempt was made to retrieve a topic that does not exist.
TopicExists
  This exception indicates that an attempt was made to create a topic that already exists.

## Structure Index

LinkInfo
  Information on the topic links.

## Sequence Index

LinkInfoSeq
  A sequence of LinkInfo objects.

## Dictionary Index

QoS
  This dictionary represents quality of service parameters.
TopicDict
  Mapping of topic name to topic proxy.

## Sequences

sequence<LinkInfo> LinkInfoSeq

  A sequence of LinkInfo objects.

  #### Used By

  Topic::getLinkInfoSeq

## Dictionaries

dictionary<string, string> QoS

  This dictionary represents quality of service parameters.

  #### Used By

  Topic::subscribe
  Topic::subscribeAndGetPublisher

  #### See Also

  Topic::subscribe

dictionary<string, Topic*> TopicDict

  Mapping of topic name to topic proxy.

  #### Used By

  TopicManager::retrieveAll