CProtocolStack#include "CProtocolStack.h"
The CProtocolStack class encapsulates supervisory access to the LayGO
protocol stack. There should be only one CProtocolStack object in
existence at any time.
CProtocolStack simplifies stack control into just 2 operations:
Start() takes a list of configuration file names and, optionally, the name of
an alternate service database. It configures, intializes and enables the
protocol stack and initializes the service database. If a failure occurs
configuring the stack with any file in the file list, a CStackConfigurationException
is thrown. If any other error is encountered, a CStackException is thrown.
Stop() undoes everything done by Start().
This results in the stack initialization code shown below:
try
{
CProtocolStack stack;
stack.Start(cfgCount, cfgList);
Process();
stack.Stop();
}
catch (CStackConfigurationException & exception)
{
cerr << "Stack configuration failure with file '"
<< exception.GetFileName()
<< "': "
<< exception.GetMessage()
<< "."
<< endl;
}
catch (CStackException & exception)
{
cerr << "Stack initialization failure: "
<< exception.GetMessage()
<< "."
<< endl;
}