Next: 3.4 Concurrent Process Decomposition
Up: 3 FCM Detailed Design
Previous: 3.2 Receiver Module
  Contents
Subsections
- Module Name:
- rami-logger
- Purpose:
- The rami-logger module provides the user with a log of the queue size and
on the router as a function of time.
- Responsibilities:
- The rami-logger module is responsible for:
- Reading the current queue size, in both bytes and packets, and
the value of of
from the sch_qsize module at a user
specified time interval.
- Writing the current time, current queue size, in both bytes
and packets, the number of packets transferred since the last dump, and
the value of
to a log file. This will be in
the NETLOG format.
- Allowing the user to specify a filename to write the log file
to.
- Allowing the user to specify the time interval (with a resolution of
100ms, and intervals of 100ms up to 1 hour) at which readings will be
made of the above information.
- Allowing the user to specify how long the log will last. The maximum
time for any log is 24 hours.
- Collaboration:
- The rami-logger module collaborates with:
- sch_qsize (the router module)
- SRS References:
- 3.1.1.6a, 3.1.1.6b, 3.1.1.6c, 3.1.1.6d
The Queue Size Logging Module, rami-logger, is itself decomposed into
three separate modules. Each module is responsible for a particular task
needed for the logging. The modules are listed here. Note that this is a user
space application, and dose not run in the kernel. Information is extracted
from the file /proc/net/fcm_queue as specified in section
6.1.
rami-logger
- Module Name:
- rami-logger
- Purpose:
- This module provides the overall control of the
logging, and interacts with the user.
- Responsibilities:
- This module is responsible for:
- Parsing the command-line arguments given by the user.
- Validating the arguments given and returning an error if
incorrect or insufficient arguments were given.
- Beginning the logging.
- Ending the logging at the time specified by the user.
- Reading and writing data at the correct interval.
- Collaboration:
- This module collaborates with:
- SRS References:
- 3.1.1.6a, 3.1.1.6c, 3.1.1.6d
input
- Module Name:
- input
- Purpose:
- This module reads data from the Router's data file.
- Responsibilities:
- This module is responsible for:
- Opening the input file for reading.
- Locating the correct fields needed for logging.
- Parsing the input file for the data required.
- Closing the input file.
- Collaboration:
- This module collaborates with:
- SRS References:
- 3.1.1.6b
output
- Module Name:
- output
- Purpose:
- This module writes data in the NETLOG file format.
- Responsibilities:
- This module is responsible for:
- Opening the output file for writing.
- Writing data in the NETLOG file format.
- Writing the NETLOG header at the beginning of the output file.
- Closing the output file.
- Collaboration:
- This module collaborates with:
- SRS References:
- 3.1.1.6a, 3.1.1.6b
Next: 3.4 Concurrent Process Decomposition
Up: 3 FCM Detailed Design
Previous: 3.2 Receiver Module
  Contents