ost::BayonneMsgport Class Reference
Bayonne Msgports are used to queue and post session events which normally have to be passed through another thread context.
More...
#include <bayonne.h>
List of all members.
Detailed Description
Bayonne Msgports are used to queue and post session events which normally have to be passed through another thread context.
This can happen for a thread termination event, for example, since the thread terminating must be joined from another thread. Some drivers use session specific msgports to process all channel events.
- Author:
- David Sugar <dyfet@gnutelephony.org> Msgport event queing and dispatch.
Constructor & Destructor Documentation
virtual ost::BayonneMsgport::~BayonneMsgport |
( |
|
) |
[virtual] |
Create a message port and optionally bind it to a given driver.
- Parameters:
-
| driver | to bind msgport to. |
Member Function Documentation
virtual timeout_t ost::BayonneMsgport::getTimeout |
( |
Event * |
event |
) |
[protected, virtual] |
Determine sleep time to schedule for waiting, unless an update occurs to force rescheduling.
- Returns:
- shortest timeout based on session timers.
- Parameters:
-
| event | to pass when timeout occurs. |
void ost::BayonneMsgport::initial |
( |
void |
|
) |
|
Initialize msgport, determine which sessions it will perform timing for based on the driver it is bound to.
size_t ost::BayonneMsgport::onPeek |
( |
void * |
buf |
) |
[protected] |
size_t ost::BayonneMsgport::onPost |
( |
void * |
buf |
) |
[protected] |
size_t ost::BayonneMsgport::onWait |
( |
void * |
buf |
) |
[protected] |
void ost::BayonneMsgport::run |
( |
void |
|
) |
[protected] |
void ost::BayonneMsgport::shutdown |
( |
void |
|
) |
[protected] |
Send shutdown event to the msgport.
void ost::BayonneMsgport::update |
( |
void |
|
) |
|
Request retiming.
This is used for msgports that are per session to get the session to be retimed after an event has been directly posted outside the msgport.
Member Data Documentation
The documentation for this class was generated from the following file: