Overview Graphic

Pony Express is a cross-platform library providing inter-module, inter-application, and inter-computer communication. Using Pony Express you can develop modular applications that do not depend on sharing the same process space. Pony Express uses a Post Office metaphore where your modules register POBoxes that can be used to send messages to eachother. Once two applications are connected your application no longer needs to concern itself with whether or not a module is within the same process space, on the same computer or across the network. You no longer have to maintain socket connections, packetize your data, and manage other low level details associated with network programming. You can seemelessly connect different architectures using different byte ordering network libraries.

Pony Express works under Linux, Mac OS X, and IRIX and requires the Qt library by TrollTech.


The goal of this API is to allow n number of modules to receive messages and act on those messages without needing module A to know anything about module B.

For example, lets say you have a simulation setup where a car is driving on a road. If the car runs out of gas, a refueling truck is sent out. Along with this, you want all the cars in the simulation to know the car is stopped and automatically drive around it. Utilizing Pony Express will allow the car that runs out of gas to send a message out saying "Out of Fuel at 2 mile mark". That is all the communication it would need to do. The Post Office would get this message and, depending on what other modules want to receive messages about the car, will send that information to them. Following this example, the module controlling the refueling cars would get the message, along with all the modules controlling the separate cars on the road. Every module will then be able to adjust as needed to the stopped car.

What happens when the different modules get the message is completely up to the implementaion of that module and is not dependant on any other modules. This allows for maximum versitility of the modules connected via the Pony Express System.

Pony Express provides the following features:

  1. Point to Point communication
    1. Same Computer, Same application, intermodule communication
      1. Done via pointer passing (fastest)
    2. Intercomputer or between multiple applications on one computer
      1. Done via sockets
  2. Point to Group communication
    1. Done via a group "mailing list" from the Post Office. Anyone who subscribes to the group gets its mail.

Hosted by: