Main Page | Class Hierarchy | Class List | File List | Class Members

SST Library Documentation

Structured Stream Transport, or SST, is a new transport protocol designed to address the needs of modern applications that need to juggle many asynchronous communication activities in parallel, such as downloading different parts of a web page simultaneously and playing multiple audio and video streams at once. This documentation is for libsst, a library that implements the SST protocol in user space. (Kernel-level implementations of SST are certainly possible but do not exist yet.) Please see http://pdos.csail.mit.edu/uia/sst/ for more information on the SST protocol itself.

This library implementation of SST is written in C++ and makes heavy use of Trolltech's Qt 4 framework for convenience and portability across platforms. You can use libsst in applications not based on Qt 4, but in this case you will still have to link your application with the QtCore and QtNet libraries along with libsst (QtGui is not necessary), and re-implement the QAbstractEventDispatcher class to provide the basic asynchronous event services that libsst needs, such as registering the UDP socket descriptors that SST uses with your main event loop.

Here is a quick summary of how to use libsst for communication in your application:

  1. First create a instance of the SST::Host class to hold per-host state. You can run multiple virtualized copies of SST in one process for simulation or other purposes by creating several Host objects.
  2. Set up a server to accept incoming connections, by creating an instance of SST::StreamServer and calling its SST::StreamServer::listen() method. In place of the 16-bit port numbers used by TCP and UDP, you will need to provide a service name and protocol name for dispatching incoming clients to different servers.
  3. To initiate an outgoing connection from a client to the server, create an SST::Stream object and call SST::Stream::connectTo(). You can indicate the target host in two ways:

The SST protocol and libsst prototype implementation were developed as part of the Unmanaged Internet Architecture (UIA) project at MIT; please see http://pdos.csail.mit.edu/uia/ for more information.


Generated on Wed Mar 28 11:48:05 2007 for SST by doxygen 1.3.4