Tame is a new event-based system for managing concurrency in network applications. Code written with Tame abstractions does not suffer from the “stackripping” problem associated with other event libraries. Like threaded code, tamed code uses standard control flow, automatically-managed local variables, and modular interfaces between callers and callees. Tame’s implementation consists of C++ libraries and a source-to-source translator; no platform-specific support or compiler modifications are required, and Tame induces little runtime overhead. Experience with Tame in real-world systems, including a popular commercial Web site, suggests it is easy to adopt and deploy.
Maxwell N. Krohn, Eddie Kohler, M. Frans Kaashoek