TrAP; the Transport Abstraction Package is a library that provides a message-based point-to-point link between two nodes using one or more transports, the exact type and implementation of which is abstracted away from the application. The main usefulness of such an abstraction level is that the application does not need to concern itself with managing different transports, types, keepalives and protocols, but can use an existing and tested codebase for it.
TrAP provides a number of features to ease development of applications, while keeping maximum flexibility:
Trap works on a client/server model, and the high level API is generally based on sockets (albeit message-based, and not streaming). A server opens up a Trap Endpoint for "listening". The client connects to the server; by doing so, a new Endpoint object is generated on the server to hold the other end of the connection. The pair of endpoints can then communicate freely.
com.ericsson.research.trap | The main API package for Trap. |
com.ericsson.research.trap.auth | Contains interfaces used for authenticating Trap sessions. |
com.ericsson.research.trap.delegates | Provides interfaces that allow Trap to give feedback to the application when events occur. |
com.ericsson.research.trap.examples | This package contains a set of examples on how to use Trap. |
com.ericsson.research.trap.spi | Interfaces for extending Trap with new transport, keepalive methods, protocols or additional methods. |
com.ericsson.research.trap.spi.queues | |
com.ericsson.research.trap.utils | A collection of compatibility utilities. |