Download Complete Source
Code (amsource.zip)
View Individual Source Files
AM Source Code
File | Description |
---|---|
am.h
am.cpp |
Implementation of several AM2 API.
Our implementation covers over 80% of the API. |
amlib.mak | Standard makefile to build AMVI. |
amns.h
amns.cpp |
Implementation of the name service extensions the
AM2.
|
The active messages layer. Only one layer is created per process. | |
cBundle.h
cBundle.cpp |
Implementation of AM bundles. Bundles contain endpoints and start up two seperate threads per bundle, a thread to receive incoming connections to an endpoint in the bundle and a thread to receive incoming active messages for an endpoint in the bundle. |
cConnection.h
cConnection.cpp |
Implementation of an active messages connection. This class handles setting up connections with remote endpoints and acts as a request/reply transport. It uses a sliding window for flow control. |
cCriticalSection.h | Critical section guard. Uses NT's EnterCriticalSection and LeaveCriticalSection functions. |
cEndpoint.h
cEndpoint.cpp |
Implementation of AM endpoints. Each endpoint contains a handler table for registered receive and reply handlers, and a translation table for mapping remote endpoints. |
cFifo.h
cFifo.cpp |
General purpose FIFO queue. This is used for non-critical path fifo activities, such as holding a list of connections that are waiting to be retired. |
cHashTable.h
cHashTable.cpp |
General purpose hashtable. This is used to hold a list of all active connections so that they can be looked up on asynchronous error. |
cMutex.h | General purpose semaphore. |
cPacket.h
cPacket.cpp |
The active message packet. |
cStack.h
cStack.cpp |
This is a simple stack class that is used for critical path storing and retrieving of free packets, etc. |
Header.h | Defines AM packet header. |
Node.h | This is used by both the cHashTable and cFifo classes as a node in their data structure. |
stdam.h | AM defines common to all classes. |
File | Description |
---|---|
amtest.mak | Standard makefile to build AMTest. |
handlers.h
handlers.cpp |
AM handlers for the specific tests. |
main.cpp | Main test file. For more information on the test
suite, please refer to the Description of ACTest section of the Using the Toolkit webpage. |
File | Description |
---|---|
cCriticalSection.h | General purpose guard for critical sections. |
cHashTable.h
cHashTable.cpp |
General purpose hashtable. |
cNS.h
cNS.cpp |
Implementation of the name service. |
ns_server.cpp | VI specific implementation of name service functions. |
ns_server.mak | Standard makefile to build the name service. |
Back to Main
Page
Website created by:
Ted Bonkenburg (
tb@cs.cornell.edu) and Vicky Weissman (
vickyw@cs.cornell.edu)