version date | 2004-01-10. All previous versions are hereby made obsolete. |
abstract | This is the documentation for nicname-proto.multithread. It is a prototype to explore multipeer server architecture with RPC and additionally RPC servers in separate threads. You may use it as an example how to create similar applications. nicname-proto does not belong to ECO32 simulator but is a stand-alone artefact. It led lateron to the development of nicname. nicname is the simulation of an ethernet LAN for ECO32. ECO32 is a instruction set simulation for a processor of that same name. nicname-proto.multithread and nicname were developed as a student's project in course "Mikroprozessortechnik II" (microprocessor technology II) at the University of Applied Sciences Giessen-Friedberg (Germany) in winter term 2003/2004. The course was led by Prof. Dr. Hellwig Geisse. |
license | public domain. This applies to this documentation and to all source code of nicname and nicname-proto, but says nothing about the licenses of the rest of ECO32. |
authors | Mathias Schäfer Matthias Ansorg |
table of contents |
nicname-proto is made of several programs which communicate via RPC. One of these program is of type "ViNet" (virtual network), the others of type "IfProxy" (interface proxy).
All IfProxy processes use the ViNet process as RPC server. The ViNet process uses all IfProxy processes as RPC servers.
Processes of type IfProxy implement the server functionality in a separate thread.
All RPC servers are iterative, not cocurrent.
Start ViNet process; nothing happens. Start multiple IfProxy processes, thereby giving the hostname for ViNet process and a message as parameters. When starting an IfProxy process, the ViNet process prints out the delivered message and makes all running IfProxy processes to print that same message, including the sending IfProxy process.