ost::SerialService - The SerialService is a thead service object that is meant to service attached serial
Contents
Constructor & Destructor Documentation
ost::SerialService::SerialService(intpri=0,size_tstack=0,constchar*id=NULL)
Create a service thread for attaching serial ports. The thread begins execution with the first attached
port.
Parameterspri of this thread to run under.
stack stack size.
id stack ID.
virtualost::SerialService::~SerialService()[virtual]
Terminate the service thread and update attached objects.
Detailed Description
The SerialService is a thead service object that is meant to service attached serial ports.
Multiple pool objects may be created and multiple serial ports may be attached to the same thread of of
execution. This allows one to balance threads and the serial ports they service.
The TTYPort and TTYService classes are used to form thread-pool serviced serial I/O protocol sets. These
can be used when one has a large number of serial devices to manage, and a single (or limited number of)
thread(s) can then be used to service the tty port objects present. Each tty port supports a timer
control and several virtual methods that the service thread can call when events occur. This model
provides for 'callback' event management, whereby the service thread performs a 'callback' into the port
object when events occur. Specific events supported include the expiration of a TTYPort timer, pending
input data waiting to be read, and 'sighup' connection breaks.
Author
David Sugar dyfet@ostel.comThread pool service for serial ports.
Member Function Documentation
intost::SerialService::getCount(void)[inline]
Get current reference count. This can be used when selecting the lead used service handler from a pool.
Returns
count of active ports.
virtualvoidost::SerialService::onCallback(SerialPort*port)[protected],[virtual]
A virtual handler for adding support for additional callback events into SerialPort.
Parametersport serial port currently being evaluated.
virtualvoidost::SerialService::onEvent(void)[protected],[virtual]
A virtual handler for event loop calls. This can be used to extend event loop processing.
virtualvoidost::SerialService::onUpdate(unsignedcharflag)[protected],[virtual]
A virtual handler for processing user defined update requests (1-254) which have been posted through
Update.
Parametersflag of update request.
voidost::SerialService::update(unsignedcharflag=0xff)
Notify service thread that a port has been added or removed, or a timer changed, so that a new schedule
can be computed for expiring attached ports. This can also be used to pass requests to the OnUpdate()
event handler.
Parametersflag event for OnUpdate, termination, or reschedule.
Name
ost::SerialService - The SerialService is a thead service object that is meant to service attached serial
ports.
Synopsis
#include <serial.h>
Inherits ost::Thread, and ost::Mutex.
PublicMemberFunctions
void update (unsigned char flag=0xff)
Notify service thread that a port has been added or removed, or a timer changed, so that a new
schedule can be computed for expiring attached ports.
SerialService (int pri=0, size_t stack=0, const char *id=NULL)
Create a service thread for attaching serial ports.
virtual ~SerialService ()
Terminate the service thread and update attached objects.
int getCount (void)
Get current reference count.
ProtectedMemberFunctions
virtual void onUpdate (unsigned char flag)
A virtual handler for processing user defined update requests (1-254) which have been posted through
Update.
virtual void onEvent (void)
A virtual handler for event loop calls.
virtual void onCallback (SerialPort *port)
A virtual handler for adding support for additional callback events into SerialPort.
Friends
class SerialPortAdditionalInheritedMembers