|
|
Q.921 ISDN Layer 2 implementation on top of a hardware HDLC interface
ISDNQ921 (const NamedList& params, const char* name = 0, ISDNQ921Management* mgmt = 0, u_int8_t tei = 0)
| ISDNQ921 |
Constructor Initialize this object and the component
Parameters:
params | Layer's and TelEngine::ISDNLayer2 parameters |
name | Name of this component |
mgmt | TEI management component |
tei | Value of TEI for this component |
~ISDNQ921 ()
| ~ISDNQ921 |
[virtual]
Destructor
bool initialize (const NamedList* config)
| initialize |
[virtual]
Configure and initialize Q.921 and its interface
Parameters:
config | Optional configuration parameters override |
Returns: True if Q.921 and the interface were initialized properly
Reimplemented from SignallingComponent.
inline u_int64_t dataTimeout ()
| dataTimeout |
[const]
Get the timeout of a data frame. After that, a higher layer may retransmit data
Returns: The timeout of a data frame
bool multipleFrame (u_int8_t tei, bool establish, bool force)
| multipleFrame |
[virtual]
Implements Q.921 DL-ESTABLISH and DL-RELEASE request primitives If accepted, the primitive is enqueued for further processing This method is thread safe
Parameters:
tei | This layer's TEI |
establish | True to establish. False to release |
force | True to establish even if we already are in this mode. This parameter is ignored if establish is false |
Returns: True if the request was accepted
Reimplemented from ISDNLayer2.
bool sendData (const DataBlock& data, u_int8_t tei, bool ack)
| sendData |
[virtual]
Implements Q.921 DL-DATA and DL-UNIT DATA request primitives Send data through the HDLC interface This method is thread safe
Parameters:
data | Data to send |
tei | The TEI to send with the data frane |
ack | True to send an acknowledged frame, false to send an unacknowledged one |
Returns: False if the request was not accepted or send operation failed
Reimplemented from ISDNLayer2.
inline bool sendSabme ()
| sendSabme |
Send a SABME frame to reset the layer
Returns: True if a SABME frame was sent
void cleanup ()
| cleanup |
[virtual]
Emergency release. Send 'disconnect' command. Reset all data. Set state to 'Released' This method is thread safe
Reimplemented from ISDNLayer2.
inline void setDebug (bool printFrames, bool extendedDebug)
| setDebug |
Set debug data of this layer
Parameters:
printFrames | Enable/disable frame printing on output |
extendedDebug | Enable/disable hex data dump if print frames is enabled |
void destroyed ()
| destroyed |
[protected virtual]
Detach links. Disposes memory
Reimplemented from SignallingComponent.
void timerTick (const Time& when)
| timerTick |
[protected virtual]
Method called periodically to check timeouts This method is thread safe
Parameters:
when | Time to use as computing base for events and timeouts |
Reimplemented from SignallingComponent.
bool receivedPacket (const DataBlock& packet)
| receivedPacket |
[protected virtual]
Process a packet received by the receiver's interface This method is thread safe
Parameters:
packet | The received packet |
Returns: True if message was successfully processed
Reimplemented from SignallingReceiver.
bool receivedFrame (ISDNFrame* frame)
| receivedFrame |
[protected]
Process the frame received
Parameters:
frame | Pointer to frame to process |
Returns: True if the frame was processed
bool notify (SignallingInterface::Notification event)
| notify |
[protected virtual]
Process a notification generated by the attached interface This method is thread safe
Parameters:
event | Notification event reported by the interface |
Returns: True if notification was processed
Reimplemented from SignallingReceiver.
void reset ()
| reset |
[protected]
Reset object if not in Released state. Drop all frames This method is thread safe
Generated by: paulc on bussard on Fri Apr 1 18:17:10 2011, using kdoc 2.0a54. |