Man Linux: Main Page and Category List

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.

   Public Member Functions
       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.

   Protected Member Functions
       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 SerialPort

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.com> Thread pool service for serial ports.

Constructor & Destructor Documentation

   ost::SerialService::SerialService (int pri = 0, size_t stack = 0, const
       char * id = NULL)
       Create a service thread for attaching serial ports. The thread begins
       execution with the first attached port.

       Parameters:
           pri of this thread to run under.
           stack stack size.
           id stack ID.

   virtual ost::SerialService::~SerialService () [virtual]
       Terminate the service thread and update attached objects.

Member Function Documentation

   int ost::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.

   virtual void ost::SerialService::onCallback (SerialPort * port) [protected,
       virtual]
       A virtual handler for adding support for additional callback events
       into SerialPort. Parameters:
           port serial port currently being evaluated.

   virtual void ost::SerialService::onEvent (void) [protected, virtual]
       A virtual handler for event loop calls. This can be used to extend
       event loop processing.

   virtual void ost::SerialService::onUpdate (unsigned char flag) [protected,
       virtual]
       A virtual handler for processing user defined update requests (1-254)
       which have been posted through Update. Parameters:
           flag of update request.

   void ost::SerialService::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. This can also be used to pass requests to the OnUpdate() event
       handler.

       Parameters:
           flag event for OnUpdate, termination, or reschedule.

Friends And Related Function Documentation

   friend class SerialPort [friend]

Author

       Generated automatically by Doxygen for GNU CommonC++ from the source
       code.