Skip to content

Writing XIA Applications

dtnaylor edited this page Jan 18, 2013 · 32 revisions

TODO: New intro.

Table of Contents

XIA Socket API

The Xsockets API was designed to be as similar as possible to the standard socket library to make porting applications easier. It provides 4 socket types:

  • XSOCK_STREAM: similar to TCP style sockets
  • XSOCK_DGRAM: similar to UDP style sockets
  • XSOCK_RAW: similar to the raw sockets used in ping and traceroute
  • XSOCK_CHUNK: a new socket type used for content such as video
Differences from standard sockets
  • Naming and Addressing: XIA does not use IP addresses, it instead uses [Directed] to specify destinations. TODO we need a link to a description of DAGs, HIDs, ADs, etc...
  • The Xsockets API does not implement non-blocking sockets in the current release. However, because the xsocket identifier is a standard socket, the normal poll and select functions can be used to provide similar behavior.

API Documentation

Configuration

TODO: Describe xsockconf.ini

DAG Manipulation

TODO: Finish

The XIA socket API calls take DAGs in one of two string formats: DAG and RE. Since constructing these strings for all but the simplest DAGs is moderately painful, we've also created DAG manipulation library to simplify the task.

Sometimes it's helpful to be able to see a visual representation of a DAG; to this end, we've created a DAG visualization tool.

DAG Format

TODO: finish

RE Format

TODO: finish

DAG Manipulation Library

TODO: finish

Annotated Examples



Previous: Running Sample Applications Next: Debugging

Clone this wiki locally