Seagull code documentation
Go back to user documentation: http://gull.sf.net/doc/
The purpose of this documentation is to explain Seagull interns. It is a summary to help developers make their way through Seagull and start contributing.
- C_Generator: core of Seagull. Contains the main functions.
- C_TrafficModel: internal model of Seagull to control the way new scenarios are created.
- C_CallContext: Management of the call context
- C_CallControl: Management of the calls. Pause, restart traffic, set call rate...
- C_ReadControl: Takes care of reading the protocol events, keyboard events and associated scheduling.
- generator-scenario: C_ScenarioControl provides methods relating to the execution of the scenario. C_Scenario takes care of reading and interpreting scenarios.
- ProtocolData.cpp: definition of generic data types (string, number, number64, ...) used by Seagull, as well as associated operator overloads.
- C_ProtocolFrame: virtual definition of a protocol and its messages. It contains the only objects that will be used by the generator
- C_Transport: generic definition of a transport
- C_CommandAction: Class from which derives all classes implementing an action. Start here if you want to add one.
- C_DisplayObject: Class that displays various screens (statistics, help, traffic, ...)
There are 5 threads in Seagull:
- One thread that handles the whole traffic,
- One thread for the keyboard,
- One thread for the tool display,
- One thread for the logs,
- One thread for the statistics. They are handled in generator-core module
- Handled in module xml-parser
- XML files are parsed by C_XmlParser
- XML data are represented as a tree of elements (based on stl types): (<TAG (FIELD=“VALUE”)*> <>)*
- Useful functions in C_XmlData allows to get the name of a tag, retrieve the value of a field or the list (stl) of element under one element.
- C_TransIP (module library-trans-ip) implements the transport, based on virtual object C_Transport (module transport-frame) Done/Declared in conf file.
- Channel = link between one protocol and one transport, with an open command for the transport
- Automatic session based: possible to open several channels (using same or different protocols), but only the first channel used can be server.
Generated on Wed Mar 7 14:57:50 2007 for Seagull by
1.4.6