Message Management Module

Overview

Implement a mechanism to manage messages to:

Assign sequence numbers to messages as they are sent out of the communications port.

Match CSP responses to these messages using the sequence number and the message type.

Support multiple CPUs to allow for message traffic to both active and standby matrices. Design your Message Management module so the host knows when to send messages intended for the formerly active Matrix Controller card to the now active Matrix Controller. Make this module inform the Configuration module when the Poll message indicates that the active Matrix Controller is ready for configuration.

Sequence Number Logic

You should include in your Message Management Module a mechanism to assign sequence numbers to messages as they are sent out the communications port, and for matching these sequence numbers to CSP responses, using the message type.

Timeout Logic

You should include message timeout logic in the Communication Module. Timeout values can vary considerably, because with one configuration message, you can configure one channel or many channels that may span many line cards.

Timer Logic

The host determines whether to use multiple timers or a single, global timer. A global timer must be long enough so that a configuration message sent to the CSP would have enough time to complete. If the host uses multiple timers, some experimentation with the configuration messages is required.

Message Distribution Logic

The Message Management module should distribute the messages from the CSP to the modules that need them. You may want to design your modules so that a message can be sent to more than one other module.