wiki:WARPnet1/Architecture

Version 3 (modified by sgupta, 14 years ago) (diff)

--

Architecture of WARPnet Testing Framework

The Framework is built around a server-client architecture. The full system is built in Python including user scripts. The WARPnet server is at the heart of all interactions and responsible for all data transfer between the server and the clients.

No image "Architecture.jpg" attached to WARPnetFramework/Files

Server<->Client Communication

All data between the server and the client is currently handled as pickled Python dictionaries. The most important field is pktType which determines how the server will deal with the data.

The server itself does not understand the nature of the data from the clients to the nodes nor does it need to.

The basic data transfer blocks is a packed byte structures that are understood by both nodes and controllers. Each structure has a predefined structID. Each controller must register structIDs that is interested in hearing with the server. The server is responsible for filtering data it receives from all the nodes and pass it to controllers to all the controllers that are registered for those structIDs. The server itself does not understand the nature of the data but just that the first byte of transfer is the structID and the second byte of transfer is the nodeID that is destined to.