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)